OpenCV 2.4.2在VS2010下的安装(使用预编译库)
1)在网站上下载OpenCV安装包(目前最新版本是2.4.2)
下载地址:http://opencv.org/
选择OpenCV for Windows进行下载
2)右键OpenCV-2.4.2.exe,在Windows 7下要选择,以管理员身份运行,在弹出窗口中选择解压路径,将其解压到某一目录下,如:C:\ProgramFiles (x86)\opencv。
3)配置VC
配置include路径
打开Microsoft Visual Studio 2010,View->Property Manager,在窗口左侧原来的Solution Explorer的位置出现Property Manager页面,选择Debug|Win32下面的Microsoft.Cpp.Win32.user,弹出Microsoft.Cpp.Win32.userProperty。(选择下图中的1和2均可,打开同一窗口)在弹出的窗口中,找到VC++ Directories进行针对Debug的目录配置。在Include Directories中,加入目录:
C:\Program Files (x86)\opencv\build\include
C:\Program Files (x86)\opencv\build\include\opencv
C:\Program Files (x86)\opencv\build\include\opencv2
(选择Tools-->Options-->Projects and Solutions-->VC++ Directories,不能设置VC++全局目录,出现VC++ Directories editing in Tools-->Options has been deprecated。VS2010中设置VC++目录有两种方法,一是通过项目属性页面Project Property Pages逐个项目的设置,另外一个方法是通过属性管理Property Manager进行全局设置)。
配置lib路径
在Library Directories中加入:C:\ProgramFiles (x86)\opencv\build\x86\vc10\lib
设置环境变量
需要将OpenCV的dll文件所在的目录添加到环境变量Path里。
32位系统& VC2010,dll目录为:C:\Program Files (x86)\opencv\build\x86\vc10\bin
由于有些函数需要TBB,所以需要将tbb所在的目录也加入到环境变量Path中。TBB相关的DLL路径为:
32位系统& VC2010:C:\Program Files(x86)\opencv\build\common\tbb\ia32\vc10
设置完环境后重启电脑,使得环境变量生效。
4)配置完后运行一个小例子。
打开VS2010,建立一个Win32空的控制台程序helloopencv
设置项目属性,在SolutionExplorer的helloopencv上右键选择Properties,在弹出的helloopencvProperty Pages窗口中,在链接器Link下的输入Input,为项目的Debug配置增加附加依赖项AdditionalDependecies:
opencv_calib3d242d.lib; opencv_contrib242d.lib; opencv_core242d.lib;opencv_features2d242d.lib; opencv_flann242d.lib; opencv_gpu242d.lib;opencv_highgui242d.lib; opencv_imgproc242d.lib; opencv_legacy242d.lib;opencv_ml242d.lib; opencv_objdetect242d.lib; opencv_ts242d.lib; opencv_video242d.lib
(可根据实际需要删减)注意,请打开了新编辑窗口(即点击了“...”按钮)“附加依赖项”,并一条一条分别加入,一条一行(一个回车),(注意行末不要加";")否则会出现类似以下错误:1>LINK: fatal error LNK1104: 无法打开文件“…….lib”
同理,为项目的Release选项增加依赖项,操作过程类似,只是在helloopencv最左侧的Configuration中,下拉选项选择“Release”即可。Release中需要增加的依赖项为:
opencv_calib3d242.lib; opencv_contrib242.lib; opencv_core242.lib;opencv_features2d242.lib; opencv_flann242.lib; opencv_gpu242.lib;opencv_highgui242.lib; opencv_imgproc242.lib; opencv_legacy242.lib; opencv_ml242.lib;opencv_objdetect242.lib; opencv_ts242.lib; opencv_video242.lib (可根据实际需要删减)*
为项目添加test.cpp。内容如下(编译运行下面的例程(需要将core.jpg文件放在项目目录下,即与生成的.exe文件同位置,该文件在目录C:\Program Files (x86)\opencv\doc\tutorials\images下):
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(int argc, char* argv[])
{
const char* imagename = "core.jpg";
//从文件中读入图像
Mat img = imread(imagename);
//如果读入图像失败
if(img.empty())
{
fprintf(stderr, "Can not load image %s\n", imagename);
return -1;
}
//显示图像
imshow("image", img);
//此函数等待按键,按键盘任意键就返回
waitKey();
return 0;
}
编译程序,查看程序运行结果(新打开一窗口显示图片)。