拖延了许久的计划今天终于付诸于行动,开始学习OpenCv了,鉴于我还是个小白,写博客的目的也只是记录下学习的历程和巩固知识,学习的方式多来源于网络、各大神博客、书籍等等吧,下面就开始进入正题吧。
在学习之前一直是用VS2010和VS2012做些简单的基于MFC的dialog的开发,后由于业务要求的加深,就想入门识别的开发了,后知OpenCv可以就尝试着开始学习啦。
通过网上资源我选择的是VS2012+OpenCv2.4.13 配置步骤如下:
这里我是直接将下载的OpenCv.exe直接放在D盘 双击解压,在D盘目录下会有一个opencv的文件夹,下面开始
1.配置计算机的环境变量:
用户变量中新建变量OpenCV,变量值:D:\opencv\build
新建变量path,变量值:D:\opencv\build\x86\vc11\bin
在系统变量中的Path后面加上:D:\opencv\build\x86\vc11\bin
注意:
在OpenCV配置中,vc11即对应VS2012,vc12对应的是VS2013。
另一点要关注的是上述变量值到底应该是x86还是x64?这里x86还是x64的选择跟你的电脑是32位还是64位无关,vs2012编译环境默认的使用win32编译器,所以选择x86。
在系统变量里编辑(或添加)Path变量,变量值:D:\ProgramFilesD\opencv\build\x86\vc11\bin,注意要使用英文输入下的分号和前面已有的路径分开,添加完之后需要重启或注销计算机,环境变量才会生效。2.后面就是:打开VS2012 FILE -> NEW -> Project ->Installed ->Visual C++ -> Win32 -> 然后是选择Win32的控制台程序:Win32 Console Application 编辑好名字和项目存放目录后 后面选择创建的是 Empty project 的程序 Finish 然后 选择 Source Files -> Add-> New Item -> C++ File(.cpp) 设置名字。
3.IDE工程项目属性配置:VIEW -> Property Manager ->Debug|Win32 -> 选中 右击添加 “新项目属性表” - “Add New Project Property Sheet” -> 给设置一个响亮的名字 以后会常用的
然后是双击打开这个表 在VC++Directories 的 Include Directories 中添加如下:
D:\opencv\build\include\opencv2
D:\opencv\build\include\opencv
D:\opencv\build\include
然后在 Library Directories 中 添加如下:
D:\ProgramFilesD\opencv\build\x86\vc11\lib
最后在Linker中 的 Input 中的 Additional Dependencies 中加入如下的依赖库文件:大致是19个
opencv_ml2413d.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_objdetect2413d.lib
opencv_ts2413d.lib
opencv_video2413d.lib
opencv_nonfree2413d.lib
opencv_ocl2413d.lib
opencv_photo2413d.lib
opencv_stitching2413d.lib
opencv_superres2413d.lib
opencv_videostab2413d.lib
好了基本完成,编写代码测试就好了,
#include <iostream>
#include <core\core.hpp>
#include <highgui\highgui.hpp>
using namespace cv;
using namespace std;
int main()
{
Mat image = imread("C:\\Users\\Administrator\\Desktop\\2.jpg");
if (!image.data)
{
cout << "" <<endl;
system("pause");
return -1;
}
namedWindow("Lena",1);
imshow("Lena",image);
waitKey();
return 0;
}
能够正常显示图片了