最近开始学习OpenCV,参考了一些资料,发现《OpenCV2 计算机视觉编程手册》是市面上少数几个介绍OpenCV2.X的书籍,因为2.x版本与第一版有了很多的不同,增加了很多面向对象的操作方法,所以决定购入此书学习OpenCV,本人Qt,OpenCV纯小白,而这本书介绍的又太过泛泛,例程什么都跑不通,一开始也不知其所以然,所以准备写一写学习笔记,希望大家一同探讨,共同进步。
第一件要做的事情就是搭建开发环境,我参考书中搭建了写这篇文章时最新的OpenCV+QT开发环境
首先到OpenCV网站下载最新的OpenCV:
http://sourceforge.jp/projects/sfnet_opencvlibrary/releases/
安装完成后右击计算机-->属性-->高级系统设置-->环境变量-->PATH中添加OpenCV的路径:
D:\opencv\build\x86\vc12\bin
并继续安装QT软件:
http://qt-project.org/downloads
都安装好后,使用Qt Creator新建一个QT project
其中在.pro项目文件中添加文件包含的OpenCV库文件:
在下方键入(需要根据自己的安装路径修改配置):
INCLUDEPATH +=D:\opencv\build\include\
win32:CONFIG(debug, debug|release): {
LIBS += -LD:\opencv\build\x86\vc12\lib \
-lopencv_core249d \
-lopencv_imgproc249d \
-lopencv_highgui249d \
-lopencv_ml249d \
-lopencv_video249d \
-lopencv_features2d249d \
-lopencv_calib3d249d \
-lopencv_objdetect249d \
-lopencv_contrib249d \
-lopencv_legacy249d \
-lopencv_flann249d
} else:win32:CONFIG(release, debug|release): {
LIBS += -LD:\opencv\build\x86\vc12\lib \
-lopencv_core249 \
-lopencv_imgproc249 \
-lopencv_highgui249 \
-lopencv_ml249 \
-lopencv_video249 \
-lopencv_features2d249 \
-lopencv_calib3d249 \
-lopencv_objdetect249 \
-lopencv_contrib249 \
-lopencv_legacy249 \
-lopencv_flann249
}
在main.cpp敲入相应的代码
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
Mat image = imread("D:\\picture\\001.jpg");
namedWindow("My Image");
imshow("My Image",image);
waitKey(0);
cout<<"OK";
return 0;
}
右击工程文件执行Qmake,在运行就可以看到结果了