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

最近想把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 
View Code

 

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

到目前为止,VS与Opencv就已经很好的关联在一起了。

#include "stdafx.h"
#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")//不让控制台窗口出现
#include < highgui.h>
#include <opencv2/opencv.hpp>
 
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;
 
}

posted @ 2015-01-15 11:54  宋桓公  阅读(639)  评论(0编辑  收藏  举报