您的位置:首页 > 运维架构

OpenCV 2.4.6 + VS2010 + win7 环境配置

2013-09-22 17:35 423 查看
昨天晚上开始配置OpenCV2.4.6 ,一直搞到现在,好麻烦啊。不过在此过程中对环境变量配置和库的使用有了更深一层的理解,下面总结一下配置以供大家参考。

先讲一个最简单的配置方法吧,这样不用重启电脑就能测试一下是否成功:

1. 首先是下载OpenCV,在 http://www.opencv.org.cn/index.php/Download 下载 OpenCV for Windows(也即 OpenCV-2.4.6.exe 文件)。

2. 将 OpenCV-2.4.6.exe 解压到某个目录下,例如
D:\Program Files


3. 测试,快吧。

3.1、创建工程。打开VS2010,新建项目→win32控制台项目-〉确定→下一步-〉选空项目-〉完成。

3.2、打开配置文件。点击“视图”→“其他窗口”→“属性管理器”,从左侧项目中打开“Debug| Win32”→“Microsoft.Cpp.Win32.user”,双击“Microsoft.Cpp.Win32.user”对其进行编辑。

3.3、配置工程。点击左侧VC++目录,编辑右侧的可执行文件目录、包含目录与库目录,分别添加对应的路径。

对应的路径如下: 1)可执行文件目录
D:\Program Files\opencv\build\x86\vc10\bin
    说明:1、可根据自己的情况,将其改为你的opencv\build\x86\vc10\bin文件夹所在的路径;

2、如果是64位系统,但工程属性为win32控制台工程,所以仍用x86的库

2)包含目录
D:\Program Files\opencv\build\include
D:\Program Files\opencv\build\include\opencv
D:\Program Files\opencv\build\include\opencv2


说明:1、可根据自己的情况,将其分别改为你的opencv\build\include、opencv\build\include\opencv和opencv\build\include\opencv2文件夹所在的路径;
          2、这里的include目录为build文件夹下的include目录,不要选成与build文件夹在同一个根目录下的那个include文件夹。


3)库目录
D:\Program Files\opencv\build\x86\vc10\lib


说明:1、可根据自己的情况,将其改为你的opencv\build\x86\vc10\lib文件夹所在的路径;
           2、如果是64位系统,但工程属性为win32控制台工程,所以仍用x86的库



4、附加依赖项 单击“链接器”→“输入”→“附加依赖项”。在附加依赖项里,添加
opencv\build\x86\vc10\lib
文件夹里的lib文件名称:
opencv_calib3d246d.lib

opencv_contrib246d.lib

opencv_core246d.lib

opencv_features2d246d.lib

opencv_flann246d.lib

opencv_gpu246d.lib

opencv_haartraining_engined.lib

opencv_highgui246d.lib

opencv_imgproc246d.lib

opencv_legacy246d.lib

opencv_ml246d.lib

opencv_nonfree246d.lib

opencv_objdetect246d.lib

opencv_ocl246d.lib

opencv_photo246d.lib

opencv_stitching246d.lib

opencv_superres246d.lib

opencv_ts246d.lib

opencv_video246d.lib

opencv_videostab246d.lib



说明:上面的库为opencv\build\x86\vc10\lib里面的库文件,文件名后面有小写字母“d”的为Debug库(调试模式库),没有“d”的为Release库(发布模式库)。末尾的244是版本号,和你lib里面的文件一致的。比如,OpenCV2.4.3的lib文件的末尾数字为243。如果版本不一样,要改正,使其一致。


 


4.1、程序代码

#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);
}



4.2、运行结果

[编辑]
4.2.1、Debug下的运行结果







你成功了么?我编译成功了,但执行的时候出错了,错误是

应用程序无法正常启动0xc000007b

网上有的说是DirectX没有装,但是我装了也没解决问题,原来要用到的DLL库还要拷贝到生成的程序目录里,跟DirectX装不装倒没什么关系。



5. 更进一步。

5.1、这里配置的路径是绝对路径,而不是相对路径,为了修改方便我们可以设置一下环境变量。

点击左下角视窗键-〉右键单击计算机→属性→高级系统设置→环境变量,这样就打开了环境变量的配置页面。环境变量分为用户变量和系统变量,用户变量只对系统当前用户有效,系统变量对本系统所有用户有效,用户变量好像可以对系统变量进行覆盖。

我们为系统变量PATH(可能大写也可能小写) 添加 D:\Program Files\opencv\build\x86\vc10\bin; ,分号用于区分多个变量;

添加变量OpenCV_DIR ,变量值为 D:\Program Files\opencv\build ,这样我们上边输入的三个路径:

D:\Program Files\opencv\build\x86\vc10\bin

D:\Program Files\opencv\build\include

D:\Program Files\opencv\build\x86\vc10\lib

就可以变为:

%OpenCV_DIR%\x86\vc10\bin

%OpenCV_DIR%\include

%OpenCV_DIR%\x86\vc10\lib

刚才的PATH变量也可以改为添加 %OpenCV_DIR%\x86\vc10\bin;



提示:环境变量要计算机重启才能生效。

5.2、这里配置的其实是VS2010的路径,因此以后创建的所有工程都会用到这个路径。但是有时候我们只想对某个工程进行配置的话可以参考官方文档:

http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/introduction/windows_visual_studio_Opencv/windows_visual_studio_Opencv.html#windows-visual-studio-how-to


提示:一个工程的配置文件可以导入到其他工程中。

You can find your property sheets inside your projects directory. At this point it is a wise decision to back them up into some special directory, to always have them at hand in the future, whenever you create an OpenCV project. Note that for Visual Studio
2010 the file extension is props, while for 2008 this is vsprops.



Next time when you make a new OpenCV project just use the “Add Existing Property Sheet...” menu entry inside the Property Manager to easily add the OpenCV build rules.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: