【一】opencv简介


opencv(Open Source Computer Vision Library)是一个开放源代码的计算机视觉库,最初由英特尔公司发起并开发,以 BSD 许可证授权发行,可以在商业和研究领域中免费使用,现在美国 Willow Garage 为 opencv 提
供主要的支持。 opencv可用于开发实时的图像处理、计算机视觉以及模式识别程序,目前在工业界以及科研领域广泛采用。
opencv由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。opencv拥有包括 500 多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库——尽管也可以使用某些外部库。
可以在这里学习:
opencv中文网
W3Cschool


【二】安装配置


1.下载安装opencv

从官网下载opencv:下载链接

选择你需要的版本进行下载,现在(2017/5/31)的最新版本是3.2.0,但不建议下载最新版,因为最新版的参考文档一般较少,除非你是真的需要最新版的东西,新手学习一般下载低版本较好(以下描述以opencv2.4.9+vs2013为例,其他版本类似)。

下载之后会得到一个.exe文件,双击运行,填入安装路径并记住这个路径,后面环境配置需要用到。如下图:

opencv api 中文 opencv._ide

2.系统环境配置

【计算机】->【(右键)属性】->【高级系统设置】->【高级(标签)】->【环境变量】->“双击”系统变量(或用户变量)中的PATH->在变量值里面添加相应的路径,64位系统添加路径为:”安装路径\opencv\build\x86\vc10\bin”,32位系统添加路径为:”安装路径\opencv\build\x64\vc10\bin”,如下图:

opencv api 中文 opencv._opencv_02

3.工程配置

在visual studio中新建项目,并进行配置,具体流程如下图:

<1>新建项目

opencv api 中文 opencv._ide_03

<2>

opencv api 中文 opencv._ide_04

<3>注意选择空项目和关闭安全检查:

opencv api 中文 opencv._opencv api 中文_05

<4>debug配置,双击debug

opencv api 中文 opencv._opencv api 中文_06

<5>输入之后点击确定

F:\opencv\opencv\build\include

F:\opencv\opencv\build\include\opencv

F:\opencv\opencv\build\include\opencv2 这三个目录。

opencv api 中文 opencv._静态链接_07

<6>输入之后点击确定

F:\opencv\build\x86\vc12\lib

如果是要使用静态链接,则输入F:\opencv\build\x86\vc12\staticlib

opencv api 中文 opencv._ide_08

<7>附加依赖项中输入之后点击确定

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

如果是静态链接,还需在最前面加上:

IlmImfd.lib

libjasperd.lib

libjpegd.lib

libpngd.lib

libtiffd.lib

zlibd.lib

opencv api 中文 opencv._opencv api 中文_09

<8>回到上述第4步

双击release,重复5~7步,不过第7步中输入变为:
opencv_ml249.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_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

同理,如果是静态链接,则在最前面加上:
IlmImf.lib
libjasper.lib
libjpeg.lib
libpng.lib
libtiff.lib
zlib.lib

<9>修改运行库版本,选择对应的版本,例如:如果opencv需要静态链接,且进行的是release版本配置,则选择MT。如果要动态链接,且进行的是debug版本配置,则选择MDd。

需要注意的是,第六步选择的链接库目录一定要和这一步选择的运行库版本一致,静态库就选静态库,动态库就选动态库,如果不一致则报错。

opencv api 中文 opencv._opencv_10

点击确定,到此为止,配置完成。

3.测试

输入如下测试代码并运行:

#include <iostream>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;
int main(){
    const char* path = "F:/test.jpg";
    //从文件中读入图像
    Mat img = imread(path);
    //如果读入图像失败
    if (img.empty()){
        fprintf(stderr, "Can not load image %s\n", path);
        return -1;
    }
    //显示图像
    imshow("image", img);
    //此函数等待按键,按键盘任意键就返回
    waitKey();
    return 0;
}

当看到你输入路径对应的图片时,说明你的配置成功了

opencv api 中文 opencv._静态链接_11

可以在工程目录下的debug和release目录下找到对应版本的exe,如果是静态链接,则可以直接将exe在其他没有安装opencv的电脑上运行,如果不是,则需要拷贝对应的动态库过去,具体方法自行百度。