在VS中配置并测试opencv

Posted 七厘米光影

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在VS中配置并测试opencv相关的知识,希望对你有一定的参考价值。

  什么是opencv?

  opencv是一个计算机视觉库。它目前有两个分支2.4.X和3.X,2.4.X版本是经典版本,网上的教程资源大多是关于它的,所以推荐使用2.4.X。

  它能帮我做什么?

  这意味着你可以在自己的程序中使用计算机视觉相关功能,但不必关注具体实现。就像你使用电脑,但并不用关注电脑内部的原理。你唯一需要知道的就是如何使用它。

  我该如何使用它?

  这就是本文的工作^-^ 。

  

  1,下载opencv

  首先到opencv官网下载win平台的opencv,解压后你可以看到下面两个文件夹——build和sources,build是官方已经为我们编译好的可以直接使用的,而sources中是opencv的源码,仅供高级玩家尝试。

 

  下载下来后可以大致浏览一下build文件夹下的内容:

  粗略一看就看到了熟悉的x86与x64(32位用和64位用),还有vc11和vc12,虽然以前没见过但大致也可以猜出vc11和vc12是指自己的VS中vc版本,我们可以根据自己的系统与vs版本来选择。

 

  2.配置环境变量

  程序中的可执行文件,必须添加到系统环境变量PATH中才能被系统识别。这就类似一所房子,你必须登记到你的名下,才能使用它。opencv也是一样,它在某些目录中提供了一些可执行文件,所以我们必须将这个目录添加到系统环境变量中。

  比如说我的可执行文件目录是E:\\opencv\\build\\x64\\vc12\\bin

  配置如下:

 

  3.配置VS工程

 

    在VS中新建一个win32 application的项目(略)。

 

    3.1 配置头文件位置

    当你在自己的代码中使用了opencv中的类或函数时,编译器并不知道这是个怎样的物体有什么功能。这就需要我们引用对应的头文件,因为在对应的头文件中有关于这个物体的描述,这样程序才能正确编译。然而这些头文件在哪里呢?我们需要告诉编译器。

    比如我的头文件目录是:

E:\\opencv\\build\\include
E:\\opencv\\build\\include\\opencv
E:\\opencv\\build\\include\\opencv2

将其配置到下面的“包含目录”中:

 

 

    3.2 配置库文件位置与指定库文件

    include中的头文件,只能大致的描绘opencv中的物体是怎样的有什么功能。但具体的,实现的,可运行的二进制代码全在库文件中,也就是lib文件中。只有这些具体实现的二进制代码链接到你的二进制代码中,程序才能正常工作。然而这些库文件在哪里呢?我们需要告诉编译器。

 

    先配置库文件位置:

    比如我的库文件位置是 E:\\opencv\\build\\x64\\vc12\\lib

    将其配置到下面的“库目录”中:

    

    然后指定库文件: 

opencv_calib3d2413.lib
opencv_calib3d2413d.lib
opencv_contrib2413.lib
opencv_contrib2413d.lib
opencv_core2413.lib
opencv_core2413d.lib
opencv_features2d2413.lib
opencv_features2d2413d.lib
opencv_flann2413.lib
opencv_flann2413d.lib
opencv_gpu2413.lib
opencv_gpu2413d.lib
opencv_highgui2413.lib
opencv_highgui2413d.lib
opencv_imgproc2413.lib
opencv_imgproc2413d.lib
opencv_legacy2413.lib
opencv_legacy2413d.lib
opencv_ml2413.lib
opencv_ml2413d.lib
opencv_nonfree2413.lib
opencv_nonfree2413d.lib
opencv_objdetect2413.lib
opencv_objdetect2413d.lib
opencv_ocl2413.lib
opencv_ocl2413d.lib
opencv_photo2413.lib
opencv_photo2413d.lib
opencv_stitching2413.lib
opencv_stitching2413d.lib
opencv_superres2413.lib
opencv_superres2413d.lib
opencv_ts2413.lib
opencv_ts2413d.lib
opencv_video2413.lib
opencv_video2413d.lib
opencv_videostab2413.lib
opencv_videostab2413d.lib

    其实这就是库文件目录下的所有库文件,你可以用cmd进入对应文件夹下,用“dir /b”命令来列出所有lib文件,然后复制到下面的“附加依赖项”中:

    

  4.测试opencv

  我们简单的测试一下opencv打开一张图片并显示,代码如下:

 1 //读取图片并显示
 2 #include "stdafx.h"
 3 #include<iostream> 
 4 #include <opencv2/core/core.hpp> 
 5 #include <opencv2/highgui/highgui.hpp> 
 6 using namespace cv;
 7 int main()
 8 {
 9     Mat img = imread("D:\\\\test.jpg");
10      namedWindow("测试opencv");
11      imshow("测试opencv", img);
12     cvWaitKey(6000);
13 }

 

  使用的图片如下(将图片保存到D盘根目录,并改名为test,即与程序中的一致):

  

  有了数据,有了程序,我们就可以运行了,但是千万别忽略了这个:

  运行效果(略)。

 

   TIP:【VS2013中如何解决error C4996: \'fopen\'问题】请参考【http://jingyan.baidu.com/article/ce436649fd61543773afd32e.html

 

 

以上是关于在VS中配置并测试opencv的主要内容,如果未能解决你的问题,请参考以下文章

请问如何在vs2010下配置opencv2.2,求详细步骤,万分感谢!

VS2013怎么配置opencv才能不用每次都重新配置一遍?

vs2015和emgu3.4.3可以配置吗

OpenCV开发环境配置(配人脸识别源码测试)

VS 永久配置opencv

VS2013怎么配置opencv才能不用每次都重新配置一遍