crazybird

OpenCV3.0.0的下载、安装与配置

0
阅读(15248)

安装VisualStudio2010,这里不做介绍。

注意:官方对OpenCV3的配置过程已经简化。当配置链接库时,对于release版本,只需添加opencv_ts300.lib和opencv_world300.lib;对于debug版本,只需添加opencv_ts300d.lib和opencv_world300d.lib。其中,300是OpenCV对应的版本号。

一、OpenCV的下载与安装

在http://opencv.org 上下载OpenCV,以OpenCV3.0.0为例。双击opencv-3.0.0-beta.exe进行OpenCV的安装(其实是自解压的过程)。

1.png

选择OpenCV解压到的路径(这里为D:\SoftwareInstall),点击Extract。


2.png

3.png


OpenCV安装完成后,在D:\SoftwareInstall目录下产生3个多GB大小的opencv文件夹。

4.png

opencv目录下有两个文件夹build和source。其中,build是支持OpenCV使用的相关文件,source为OpenCV的源代码及相关文件。

5.png

二、环境变量的配置

选择电脑桌面“计算机”—>右键—>属性—>高级系统设置—>环境变量,在弹出的对话框中,找到“系统变量”中“Path”,点击“编辑”,在“变量值”中输入“;”(注意切换到英文输入法)和“D:\SoftwareInstall\opencv\build\x86\vc10\bin” 及 “D:\SoftwareInstall \opencv \build\x64\vc10\bin”(这里跟编译器系统有关,根据使用的编译器系统选择,如32位编译器或64位编译器),一路点击“确定”,完成环境变量的设置。

注意:x86表示编译器为32位;x64表示编译器为64位;vc10表示VisualStudio2010vc8表示VisualStudio2005vc9表示VisualStudio2008vc11表示VisualStudio2012vc12表示VisualStudio2013、后续版本以此类推)。

6.png

三、工程包含目录的配置

打开VisualStudio2010,选择“文件”—>新建—>项目,新建一个项目。

7.png

在弹出的“新建项目”对话框中,选择“Win32控制台应用程序”,并输入项目的名称和位置,点击“确定”。

8.png

点击“下一步”,选择“空项目”,点击“完成”。

9.png

在解决方案资源管理器中的源文件右键单击—>添加—>新建项,新建一个cpp源文件。

10.png

选择“C++文件(.cpp)”并输入源文件名称(这里为FirstProject),点击“添加”。

11.png

选择菜单“视图”—>属性管理器。在属性管理器中进行一次配置,就相当于进行了通用的配置过程,以后新建的工程就不用再额外进行配置。

12.png

在属性管理器中展开Debug|Win32,双击“Microsoft.Cpp.Win32.user”(或右键属性)。

13.png

在“属性页”中,选择“通用属性”—>“VC++目录”—>“包含目录”,添加以下三个包含路径(可根据OpenCV的安装路径进行修改):


D:\SoftwareInstall\opencv\build\include
D:\SoftwareInstall\opencv\build\include\opencv
D:\SoftwareInstall\opencv\build\include\opencv2

四、工程库目录的配置

这里跟第三点的配置类似。在“属性页”中,选择“通用属性”—>“VC++目录”—>“库目录”,添加以下库路径(可根据OpenCV的安装路径进行修改):

D:\SoftwareInstall\opencv\build\x86\vc10\lib

17.png

五、链接库的配置

在“属性页”中,选择“通用属性”—>“链接器”—>“输入”—>“附加依赖项”,添加以下链接库(带d的链接库放前面、不带d的链接库放后面,表示优先支持debug的编译运行、然后才是release的编译运行):


opencv_ts300d.lib
opencv_world300d.lib
opencv_ts300.lib
opencv_world300.lib

18.png

19.png

此外,需注意的是OpenCV3.0.0以下版本的链接库配置与这里的差别很大。例如,OpenCV2.4.9的链接库配置:

opencv_ml249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib

注意:以上内容为OpenCV安装路径…\opencv\build\x86\vc10\lib下所有lib库文件的名称。

六、在windows中加入OpenCV的动态链接库

将OpenCV安装路径D:\SoftwareInstall\opencv\build\x86\vc10\bin的所有dll复制到C:\Windows\SysWOW64目录下(如果电脑系统为32位系统,则将dll复制到C:\Windows

\System32中),这样电脑就不用重启了。

七、测试

此次测试的内容是载入并显示一张图片。新建一个空的Win32控制台应用程序工程,并新建cpp源文件(工程名和源文件都命名为ImageDisplay)。ImageDisplay.cpp的内容(图片picture.jpg与ImageDisplay.cpp在同一个目录下):

#include <opencv2\opencv.hpp>
using namespace cv;
 
int main()
{
    Mat img = imread("picture.jpg"); //  载入一张图片
    imshow("显示图片",img);         //  在窗口中显示载入的图片
    waitKey();                      //  等待按键按下退出
    return 0;
}

编译运行,结果出现了以下错误:

LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

网上查了一下,有几种方法可以解决该问题。这里,通过修改项目属性的方法来解决。选择菜单“视图”—>“属性管理器”,在“属性管理器”中展开“debug|win32”,双击Microsoft.Cpp.Win32.user。在“属性页”中,选择“通用属性”—>“清单工具”,在“嵌入清单”这一项选择“否”,点击“应用”、“确定”,这样就解决问题了。

20.png

再次编译运行,便打开控制台和显示一张图片。

21.png