1. 安装与配置
http://opencv.org/downloads.html 下载windows VERSION2.4.9版本或最新的VERSION3.1.0,
V2.4.9的资料比较多且对应使用的的VS2010也是用的最广泛的,也比较稳定,最新VERSION3.1.0 我配合VS2013使用。
VS2013的配置可以参考VS2010的配置,其中添加附加依赖项的地方把库名字“249”全都改成“310”,即可。
1.1 设置环境变量:
计算机->(右键)属性->高级系统设置->高级(标签)->环境变量->(双击)path(用户,系统里面的path任选其一)->在变量值里面添加相应的路径,
例如我的是:
D:\Program Files(x86)\opencv\build\x64\vc10\bin;
D:\Program Files (x86)\opencv\build\x86\vc10\bin;
打开属性管理器: <视图>--<属性管理器>,打开如下图所示
1.2 属性管理器”工作区中,点击项目 ->Debug|Win32->Microsoft.Cpp.Win32.userDirectories(反键属性,或者双击)即可打开属性页面。
【通用属性】 ->【VC++目录】 ->【包含目录中】:D:\Program Files %28x86%29\opencv下的三个路径
1.3 属性管理器”工作区中,点击项目 ->Debug|Win32->Microsoft.Cpp.Win32.userDirectories(反键属性,或者双击)即可打开属性页面。
【通用属性】 ->【VC++目录】 ->【库目录】 添加 D:\ProgramFiles%28x86%29\opencv\build\x86\vc10\lib
1.4 属性管理器”工作区中,点击项目 ->Debug|Win32->Microsoft.Cpp.Win32.userDirectories(反键属性,或者双击)即可打开属性页面。
【通用属性】 ->【链接器】->【输入】->【附加的依赖项】
添加的库列表如下:
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
问题 1
在vs2010中添加opencv库之后,编译工程报错:
opencv_highgui244.lib(opencv_highgui244.dll): fatal error LNK1112:模块计算机类型“x64”与目标计算机类型“X86”冲突。
解决方法:
因为在库目录中如果选择了
D:\Program Files%28x86%29\opencv\build\x64\vc10\lib
但是实际你的程序编译平台是win32即X86的,就会出现这个问题。
把库目录路径改成
D:\Program Files%28x86%29\opencv\build\x86\vc10\lib
即可解决此问题。
如果的确是用的64位平台则按下面的方法就可以解决以上报错。
VS的菜单栏中选择生成->配置管理器要选择x64方式,而不是win32, 如下图在配置管理器中先添加x64平台,如果没有则按下图所示添加解决方案平台。
问题二描述: 在debug状态下运行出现内存异常,但是在release模式下正常
问题解决方案:
在给工程debug模式下添加附加依赖项的时候,把带d的debug系的十几个lib写在前面,默认支持debug模式下可以载入图片,反之若把
不带d的lib写在前面就默认支持release模式下可以载入图片识别字符串。
跟踪最新的V3.1.0配合VS2013使用编译工程出现的问题如下:
1)已经添加了V3.1.0的附加依赖项目,但是找不到 opencv_world300d.lib
报错链接错误:2>LINK : fatal error LNK1104: cannot open file 'opencv_world300d.lib' ,如下图,
解决办法:
将opencv_world310d.lib复制到C:\Windows\System32目录下