我认为的OpenCV
OpenCV的英文全称为 Open Computer Vision, 中文翻译过来就是开发式的计算机视觉。OpenCV应该对计算机视觉的一些算法进行了封装,并提供了算法的接口给开发者使用。OpenCV是开源的。
OpenCV的获取与配置
点击这里可以获得各个版本的OpenCV。
注意每个版本的OpenCV所支持的VC++版本是不同的。我用的是VS2010,因此只能用像OpenCV2.4.9这种支持VC10的的OpenCV版本。
我的系统是Windows 8.0的系统,下载后的OpenCV文件如下。
运行该exe文件,可以选择一个路径提取出opencv的源文件。提取后可以得到一个opencv文件夹。打开opencv文件夹后如下所示。
在VS2010中配置OpenCV
点击 项目->属性, 找到配置属性中的VC++目录,如下图所示。
编辑包含目录,添加下面路径。(注意,我的opencv文件夹在目录** J:\其他学习\计算机视觉\ **
J:\其他学习\计算机视觉\opencv2.4.9\build\include
J:\其他学习\计算机视觉\opencv2.4.9\build\include\opencv
J:\其他学习\计算机视觉\opencv2.4.9\build\include\opencv2
编辑库目录,添加下面路径。
J:\其他学习\计算机视觉\opencv2.4.9\build\x86\vc10\lib
本应该需要添加动态链接库的环境变量,因为我添加后没有效果,所以这里暂时不添加,而是在将动态链接库.dll文件添加在vs2010生成的exe文件路径下。
第一个OpenCV程序
用vs2010新建一个Win32控制台应用程序,取名为OpenCVTest。
点击 项目->属性, 找到链接器中的输入,如下图所示。
在附加依赖项中添加一下下面的依赖库名称。
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_ml249d.lib
opencv_nonfree249d.lib
opencv_objdetect249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_videostab249d.lib
下面是程序的源代码。
// OpenCVTest.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
#include <opencv2/opencv.hpp>
int _tmain(int argc, _TCHAR* argv[])
{
cv::Mat img = cv::imread("J:\\VS2010Projects\\OpenCVTest\\OpenCVTest\\smallpi.jpg");
cv::imshow("hello world",img);
cv::waitKey(0);
return 0;
}
注意图片路径字符串中的""需要进行转义,因此"\\"才代表""。
程序运行前需要将下面的两个文件放入生成的.exe文件路径下。
opencv_core249d.dll
opencv_highgui249d.dll
运行程序,其结果如下。
小结
- 介绍了OpenCV库的下载、安装和配置。
- 配置时需要配置.h文件、.lib文件和.dll文件,共三种文件。
- 编写了第一个图片加载和显示的OpenCV程序。