OpenCV配置指南

第一次配置 OpenCV 比较繁琐,而 OpenCV Library 提供了丰富而详细的说明文档,虽然文档内容多基于 Visual Studio 2010,但是与之后的版本在配置上没有太大差别,这里以 Visual Studio 2013 + OpenCV2.4.13 为环境做配置详解。

一、下载和解压 OpenCV

前往 OpenCV 官网,找到RELEASES,选择合适的版本,其中有 OpenCV2 和 OpenCV3,OpenCV2 相关资料较多,故选择 OpenCV2。注意:不要选择带 * 号的版本,官网上对于 * 的意思没有做出解释,而 * 号版本解压后会有文件欠缺的情况。

这里选择了 OpenCV2.4.13,对于 Linux 环境可以选择 source 再在本地 cmake,而我直接选择了 windows 版本(win pack)。安装后双击文件,会有一段解压过程,解压成功后便能看到 opencv 目录。这里有两点注意事项:
1. 在现在的版本中,解压不再像以前附带自动配置环境变量的选项,故解压成功后须自行配置系统环境变量。
2. 理论上解压到哪都行,但是官方文档是以直接解压到 D 盘作文档说明的,故建议直接放到分区目录下,保证第一次配置少出错。

二、配置环境变量

添加系统环境变量 OPENCV_DIR

文档直接给出了 CMD 配置环境变量的命令,可根据所用 Visual Studio 版本选择适合自己的命令。(这就是为什么建议解压到磁盘目录下,可以直接复制文档建议的命令使用)

setx -m OPENCV_DIR D:\OpenCV\Build\x86\vc11     (suggested for Visual Studio 2012 - 32 bit Windows)
setx -m OPENCV_DIR D:\OpenCV\Build\x64\vc11     (suggested for Visual Studio 2012 - 64 bit Windows)
setx -m OPENCV_DIR D:\OpenCV\Build\x86\vc12     (suggested for Visual Studio 2013 - 32 bit Windows)
setx -m OPENCV_DIR D:\OpenCV\Build\x64\vc12     (suggested for Visual Studio 2013 - 64 bit Windows)
setx -m OPENCV_DIR D:\OpenCV\Build\x64\vc14     (suggested for Visual Studio 2015 - 64 bit Windows)

配置 bin 目录到 PATH 环境变量

如果是自己编译静态库,那么则不需要执行此步。如果像我一样直接使用的官方打包解压,则需要把 OpenCV 的 bin 目录配置到 PATH 环境变量中,这样才能让 OpenCV 链接到 bin 目录下的 DDL 运行。在 PATH 中添加

%OPENCV_DIR%\bin

三、Visual Studio 的配置

  1. 新建测试项目。文件(File) -> 新建(New) -> 项目(Project),选择Win32控制台应用程序(Win32 Console Application),这里我给项目取名“TestOpenCV”,下一步后,注意勾选空项目(Empty project)。
  2. 打开项目属性管理器视图(Property Manager)。对于 VS2012 及以前的版本,应该是视图(View) -> 属性页(Property Page)。对于之后的 Visual Studio 版本,应该是视图(View) -> 其他窗口(Other Windows) -> 属性管理器(Property Manager)。此时就能在右侧看到属性管理器视图了。
  3. 重要一步,新建Win32控制台应用程序,会默认 win32 平台,对于按64位配置的环境,会导致程序运行出错。故这里需要根据个人情况,配置项目的平台。在属性管理器视图,右击项目“TestOpenCV”(根据你自己的项目名称),选择属性(Property)。在弹出来的窗口中点击右上角的配置管理器(Configuration Manager),在活动解决方案平台中选择自己的平台,这里我选择的是 x64,确定后关闭窗口。
  4. 如果改成 x64 平台,此时可以在属性管理器视图中看到多出来 Debug | x64 和 Release | x64 两个文件夹,删去另外两个 win32 文件夹。
  5. 右键 Debug | x64,添加新项目属性表(new Property Sheet),和文档一致,给属性表命名为 OpenCV_Debug,确定。
  6. 右键 OpenCV_Debug,左侧选择 C/C++ -> 常规(General),右侧选择附加包含目录(Additional Include Directories),添加$(OPENCV_DIR)\..\..\include
  7. 左侧选择链接器(Linker) -> 常规(General),右侧选择附加包含目录(Additional Include Directories),添加$(OPENCV_DIR)\lib
  8. 再选择链接器(Linker) -> 输入(Input),右侧选择附加依赖项(Additional Dependencies),添加 lib 文件名。以我直接解压到D盘为例,lib 文件所在文件夹为D:\opencv\build\x64\vc12\lib。其中,lib 文件名以 d 结尾的代表 Debug 库,对应的每一个 Debug 库都有 Release 库,即不以 d 结尾的 lib 文件。以我所用的2.4.13版本为例,所需要添加的 lib 文件名如下:
opencv_calib3d2413d.lib
opencv_contrib2413d.lib
opencv_core2413d.lib
opencv_features2d2413d.lib
opencv_flann2413d.lib
opencv_gpu2413d.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

确定后,再类比5-8步配置好 Release 属性表即可。

四、测试

文档中提供了样例代码以供参考,新建cpp文件,如introduction_windows_vs.cpp。粘贴如下代码。

#include 
#include 
#include 
#include 

using namespace cv;
using namespace std;

int main( int argc, char** argv )
{
    if( argc != 2)
    {
     cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;
     return -1;
    }

    Mat image;
    image = imread(argv[1], IMREAD_COLOR); // Read the file

    if( image.empty() ) // Check for invalid input
    {
        cout << "Could not open or find the image" << std::endl ;
        return -1;
    }

    namedWindow( "Display window", WINDOW_AUTOSIZE ); // Create a window for display.
    imshow( "Display window", image ); // Show our image inside it.

    waitKey(0); // Wait for a keystroke in the window
    return 0;
}

再随便找张图片,或者下载官方测试图片,将图片文件添加到代码同一目录下。再打开项目的属性页,选择调试(Debugging),在右侧命令参数(Command Arguements)添加图片文件名,例如官方测试图片 opencv-logo.png。再启动项目,便可以看到带有 OpenCV Logo 的窗口了。

至此 OpenCV 首次配置成功,后续将继续 OpenCV 部分核心功能与部分库文件的使用指南。其中大部分已在官方文档说明,也可自行前往官网查阅。
`

你可能感兴趣的:(OpenCV)