宋桓公

VS与Opencv的亲密接触之安装配置过程

0
阅读(3140)

最近想把FPGA采集的图像,上传到上位机显示,看到Opencv能帮大忙,所以就折腾折腾!

我用的是VS2012和opencv-2.4.10-2.4.10(目前的最新版本),哪个版本无所谓,本文都将适用。

首先安装opencv,安装过程仅仅就单击下exe即可;我安装到目录C:\opencv,安装好了之后,看下目录结构:、

选择其中的一个目录打开看看:

1、我当前机器是32位的所以选择的是X86这个路径,64位机器应选择x64;

2、我用的VS2012,所以选择的是VC11这个文件夹(里面还有VC10,VC12,那么对于的是其他VS版本)

wps4C31.tmp

我们看到Opencv为我们提供了很多库文件,这些到候要添加到vs的附加依赖项中,这是后话。

以上所说的都是不同版本安装时要注意的问题,下面,我就以VS2012和opencv-2.4.10-2.4.10

开始讲解。

首先,在我的电脑中配置OpenCV的环境变量:

右键我的电脑-》属性,然后顺序如下图所示:

wps4C51.tmp

Path变量值中添加如下语句:(你之前可能有其他软件的环境变量,注意不要覆盖,每条语句用“;”隔开即可)

;C:\opencv\opencv\build\x86\vc11\bin;

这里的目录根据你的Opencv安装目录,已经vs的版本,进行修改,上面已经提到了。

接着是VS2012 的配置,首先新建一个控制台程序!没错!就是控制台程序,Opencv就可以帮助我们构建一个界面!

打开项目属性-》VC++目录,然后我们需要为包含目录,引用目录,库目录添加一些东西:

wps4C61.tmp

包含目录:

wps4C62.tmp

引用目录:

wps4C63.tmp

库目录:

wps4C64.tmp

这些都是我们安装完opencv产生的目录自己添加吧!

最后,还需要附加依赖项,添加的内容就是第一章图片显示的那些库文件,全部添加吧:

wps4C85.tmp

1、opencv_calib3d2410.lib ,中的2410表示的版本号。这里避免大家一个个赋值粘贴了,我还是贴出来吧!

2、opencv_calib3d2410.lib和opencv_calib3d2410d.lib

一个是Release模式下的,请注意分别添加,这个是之后写Mat类程序才发现的。

//---------Debug--------- opencv_calib3d2410d.lib opencv_contrib2410d.lib opencv_core2410d.lib opencv_features2d2410d.lib opencv_flann2410d.lib opencv_gpu2410d.lib opencv_highgui2410d.lib opencv_imgproc2410d.lib opencv_legacy2410d.lib opencv_ml2410d.lib opencv_nonfree2410d.lib opencv_objdetect2410d.lib opencv_ocl2410d.lib opencv_video2410d.lib opencv_videostab2410d.lib //--------release---------- opencv_calib3d2410.lib opencv_contrib2410.lib opencv_core2410.lib opencv_features2d2410.lib opencv_flann2410.lib opencv_gpu2410.lib opencv_highgui2410.lib opencv_imgproc2410.lib opencv_legacy2410.lib opencv_ml2410.lib opencv_nonfree2410.lib opencv_objdetect2410.lib opencv_ocl2410.lib opencv_videostab2410.lib

最后还有一点得注意:就是如果你是X64平台,那么VS的在配置管理器中需要设置平台为x64,而不是win32.


#include "stdafx.h" #pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")//不让控制台窗口出现 #include < highgui.h> #include  using namespace std; using namespace cv; int main() { int k; //从文件中读入图像 Mat img = imread("D:\\kk\\ww.jpg",1);//0显示的就是黑白的 //如果读入图像失败 if(img.empty()) { printf("Can not load image %s\n"); cin >> k; return -1; } //显示图像 imshow("ww.jpg", img); //此函数等待按键,按键盘任意键就返回 waitKey(); return 0; }
程序运行如下:



Baidu
map