opencv2.4.13+VS2013编译及配置

爱被打了一巴掌 2022-07-13 01:37 268阅读 0赞

主要内容:

debug版本:

包含目录(Include Directories):

  1. 直接安装版opencv
  2. E:\\OpenCV\\opencv\\build\\include
  3. E:\\OpenCV\\opencv\\build\\include\\opencv
  4. E:\\OpenCV\\opencv\\build\\include\\opencv2
  5. 编译版opencv
  6. E:\\OpenCV\\opencvSln\\install\\include
  7. E:\\OpenCV\\opencvSln\\install\\include
  8. E:\\OpenCV\\opencvSln\\install\\include

lib目录:

  1. 直接安装版opencv
  2. E:\\OpenCV\\opencv\\build\\x86\\vc12\\lib
  3. 编译版opencv
  4. E:\\OpenCV\\opencvSln\\install\\x86\\vc12\\lib

lib文件名(见后)

本文采用的opencv版本为opencv-2.4.13, 下面是主要步骤(直接用opencv 编译好的build文件夹可以省去自己手动编译的一步)

一、编译opencv源码

  1. 将OpenCV2.4.13的压缩包解压到路径D:\OpenCV\opencv (以下所有路径都可自己选择 只要对应起来即可)

  2. 安装Cmake,可以到官网http://www.cmake.org去下载并按默认设置安装安装即可。

    此处注意一般vs采用的是win32编译器进行debug和release(即使你是安装的x64),所以下载cmake的时候应该下载32位版本,这样cmake编译出来的是32位的工程文件,x64的cmake编译的是64位工程文件。

3.打开Cmake,在第一行“Where is the source code”后面的那个“Browse Source…”按钮,选择OpenCV的安装路径。我的Opencv2.0安装路径为D:/OpenCV/opencv/,这里需要选择source文件夹,因此输入D:/OpenCV/opencv/sources,同理点击第二行的“Browse Build…”按钮并选择生成的源码路径。这里放置在D:/OpenCV/opencvSln文件夹中,设定完成后点击左下方的configure。

![Image 1][]

4.在弹出的对话框中选择第一项,并在下拉框中选择编译平台,由于本人电脑上安装的是VS2013,因此,就选择Visual Studio 12 2013,点击Finish。 此处注意你选择使用的编译器应该和你平时使用的编译器相同。

![Image 1][]

5.需要一段时间,完成时出现以下界面:

![Image 1][]

6.再次点击Configure按钮,完成时红色部分消失,为以下状态:

![Image 1][]

7.点击“Generate”按钮,等到最下方信息显示框显示点击“Generate done”时所有步骤完成!至此,就生成了包含OpenCV函数源代码的Visual Studio工程文件;进入工程文件所在的路径D:/OpenCV/opencvSln,点击open project可以直接进入vs查看生成的解决方案:

![Image 1][]

此时,你就可以通过vs查看opencv的源码。

8.对源码进行编译:

(1)点击运行,分别生成Debug版本和Release版本。可以看到路径“D:\OpenCV\opencvSln”下多了bin和lib文件夹。这两个文件夹中都包含两个子文件夹Debug和Release,存放的Debug版本和Release版本的静态库与动态库。

(2)在解决方案视图(类视图)中选择“INSTALL”,右键生成。此时在路径“D:\OpenCV\opencvSln\install\include\opencv2”下包含了很多子文件夹,每个子文件夹就是OpenCV2.2.0的各个功能模块的头文件。这一步也要分别生成Debug版本和Release版本。

![Image 1][]

二、opencv库的配置与链接

1.将“D:\OpenCV\opencvSln\bin”加入到系统环境变量中。

在控制面板——系统和安全——系统——高级系统设置——环境变量里的“PATH”下添加“D:\OpenCV\opencvSln\bin”

![Image 1][]70

![Image 1][]

  1. 在VS2013项目中配置OpenCV。此步有多种方法,鉴于debug和release链接的lib文件不同,此处我采用的是将opencv链接的debug和release分别配置为一个属性表,在以后需要用opencv库的项目中都添加这个配置好的属性表即可。其他方法详见OpenCV在Visual Studio中的属性表配置方法。

(1)首先新建一个vs控制台项目,在属性管理器(property manager,如果没找到,在view——other window里调出)中选择Debug|Win32,右键选择添加新项目属性表

![Image 1][]70 1

(2)创建新属性表后如下图,选择你创建的属性表,右键“属性”。

![Image 1][]70 2

