2017.09.10——VS2010+Opencv配置
参考:
http://www.cnblogs.com/freedomshe/archive/2012/04/25/2470540.html
总结下配置和测试过程中出现的问题:
1、 版本不对应:下面教程是2.4.8,附加依赖项内的文件名和本身安装的文件名不一致,如果是要安装其他版本的库,应该将文件名更改为其他。如,我的版本为 2.4.4,库文件配置为:opencv_calib3d244d.lib等等
2、 配置VC ++目录时,路径名输入错误~~粗心!
3、 在配置包含目录与库目录时,应该勾选“从父级或项目默认设置继承”,而在配置附加依赖项时则可以不用勾选
4、 新建工程设置包含目录和库目录时,点击编辑在弹出框内编辑而不要直接粘贴,因为直接粘贴默认为不勾选“从父级或项目默认设置继承”,导致编译出错。
5、 使用测试代码测试配置时,照片要放在工程目录下(有 XXX.vcxproj的路径),该目录是软件自行建立的
附上自己新建Opencv工程编辑点:
2017.09.10——VS2010+Opencv配置
_____________________________________________________________________
1、计算机环境变量
计算机->(右键)属性->高级系统设置->高级(标签)->环境变量->(双击)path(用户,系统里面的path任选其一)->在变量值里面添加” %opencv%\build\x86\vc10\bin”和”%opencv%\build\common\tbb\ia32\vc10”(里面的%opencv%记得换成自己的opencv路径。例如我的:D:\program\ifly\bin;D:\Program Files (x86)\opencv\build\x86\vc10\bin;D:\Program Files (x86)\opencv\build\common\tbb\ia32\vc10)。
2、opencv依赖
项目(菜单项)->…属性->VC++目录:需要配置“包含目录”和“库目录”两项。
配置“包含目录”项:添加行”%opencv%\build\include”即可。
D:\Program Files\opencv\build\include
配置“库目录”项:添加行”%opencv%\build\x86\vc10\lib”即可。
D:\Program Files\opencv\build\x86\vc10\lib
配置 连接器:项目(菜单项)->…属性->连接器->输入->附加依赖项
opencv_calib3d244d.lib
opencv_contrib244d.lib
opencv_core244d.lib
opencv_features2d244d.lib
opencv_flann244d.lib
opencv_gpu244d.lib
opencv_highgui244d.lib
opencv_imgproc244d.lib
opencv_legacy244d.lib
opencv_ml244d.lib
opencv_objdetect244d.lib
opencv_ts244d.lib
opencv_video244d.lib
测试代码:
//将测试照片放在根目录下,jpg格式
#include <opencv2\opencv.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main()
{
Mat img = imread("pattern.jpg");
if(img.empty())
{
cout<<"error";
return -1;
}
imshow("pattern",img);
waitKey();
return 0;
}
摘要:在VS2010环境中应用Opencv,网上找到了很多配置方法,但大多都是老版本的,很多新手面对最新版本的Opencv无从下手,就给新手童鞋写了这么一篇超级详细的配置攻略,贴上来共享。要强调一点的就是,这种配置方法里使用的Opencv库是直接安装Opencv时候自带的dll库,在你的VS里面是无法调试Opencv的。如果需要调试Opencv,必须应用自己编译出来的Opencv库,具体怎么编译自己的Opencv库,网上有很多例子,再此不再赘述。
1、下载软件
下载OpenCV-2.4.6,双击解压到%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:\Program Files(x86)\opencv\build\x86\vc10\bin;D:\Program Files(x86)\opencv\build\common\tbb\ia32\vc10)。
D:\Program Files\opencv\build\x86\vc10\bin; D:\Program Files\opencv\build\common\tbb\ia32\vc10
D:\Program Files\opencv\build\common\tbb\ia32\vc10
3、配置工程的opencv依赖(每次新建工程都要重新配置,要执行此步骤请先跳到第4步建立工程)
1)、项目(菜单项)->…属性->VC++目录:需要配置“包含目录”和“库目录”两项。
2)、配置“包含目录”项:添加行”%opencv%\build\include”即可。
但在运行别人的opencv项目时,可能别人直接引用了上述目录的子目录路径,如果出现include错误,则再添加”%opencv%\build\include\opencv”和(或)”%opencv%\build\include\opencv2”,即可解决问题。
3)、配置“库目录”项:添加行”%opencv%\build\x86\vc10\lib”即可。
4)、配置连接器:项目(菜单项)->…属性->连接器->输入->附加依赖项
注意:这里是对于Opencv 2.4.6而言的,如果是要安装其他版本的库,应该将文件名更改为其他。
如,我的版本为 2.4.4,库文件配置为:opencv_calib3d244d.lib等等。关于OpenCV版本可以在安装目录里搜索.lib,就会出现对应的库。
针对debug配置添加以下库:
opencv_calib3d246d.lib
opencv_contrib246d.lib
opencv_core246d.lib
opencv_features2d246d.lib
opencv_flann246d.lib
opencv_gpu246d.lib
opencv_highgui246d.lib
opencv_imgproc246d.lib
opencv_legacy246d.lib
opencv_ml246d.lib
opencv_objdetect246d.lib
opencv_ts246d.lib
opencv_video246d.lib
如果是release配置(以后再说,只需要添加上面的debug配置就行了现在),则添加:
opencv_calib3d246.lib
opencv_contrib246.lib
opencv_core246.lib
opencv_features2d246.lib
opencv_flann246.lib
opencv_gpu246.lib
opencv_highgui246.lib
opencv_imgproc246.lib
opencv_legacy246.lib
opencv_ml246.lib
opencv_objdetect246.lib
opencv_ts246.lib
opencv_video246.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>
4usingnamespace cv;
5usingnamespace std;
6int 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 return0;
18 }
6)、把自己的靓照改名为pp.jpg,然后放到工程项目的test文件夹里面(是里面那个test文件夹)
7)、按照第3步骤的方法配置工程的opencv依赖。
8)、按F5,如果你的图片出来了就OK了。