Visual Studio2012中配置openCV
配置的环境是: Windows_8, Visual_Studio_2012
openCV的版本是: openCV_2.47
下面开始详细地讲解整个配置的过程:
步骤1: 首先需要下载openCV,这是Sourceforge的链接 http://sourceforge.net/projects/opencvlibrary/
步骤2: 安装openCV到自定义目录下,安装的过程中系统会自动设置openCV的环境变量。
步骤3: 安装完毕后需要手工设置一下环境变量,把D:\CodeLibrary\opencv \build\x64\vc11\bin添加到系统变量-->Path中,其中D:\CodeLibrary\opencv是openCV的安装目 录,这里根据自己的目录进行修改。另外,如果是32位的操作系统就把x64改成x86。
步骤4: 打开Visual Studio 2012创建一个Visual C++的一个新的空项目。
步骤5: 右键点击 [解决方案资源管理器] 中的解决方案结点,选择 [配置管理器]。
步骤6: 在 [活动解决方案平台(P)] 中选择x64(因为我用的是64位的操作系统),假如没有x64可选则选择<新建 ...>,在 [键入或选择新平台(P)] 中选择x64然后点 [确定],然后关闭 [配置管理器]
步骤7:右键点击新建的项目,选择 [属性],打开属性窗口,然后在 [配置属性] 中选择 [VC++目录],编辑右边的 [包含目录], 把D:\CodeLibrary\opencv\build\include,D:\CodeLibrary\opencv\build\include \opencv,D:\CodeLibrary\opencv\build\include\opencv2 这三个目录添加进去。这样用include添加openCV的头文件的时候才不会出错找不到文件。
步骤8:编辑右边的 [库目录],把openCV库函数的路径 D:\CodeLibrary\opencv\build\x64\vc11\lib添加进去(注意到Visual Studio 2012需要使用vc11这个目录,而不再是vc10,而且对应是64位的操作系统所以选择x64这个目录)。让Visual Studio在编译程序的时候,能够搜索到这个目录以调用openCV的函数 。
步骤9:选择左边的 [链接器],再选择 [输入],修改右边的 [附加依赖项] 把D:\CodeLibrary \opencv\build\x64\vc11\lib目录下的所有以*.lib为扩展名的文件名添加进去,以添加lib文件(步骤8是添加库函数的搜索 目录,这一步是添加具体的lib文件。)在这里以d结尾的文件对应debug模式,而不是以d结尾的文件对应release模式,为了方便起见,我把它们 全部加进去了。
步骤10:现在已经完成了openCV的配置,运行一下一个简单的读图像的程序作为测试,可以看到图像能成功显示,按任意键可结束程序。
附上用于测试的代码:
#include<stdio.h>
#include"highgui.h"
int main(int argc, char** argv){
IplImage *img = cvLoadImage("E:\\2.jpg"); //cvLoadImage()的参数为图片的完整路径名
cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE);
cvShowImage("Example1",img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Example1");
return 0;
}
OpenCV 无法启动此程序,因为计算机中丢失opencv_core2410.dll。请尝试重新安装改程序已解决此问题
换了64位的系统,配置好之后运行之前的程序,竟然给我抛出这个错误。应该是我的opencv没有安装对吧。系统报错
无法启动此程序,因为计算机中丢失opencv_core249.dll。请尝试重新安装改程序已解决此问题
那就是缺少opencv_core249.dll动态链接库了。
(但是不知道为什么我引用的库还是要x86下的才行,郁闷中)
64位系统 C:\Windows\SysWOW64 32位系统 C:\Windows\System32
32位的执行
64位的执行
如果这时候报错:
不要理他(不知道为什么),回到VS试一下项目能不能正常运行。我的可以。
我的64位系统一开始我将文件复制到了C:\Windows\System32
执行:regsvr32 C:\Windows\System32\opencv_core249d.dll
后
后来把dll文件拷贝到C:\Windows\SysWOW64中执行 regsvr32 C:\Windows\SysWOW64\opencv_core249d.dll就好了。