===========2016年10月29日更新=================
本次在笔记本中安装VS2015和OPENCV 3.1.0参照毛新云的教程的出现了诸多问题,
最后按照这篇博客的步骤才算安装成功!
==========================================
常见案例、错误及解决方法:
=====================================================================
案例:编译VC++程序的时候出现如下提示警告:
warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
警告解释:
因为只是一个warning,不影响正常编译,所以并没有引起大家多大的关注。我一开始的时候也是如此。但是后来出现的次数多了,发现这个警告和在程序Debug的时候
无法停在断点,刷刷刷就过去了根本无法进行Debug。而罪魁祸首就是这个warning,改正了这个warning就能进行Debug了。下面讲述我是怎么消除这个警告的。
这个警告的意思是:在该文件中有一个或多个字符不是Unicode字符!要求把这个字符变成Unicode字符。
难题:在编译信息里并没有提示是哪个字符,或者是在哪一行里出现的该字符。查找起来非常的难,甚至是不可能的任务!
解决方法:
打开出现warning的文件(在output栏双击警告处),Ctrl+A全选,然后在文件菜单:file->advanced save options ,在弹出的选项中选择新的编码方式为:UNICODE codepage 1200 ,点击确定,问题就解决了。
=======================================================================
案例:无法启动此程序 因为计算机中丢失opencv_core310d.dll,或者类似下面的扩展文件。
opencv_calib3d310d.dll
opencv_core310d.dll
opencv_features2d310d.dll
opencv_flann310d.dll
opencv_highgui310d.dll
opencv_imgcodecs310d.dll
opencv_imgproc310d.dll
opencv_ml310d.dll
opencv_objdetect310d.dll
opencv_photo310d.dll
opencv_shape310d.dll
opencv_stitching310d.dll
opencv_superres310d.dll
opencv_ts310d.dll
opencv_video310d.dll
opencv_videoio310d.dll
opencv_videostab310d.dll
解决方法:
参见本人上的一篇博客的文末:OpenCV3.0.1源码编译及自带样例工程代码编译
===========================================================================
案例一:IplImage格式转换成Mat格式
错误提示:
error C2664: 'cv::Mat::Mat(const cv::cuda::GpuMat &)' : cannot convert argument 1 from 'IplImage *' to 'const cv::Mat &'
Reason:cannot convert from 'IplImage *' to 'const cv::Mat'
解决方法:
Mat img;
IplImage *frame=&(IplImage)img;//frame为IplImage 类型,img为Mat类型
==========================================================================
案例二:首次运行没有错误,再次运行且没有修改代码时出现下列错误
错误提示:
LINK : fatal error LNK1168: cannot open C:\Users\Administrator\Documents\Visual Studio 2013\Projects\OpenCv3\C7_OpenCV\Debug\C7_OpenCV.exe for writing
解决方法:意思不能打开xxx.exe文件用于改写,说明xxx.exe文件正在运行,所以只要关闭第一次运行时生成的图形窗口即可,这个问题我遇到过多次,每次都是重启VS2013很麻烦,偶然试着将先前生成的图形窗口关闭后再次运行即恢复正常。
================================================================
案例三:OpenCV3.1 CMake编译报错Failed to download opencv_ffmpeg.dll
解决方案: 转自http://stackoverflow.com/questions/32932915/opencv-3-0-0-configure-fails-ffmpeg-not-downloaded/33095689#33095689
1、将opencv\build\bin\下的opencv_ffmpeg310.dll改名为opencv_ffmpeg.dll;
opencv_ffmpeg310_64.dll改名为opencv_ffmpeg_64.dll,然后拷贝到opencv\sources\3rdparty\ffmpeg\
2、将opencv\sources\3rdparty\ffmpeg\ffmpeg.cmake文件内容用记事本修改为
3、点击执行Cmake-gui
==================================================================
案例四:OpenCV3.0 CMake生成工程项目过程中遇到下载ippicv_windows_20151201.zip错误
解决办法:
(1)手动下载ippicv_windows_20141027.zip
下载网址在这里:http://osdn.jp/projects/sfnet_opencvlibrary/downloads/3rdparty/ippicv/ippicv_windows_20141027.zip/
最新版本:ippicv_windows_20151201.zip
(2)将上面的ZIP文件放在OpenCV300的目录下面,
笔者的路径是下面这个:D:\OpenCV300\opencv\sources\3rdparty\ippicv\downloads\windows-b59f865d1ba16e8c84124e19d78eec57
(3)打开CMake,重新生成工程文件即可。
(4)最终配置成功如下图: