Opencv是computer vision领域中常用的工具之一,现在说说怎么在windows下配置它吧~Linux下简单很多,迟些会补上~
1.下载Opencv:
这里有链接,是官网的:
http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.3/OpenCV-2.4.3.exe/download
这是下载后的图标
2.解压到目录下:
这个不必纠结,哪个目录问题不大的,我的是:
F:\Software Install\
由于解压的时候,可能已经白送了一个“根目录”(不然一堆文件飞出来不好管理),所以直接解压就好,但建议先点开看看是不是真是这样,我的“根目录”是OpenCV
3.设置环境变量:
设置环境变量是必须的,不然可以编译成功而不能运行程序:
环境变量的设置过程:
右击“计算机”图标,选择“属性”,可见:
选择“高级系统设置”,再选“高级”,然后点击“环境变量”按钮即可:
选择“Path”,点“编辑”按钮:
然后输入opencv的bin中的dll路径:
F:\Software Install\OpenCV\opencv\build\x86\vc10\bin\;
4.配置VS2010:
先打开VS2010,然后新建一个Win32空的控制台程序HelloOpencv
接下来,在“视图”那里选择“属性管理器”,在窗口左侧原来的解决方案资源管理器的位置出现属性管理器一栏,选择Debug|Win32下面的Microsoft.Cpp.Win32.user,弹出Microsoft.Cpp.Win32.userProperty属性页后,选择“VC++”选项,得到结果如下:
在Include Directories(包含目录)中,加入目录:
F:\Software Install\OpenCV\opencv\build\include
F:\Software Install\OpenCV\opencv\build\include\opencv
F:\Software Install\OpenCV\opencv\build\include\opencv2
在库目录下加入:
F:\Software Install\OpenCV\opencv\build\x86\vc10\lib
注意,留心分号和路径别敲错。。。。
再就是设置项目属性。在解决方案资源管理器的HelloOpencv上右键选择属性,在弹出的属性窗口中,选中在“链接器”下的“输入”选项,为项目的Debug配置增加附加依赖项:
opencv_calib3d243d.lib; opencv_contrib243d.lib; opencv_core243d.lib;opencv_features2d243d.lib; opencv_flann243d.lib; opencv_gpu243d.lib;opencv_highgui243d.lib; opencv_imgproc243d.lib; opencv_legacy243d.lib;opencv_ml243d.lib; opencv_objdetect243d.lib; opencv_ts243d.lib; opencv_video243d.lib
(可根据实际需要删减)
同理,为项目的Release选项增加依赖项,操作过程类似,只是在HelloOpencv最左侧的Configuration中,下拉选项选择“Release”即可。Release中需要增加的依赖项为:
opencv_calib3d243.lib; opencv_contrib243.lib; opencv_core243.lib;opencv_features2d243.lib; opencv_flann243.lib; opencv_gpu243.lib;opencv_highgui243.lib; opencv_imgproc243.lib; opencv_legacy243.lib; opencv_ml243.lib;opencv_objdetect243.lib; opencv_ts243.lib; opencv_video243.lib
(可根据实际需要删减)
5.测试:
放一张图片到你的项目文件中(打蓝色的那个文件夹里面),
然后用下面那个代码试试吧~
// HelloOpencv.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
const char * imagename="Koala.jpg";
Mat img = imread(imagename);
if(img.empty())
{
fprintf(stderr,"Cannot load the image!",imagename);
return -1;
}
imshow("image",img);
waitKey();
return 0;
}
最后的结果为: