关于opencv的配置

PS:请参考最新的《Opencv完美配置攻略 2014 (Win8.1 + Opencv2.4.8 + VS 2013)(http://my.phirobot.com/blog/2014-02-opencv_configuration_in_vs.html),绝对给力!由于Opencv版本升级,大多人开始用新版本VS,等等,这篇已经过时了,而且当时没有在文中加入更合适的简介的配置方法,所以有一些东西不再适用。重写一篇,,无论是Win7还是Win8,无论是VS2010, VS2012, 还是VS2013,无论是Opencv 2.x.x,方法都是一样的,只是配置思路和操作流程不同而已。

如果想重新编译Opencv,可以参考《Win7x64+VS2012+OpenCV2.4.3+CMake2.8.10+TBB41重编译OpenCV》,(http://www.cnblogs.com/freedomshe/archive/2013/01/11/win7_vs2012_opencv_rebuild.html)

不过新版本也许不用配置ttb了。


 

摘要:在VS2010环境中应用Opencv,网上找到了很多配置方法,但大多都是老版本的,很多新手面对最新版本的Opencv无从下手,就给新手童鞋写了这么一篇超级详细的配置攻略,贴上来共享。要强调一点的就是,这种配置方法里使用的Opencv库是直接安装Opencv时候自带的dll库,在你的VS里面是无法调试Opencv的。如果需要调试Opencv,必须应用自己编译出来的Opencv库,具体怎么编译自己的Opencv库,网上有很多例子,再此不再赘述。

1、下载软件

  下载OpenCV-2.4.0,双击解压到%opencv%(凡是出现%opencv%的地方均替换为你自己opencv的路径全名,如D:\program\opencv)。

  下载VS2010,安装。

 2、配置OpenCV环境变量

计算机->(右键)属性->高级系统设置->高级(标签)->环境变量->(双击)path(用户,系统里面的path任选其一)->在变量值里面添加” %opencv%\build\x86\vc10\bin”和”%opencv%\build\common\tbb\ia32\vc10”(新版本这个可以没有),注意不同的变量需要用分号(;)隔开。


(里面的%opencv%记得换成自己的opencv路径。例如我的:D:\program\ifly\bin;D:\ProgramFiles (x86)\opencv\build\x86\vc10\bin;D:\Program Files(x86)\opencv\build\common\tbb\ia32\vc10)。

 

3、配置工程的opencv依赖

1)属性->VC++目录:需要配置“包含目录”和“库目录”两项。


2)、配置“包含目录”项:添加行”%opencv%\build\include”即可。

但在运行别人的opencv项目时,可能别人直接引用了上述目录的子目录路径,如果出现include错误,则再添加”%opencv%\build\include\opencv”和(或)”%opencv%\build\include\opencv2”,即可解决问题。注意要选中下面的钩,从父级或项目默认设置继承


3)、配置“库目录”项:添加行”%opencv%\build\x86\vc10\lib”即可。注意要选中下面的钩,从父级或项目默认设置继承


4)、配置链接器:属性->右键属性->链接器->输入->附加依赖项



针对debug配置添加以下库:  注意这是2.40的库,如果是别的库,需要更改下面的数字 240,比如是2.42的库,则为242

opencv_calib3d240d.lib

opencv_contrib240d.lib

opencv_core240d.lib

opencv_features2d240d.lib

opencv_flann240d.lib

opencv_gpu240d.lib

opencv_highgui240d.lib

opencv_imgproc240d.lib

opencv_legacy240d.lib

opencv_ml240d.lib

opencv_objdetect240d.lib

opencv_ts240d.lib

opencv_video240d.lib

如果是release配置(以后再说,只需要添加上面的debug配置就行了现在),则添加:

opencv_calib3d240.lib

opencv_contrib240.lib

opencv_core240.lib

opencv_features2d240.lib

opencv_flann240.lib

opencv_gpu240.lib

opencv_highgui240.lib

opencv_imgproc240.lib

opencv_legacy240.lib

opencv_ml240.lib

opencv_objdetect240.lib

opencv_ts240.lib

opencv_video240.lib

4、用VS2010新建控制台工程测试:

1)、文件->新建->项目->Visual C++->Win32 控制台应用程序(输入名称test)

2)、确定->下一步->附加选项选“空项目”->完成

3)、解决方案资源管理器->源文件(右键)->添加->新建项

4)、Visual C++->C++文件:输入名称test点添加

5)、粘贴下面的代码,保存

 1 #include <opencv2\opencv.hpp>

 2 #include <iostream>

 3 #include <string>

 4 using namespace cv;

 5 using namespace std;

 6 int main()

 7 {

 8     Mat img = imread("pp.jpg");

 9    if(img.empty())

10     {

11        cout<<"error";

12        return -1;

13     }

14    imshow("xx的靓照",img);

15    waitKey();

16

17    return 0;

18 }

6)、把自己的靓照改名为pp.jpg,然后放到工程项目的test文件夹里面(是里面那个test文件夹)

7)、按照第3步骤的方法配置工程的opencv依赖。

8)、按F5,如果你的图片出来了就OK了。

 

Opencv开发常包含的头文件:"cv.h"       "highgui.h"     <opencv2/opencv.hpp>  这个三个对图像处理一般足够了。

Notes:头文件中的 “/”是在该子文件夹里的文件,例如 "opencv2/core/core_c.h"




#include "cv.h"
/****************************************
#include "opencv2/core/core_c.h"
#include "opencv2/core/core.hpp"
#include "opencv2/imgproc/imgproc_c.h"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/video/tracking.hpp"
#include "opencv2/features2d/features2d.hpp"
#include "opencv2/flann/flann.hpp"
#include "opencv2/calib3d/calib3d.hpp"
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/legacy/compat.hpp"
********************************************/


#include "highgui.h"
/*****************************************
#include "opencv2/core/core_c.h"
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui_c.h"                        //  windows 
#include "opencv2/highgui/highgui.hpp"
****************************************/


#include <opencv2/opencv.hpp>
/***************************************
#include "opencv2/core/core_c.h"
#include "opencv2/core/core.hpp"
#include "opencv2/flann/miniflann.hpp"
#include "opencv2/imgproc/imgproc_c.h"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/photo/photo.hpp"
#include "opencv2/video/video.hpp"
#include "opencv2/features2d/features2d.hpp"
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/calib3d/calib3d.hpp"
#include "opencv2/ml/ml.hpp"
#include "opencv2/highgui/highgui_c.h"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/contrib/contrib.hpp"
****************************************/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值