您的位置:首页 > 运维架构

VC 2010 Express下安装OpenCV2.4.4

2013-03-14 18:06 429 查看
参考文章:点击打开链接

===============================================================================================================

注意:

下列文档基于VC2010 Express。
VC 6.0可能不被OpenCV 2.4.4支持。
VC Express是微软提供的免费版,可从此处下载: VC2010
Express
建议先不要自己编译,如果使用预编译好的库有问题,再尝试自己编译。


下载OpenCV

从本站下载栏目 http://www.opencv.org.cn/index.php/Download 下载
OpenCV for Windows(也即 OpenCV-2.4.4.exe 文件)。
将 OpenCV-2.4.4.exe 解压并放到某个目录下,例如
D:\OpenCV
。解压后的目录结构如下图。








点击看大图

[编辑]


配置VC


配置include路径

也即告诉VC去什么地方寻找OpenCV的头文件。

打开VC++ 2010 Express,创建一个Win32控制台程序opencvtest;








点击看大图

选择Solution Explorer里的opencvtest项目,点击鼠标右键,选择Properties。








点击看大图

依次选择“配置属性”->“VC++目录”->“包含目录”,包含
D:\OpenCV\build\include;D:\OpenCV\build\include\opencv;D:\OpenCV\build\include\opencv2









点击看大图








点击看大图

[编辑]


配置lib路径

也即告诉VC去什么地方寻找OpenCV的库文件。

在刚才下载的文件OpenCV-2.4.4.exe 里,已经为VC2010预先编译好了动态库和静态库。因此我们不需要如早先版本那样,自己用cmake编译OpenCV。

32位系统 & VC2010,库目录为:
D:\OpenCV\build\x86\vc10\lib

64位系统 & VC2010,库目录为:
D:\OpenCV\build\x64\vc10\lib


请根据自己的情况二选一,将库目录输入“属性”->“配置属性”->“VC++目录”->“库目录” 。如下图所示:








点击看大图

[编辑]


设置环境变量

刚才设置的是动态库,因此还需要将OpenCV的dll文件所在的目录加入Path环境变量。dll文件目录如下:

32位系统 & VC2010,dll目录为:
D:\OpenCV\build\x86\vc10\bin

64位系统 & VC2010,dll目录为:
D:\OpenCV\build\x64\vc10\bin


由于有些函数需要TBB,所以需要将tbb所在的目录也加入到环境变量Path中。TBB相关的DLL路径为:

32位系统 & VC2010:
D:\OpenCV\build\common\tbb\ia32\vc10

64位系统 & VC2010:
D:\OpenCV\build\common\tbb\intel64\vc10


如下图所示将OpenCV和TBB的dll文件所在的目录系统环境变量Path中。加入后可能需要注销当前Windows用户(或重启)后重新登陆才生效。







点击看大图








点击看大图

[编辑]


使用OpenCV 2.4.4编程

选择Solution Explorer里的opencvtest项目,点击鼠标右键,选择Properties。








点击看大图

在配置属性-->[链接器 LINKER]的[输入INPUT]中,为项目的Debug配置增加 [附加依赖项 Additional Dependencies]:

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
(可根据实际需要删减)注意,请打开了新编辑窗口(即点击了“...”按钮)“附加依赖项”,并一条一条分别加入,一条一行(一个回车),(注意行末不要加";")否则会出现类似以下错误:1>LINK : fatal error LNK1104: 无法打开文件“…….lib”

如果下载的OpenCV不是2.4.4版本,请将"XXX243d.lib"中的"244"更改为对应的版本号,例如:下载OpenCV 2.4.0,则统一改为"XXX240d.lib",否则会出现类似以下错误:1>LINK : fatal error LNK1104: 无法打开文件“XXX.lib”








点击看大图

为项目的Release配置增加[附加依赖项 Additional Dependencies]:



opencv_contrib244.lib
opencv_core244.lib
opencv_features2d244.lib
opencv_flann244.lib
opencv_gpu244lib
opencv_highgui244.lib
opencv_imgproc244.lib
opencv_legacy244.lib
opencv_ml244.lib
opencv_objdetect244.lib
opencv_ts244.lib

opencv_video244.lib
(可根据实际需要删减)*

编译运行下面的例程,需要将lena.jpg文件放在项目目录下。如果想双击运行exe的话,图片放在.exe同一文件夹内;按F5直接运行程序的话,lena.jpg要放在opencvtest\opencvtest里)。
/***********************************************************************
* OpenCV 2.4.4 测试例程
* 于仕琪 提供
***********************************************************************/
#include "stdafx.h"

#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int _tmain(int argc, _TCHAR* argv[])
{
const char* imagename = "lena.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;
}











程序运行结果图,点击看大图

========================================================================================
注意:

对于windows 64位系统,可能程序运行会报错:程序无法运行,找不到xxxxx.dll等等。新手可能不知道怎么解决。

解决方案可能为:将vs2010页面上方的win32修改为x64,重新运行即可。或者重新生成解决方案再运行。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: