仿照 OpenCV 中文官方网站上VC2010安装OpenCV2.4.4的教程安装,该教程地址为 VC 2010下安装OpenCV2.4.4
我的环境和教程中的不一样,先说说教程中的搭建环境:
VC2010
windows 32位操作系统,即x86
opencv2.4.4
我的环境:
VC2012
windows 8.1 64位中文版操作系统,即x64
opencv2.8.2 (最新版)
根据你的CPU位数,按照教程中的方法安装即可。我的是64位,则在选择的时候,x86就换成x64 。另外,将教程中的vc10换成vc12 。
这里有一个值得强调的问题,教程中没有明确说明。按照教程的方法安装好,然后建立测试程序,运行后提示多行类似下面语句的错误:
1 |
error LNK2019: 无法解析的外部符号 _cvReleaseImage,该符号在函数 _main 中被引 |
后来发现,这是我的配置错误,对64位操作系统的配置还没有完成。还需要修改的地方是:
生成–>配置管理器–>活动解决方案平台–>新建–>x64 如下图:
新建好之后,在属性管理器中就能看到多出来了Debug|x64和Release|x64,如下图:
在“属性管理器”中,对Debug|x64或Release|x64的Micro.Cpp.x64.user仿照x86进行设置,但是注意替换VC++目录中的x86为x64,还要记得在“连接器–>输入”中包含库。
需要强调的是,对于Debug|x86或Release|x86的Micro.Cpp.x86.user的设置,请和教程中的保持一致,不是x64,就是x86 。
即,在Debug|x86或Release|x86下就设置x86的,在Debug|x64或Release|x64下才需要设置x64的,分开对待。如下图
我列出VC2012中的opencv\build\x64\vc12\库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
opencv_calib3d248.lib opencv_contrib248.lib opencv_core248.lib opencv_features2d248.lib opencv_flann248.lib opencv_gpu248.lib opencv_highgui248.lib opencv_imgproc248.lib opencv_legacy248.lib opencv_ml248.lib opencv_nonfree248.lib opencv_objdetect248.lib opencv_ocl248.lib opencv_photo248.lib opencv_stitching248.lib opencv_superres248.lib opencv_ts248.lib opencv_video248.lib opencv_videostab248.lib opencv_calib3d248d.lib opencv_contrib248d.lib opencv_core248d.lib opencv_features2d248d.lib opencv_flann248d.lib opencv_gpu248d.lib opencv_highgui248d.lib opencv_imgproc248d.lib opencv_legacy248d.lib opencv_ml248d.lib opencv_nonfree248d.lib opencv_objdetect248d.lib opencv_ocl248d.lib opencv_photo248d.lib opencv_stitching248d.lib opencv_superres248d.lib opencv_ts248d.lib opencv_video248d.lib opencv_videostab248d.lib |
x64中要包含的目录:
1 2 3 4 5 6 7 8 9 10 |
可执行文件目录 C:\opencv248\opencv\build\x64\vc12\bin 包含目录 C:\opencv248\opencv\build\include\opencv2 C:\opencv248\opencv\build\include\opencv C:\opencv248\opencv\build\include 库目录 C:\opencv248\opencv\build\x64\vc12\lib |
其他错误的处理方法:
错误1: fatal error C1083: 无法打开包括文件:“opencv2\opencv.hpp”: No such file or …
表示的意思是找不到opencv.hpp,这是在VC++目录中设置的,即在下图中设置,教程中已经说明了。
错误2:找不到msvcr120.dll、msvcp120.dll
表明系统缺少该dll文件,可以在网上搜索下载,然后安装。安装dll文件时注意以下区别:
安装dll,就把dll文件直接拷贝该文件到系统目录里,但是不同系统拷贝的目录是不同的:
1、Windows 95/98/Me系统,将msvcp120.dll复制到C:\Windows\System目录下。
2、Windows NT/2000系统,将msvcp120.dll复制到C:\WINNT\System32目录下。
3、Windows XP/WIN7/Vista系统,将msvcp120.dll复制到C:\Windows\System32目录下。
如果您的系统是64位的请将文件复制到C:\Windows\SysWOW64目录
然后打开”开始-运行-输入regsvr32 ***.dll”,回车即可解决。或者打开cmd(命令提示符)输入刚才的语句即可,***.dll表示你刚才拷贝进去的dll文件。
我出现的就是以上几个错误,都排除了。然后就成功运行了,搭建完成。
测试代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include <opencv2\opencv.hpp> #include<iostream> using namespace cv; void main() { IplImage *src; src = cvLoadImage("lena.jpg"); //这里将lena.jpg和lena.cpp文件放在同一个文件夹下 cvNamedWindow("lena",CV_WINDOW_AUTOSIZE); cvShowImage("lena",src); cvWaitKey(0); cvDestroyWindow("lena"); cvReleaseImage(&src); } |
注意,请将lena.jpg放到项目目录中的同名子目录中,如下图所示:
运行效果图:
期待相关博主