OpenCV在Windows环境下的配置
1.软件包清单:
·Visual Studio 2010
·OpenCV 2.4.5:http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.5/
2.安装过程:
·Visual Studio 2010 安装时时选择开发语言保留C和C++即可,可以减少安装时间,其它语言多数情况下并不会用到。
·OpenCV 2.4.5:解压到一个目录下就行,对C盘容量比较敏感的朋友可以解压到其它盘,这里解压到I:/opencv:
3.Visual Studio 2010 工程配置:
·新建工程文件,选择目录路径,建议保存在非默认位置,这样容易找到:
在接下来的窗口中点击Next,进入下一个窗口,这里为了演示,选择Empty Project即可。
点击Finish,创建工程完成。
· 配置工程属性,在Property Manager选项卡中设置头文件和库文件的路径,这里为了简便起见,使用解压包中的 预编译库"I:/opencv/build",可以省去漫长地编译库的过程,有兴趣深入的同学可以在以后自己编译生成库以深入理解更多细节。另外,为了省去以后每次创建工程都重新配置,这里使用MSVS的Project Property Sheet技术保存工程属性配置表,以后新建工程时可以快速完成配置。在"Debug|Win32"上右键,选择"Add New Project Property Sheet":
输入保存文件名:
这样就会在"Debug|Win32"子树下生成对应的文件,双击它,会弹出配置窗口,定位到VC++ Directories,分别在Include Directories和Lirarary Directory的右边点倒三角,选择Edit进行修改,添加对应目录如下:
然后定位到Linker,在Input子树下面的Additional Dependencies里面添加以下项:
注意:这里每一个选项中245代表是当前OpenCV的版本是2.4.5,为了以后阅读到的朋友可以正确配置,请修改为您
下载的OpenCV版本号,中间不加点。 然后点击确定退出配置,VS2010里的配置就算配置好了,可以在工程目录中找到OpenCVPropertySheet文件,拷贝到其它工程的文件夹内再在Property Manager里面导入就可。
注意:这里只是针对于Debug的配置,可以保证调试无错,如果要Release,同样的方法修改"Release|Win32"就可,不过最后一步要添加的lib文件名最后不带d。
4.配置环境变量:如果还不知道何为环境变量,请Google一下。在$Path末尾添加"I:\opencv\build\x86\vc10\bin",如果还没有$Path变量,新建一个即可。这个步骤是保证编译出来的程序在运行时能动态链接到*.dll文件,如果需要静态编译,可以阅读相应的wiki条目。 配置完此步骤后需要注销或者重启一下。
5.测试配置效果:在MSVS里面新建文件main.cpp,这里演示一个简单的程序,将一个icon加到背景图像上面:
#include<opencv2\core\core.hpp> #include<opencv2\highgui\highgui.hpp> #include<iostream> #include<vector> using namespace std; using namespace cv; //Add an icon to background image. int main(void) { Mat image,imageROI,icon; icon=imread("icon.jpg"); //icon image image=imread("img.jpg"); //background cout << "背景图像大小:"<<image.size() << endl; cout << "icon图像大小:"<<icon.size() << endl; //output the size. imageROI=image(Rect(420,270,icon.cols,icon.rows)); //in-place. addWeighted(imageROI,1.0,icon,0.5,0.,imageROI); //process. namedWindow("Processed Image"); imshow("Processed Image",image); //show processed image. cv::Mat mask= cv::imread("icon.jpg",0); //read icon file as gray image. icon.copyTo(imageROI,mask); //process. cv::namedWindow("With Gray icon"); cv::imshow("With Gray icon",image); //show processed image. waitKey(0); return 0; }
我这里使用了VsVim插件,可以在VS的编辑器当中使用一些基本的VIM操作,不过已经比自带编辑器效率高很多了,有兴趣的同学可以自行下载安装配置。运行程序,结果如下,如能走到这一步,配置应该是没问题了:
6.参考书目:《Mastering OpenCV with Practical Computer Vision Projects》
《OpenCV.2.Computer.Vision.Application.Programming.Cookbook》
《Learning.OpenCV》
跋:开始写技术博客,希望能鞭策自己。