(3)选择VC++目录,点击包含目录(Include Directories),点击右侧下拉按钮编辑,将上一步install编译生成的头文件目录include添加进包含目录中。我这里是如下三个目录:

D:\OpenCV\opencvSln\install\include

D:\OpenCV\opencvSln\install\include\opencv

D:\OpenCV\opencvSln\install\include\opencv2

70 3

注意:如果直接使用opencv编译(build)生成的头文件,目录有所不同,但都是在include文件夹下面,即:

D:\OpenCV\opencv\build\include

D:\OpenCV\opencv\build\include\opencv

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

![Image 1][]

(4)将编译好的lib目录添加进库目录,此处为debug的属性页,将编译生成debug版本的lib文件目录添加到库目录

D:\OpenCV\opencvSln\lib\Debug

这个目录也有vc12的lib文件

D:\OpenCV\opencvSln\install\x86\vc12\lib

注意:如果直接使用opencv编译(build)生成的头文件,目录有所不同,但都是在lib文件夹下面,即:

70 4![Image 1][]

此时因为这里配置的是vs2013,所以选择vc12

VS版本 与 VC版本 的对应关系

Visual Studio 6 : vc6
Visual Studio 2003 : vc7
Visual Studio 2005 : vc8
Visual Studio 2008 : vc9
Visual Studio 2010 : vc10
Visual Studio 2012 : vc11
Visual Studio 2013 : vc12
Visual Studio 2015 : vc14

(5)链接库的配置。

同样在属性页中,选择 属性->链接器->输入->附加依赖项:

70 5

编辑附加依赖项,将lib文件夹中的lib文件名全部添加到附加依赖项中。

我使用的2.4.13版,此处先配置debug版本的文件,因此lib文件为:(数字为版本号,d表示为debug版本)

opencv_calib3d2413d.lib
opencv_contrib2413d.lib
opencv_core2413d.lib
opencv_features2d2413d.lib
opencv_flann2413d.lib
opencv_gpu2413d.lib
opencv_haartraining_engined.lib
opencv_highgui2413d.lib
opencv_imgproc2413d.lib
opencv_legacy2413d.lib
opencv_ml2413d.lib
opencv_nonfree2413d.lib
opencv_objdetect2413d.lib
opencv_ocl2413d.lib
opencv_photo2413d.lib
opencv_stitching2413d.lib
opencv_superres2413d.lib
opencv_ts2413d.lib
opencv_video2413d.lib
opencv_videostab2413d.lib

![Image 1][]

(6)到此为止,debug的文件库目录和链接就已经配置完成,如果步骤没有问题,此时vs就能够用debug运行调用opencv库了;若要使用release采用同样的方法对release版本进行配置即可。

目录:

![Image 1][]

附加依赖项:

opencv_calib3d2413.lib
opencv_contrib2413.lib
opencv_core2413.lib
opencv_features2d2413.lib
opencv_flann2413.lib
opencv_gpu2413.lib
opencv_haartraining_engine.lib
opencv_highgui2413.lib
opencv_imgproc2413.lib
opencv_legacy2413.lib
opencv_ml2413.lib
opencv_nonfree2413.lib
opencv_objdetect2413.lib
opencv_ocl2413.lib
opencv_photo2413.lib
opencv_stitching2413.lib
opencv_superres2413.lib
opencv_ts2413.lib
opencv_video2413.lib
opencv_videostab2413.lib

三、测试程序:

使用一个小的测试程序进行测试opencv库的配置

  1. nclude<iostream>
  2. #include <opencv2/core/core.hpp>
  3. #include <opencv2/highgui/highgui.hpp>
  4. #include <opencv2/imgproc/imgproc.hpp>
  5. using namespace cv;
  6. int main()
  7. {
  8. // 读入一张图片(游戏原画)
  9. Mat img = imread("building.jpg");
  10. // 创建一个名为 "游戏原画"窗口
  11. namedWindow("游戏原画");
  12. // 在窗口中显示游戏原画
  13. imshow("游戏原画", img);
  14. // 等待6000 ms后窗口自动关闭
  15. waitKey(6000);
  16. return 0;
  17. }

结果如下:

[Image 1]:

发表评论

表情:
评论列表 (有 0 条评论,268人围观)

还没有评论,来说两句吧...

相关阅读

    相关 opencv2+opencv3+VS2013

            由于高版本软件内容丰富且源代码优化便于操作,但是也往往舍弃低版本某些库文件。opencv3中库文件中丢掉了opencv\_nonfree2410d.lib 文件

    相关 VS2013配置openssl

    因为信息安全的作业,准备调用openssl,这是别人写好的一个开源软件包,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使