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

vs2010+win7x64+opencv2.3.1 配置opencv

2012-02-14 00:40 399 查看
弄了一个晚上终于搞定配置,知道这个过程对于初学者的重要性 故 贴出来以飨读者。

本人配置

visual studio 2010 ultimate + windows7 家庭版(x64)+ opencv2.3.1

先说正确步骤:

http://www.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.3.1

按着上面来 下好 解压 cmake 弄一下也不费事。

配置不按上面说的,按如下方法配置,下面的所有路径D:\OpenCV 你可以改成你安装的路径,最好贴到记事本 替换掉,方便,( 以后还要用的,貌似每新建个项目都要配置一次)

1环境变量

计算机 右键 ->属性->左侧 高级系统设置 ->高级-> 下面 环境变量 ->

在用户变量h中新建path加上D:\OpenCV\build\x64\vc10\bin;D:\OpenCV\build\common\tbb\intel64\vc10

在系统变量中找到path 加上D:\OpenCV\build\x64\vc10\bin;D:\OpenCV\build\common\tbb\intel64\vc10

注意分号 别落下 注意分号位英文字符

重启(一定要重启)

2 打开vs2010 新建项目 win32控制台应用程序 输入名称 确定 下一步 完成(也可不要预编译 弄个空项目。。等下再说这样碰到的问题)

3 因为2010不能按照上连接的方法配置路径 所以只能按下面步骤

右键项目 ->属性 弹窗 右上侧 -> 配置管理器 点开->活动解决方案平台 点下拉选择-> 新建 出现 键入或选择新平台 选择 x64(没有的话输入), 从此处复制设置选择 win32 下面 创建新的项目平台 打钩 确定 关闭

4右键项目->属性 弹窗 左侧 配置属性 展开 -> vc++目录 点开 右侧 包含目录 后面加上如下目录

D:\OpenCV\build\include;D:\OpenCV\build\include\opencv;D:\OpenCV\build\include\opencv2

包含库 的后面添上如下目录

D:\OpenCV\build\x64\vc10\lib

5右键项目->属性 弹窗 左侧 配置属性 展开 ->链接器展开->[输入,为项目的Debug配置(就是这个对话框坐上方配置选择活动的debug) 附加依赖项 后面增加下面的lib:

opencv_calib3d231d.lib;opencv_contrib231d.lib;opencv_core231d.lib;opencv_features2d231d.lib;opencv_flann231d.lib;opencv_gpu231d.lib;opencv_highgui231d.lib;opencv_imgproc231d.lib;opencv_legacy231d.lib;opencv_ml231d.lib;opencv_objdetect231d.lib;opencv_ts231d.lib;opencv_video231d.lib

为项目的Release配置(就是这个对话框坐上方配置选择release)增加[附加依赖项 :opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib; opencv_gpu231.lib; opencv_highgui231.lib; opencv_imgproc231.lib; opencv_legacy231.lib; opencv_ml231.lib;
opencv_objdetect231.lib;opencv_ts231.lib;opencv_video231.lib

这样就ok了 粘贴个程序测试吧~~

#include "stdio.h"

#include "tchar.h"

#include <highgui.h>

int main(int argc, _TCHAR* argv[])

{

int c;

// allocate memory for an image

IplImage *img;

// capture from video device #1

CvCapture* capture = cvCaptureFromCAM(1);

// create a window to display the images

cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE);

// position the window

cvMoveWindow("mainWin", 5, 5);

while(1)

{

// retrieve the captured frame

img=cvQueryFrame(capture);

// show the image in the window

cvShowImage("mainWin", img );

// wait 10 ms for a key to be pressed

c=cvWaitKey(10);

// escape key terminates program

if(c == 27)

break;

}

return 0;

}

结果应该是用你电脑的摄像头显示视频。

把错误经历发上

1:分号什么的不注意,忘记重启,可能会出现无法打开 某dll 或者 obj的情况。

2:因为没改动位X64平台用测试程序时 会出现错误:“模块计算机类型“X86”与目标计算机类型“x64”冲突”

3:我没怎么用过vs,不要预编译 弄个空项目。。结果碰到了这种 无法打开包括文件:"stdafx.h" :No such file or director

碰到这种情况 时候将程序里 include“stdafx.h” 改成

#include "stdio.h"

#include "tchar.h"

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