一、写此文的目的:
因为研究图像分割方面的应用,需要用到opencv库。
曾经配置过旧版本的opencv,换机器然后重装系统后,需要重新配置,过程还算顺利。
以后还要用,为防忘记,特别记录一下。
【百度百科】上面关于opencv的介绍:
OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
二、下载和准备工作参考博客:
http://blog.csdn.net/mdl13412/article/details/8289972
http://blog.csdn.net/zjutchenjm/article/details/11553717
我的实际操作是:安装好VS2010后。
1、下载软件:
下载OpenCV-2.4.8.exe(windows版本):打开放到D:\Program Files\opencv-2.4.8
下载cmake-2.8.12.1-win32-x86:解压到D:\Program Files\
2、安装openCV
【 用CMake可以生成供VS2012使用的OpenCV项目(sln),这样就可以在VS2012里采用Debug和Release模式生成相应的Dll和Lib了。】
(1)打开D:\Program Files\cmake-2.8.12.1-win32-x86\bin目录下的cmake-gui.exe
(2)设置好OpenCV的源码路径(D:/Program Files/opencv-2.4.8/opencv/sources)及构建路径(D:/Program Files/opencv-2.4.8/opencv/build2)。【OpenCV的路径应该选择到有“CMakeLists.txt”文件所在的层级】
(3)点击Configure按钮,在弹出的编译器选择界面中选择Visual Studio 10,等配置完成出现“Configuring done”的消息。
(4)将BUILD_EXAMPLES选项勾上,其余的使用默认配置即可。(如果需要使用OpenNI、OpenGL、QT、TBB库的需要自行配置库路径)
(5)再次点击Configure按钮,再次进行配置。
(6)配置成功后,点击Generate按钮,生成VS 2010所需的工程文件;
(7)在VS2010中打开目录D:\Program Files\opencv-2.4.8\opencv\build2下的opencv.sln。
(8)切换Build模式为Release,右键选择解决方案"OpenCV",在菜单中选择"重新生成解决方案"。
等待Build完成后,在opencv包目录下找到INSTALL子项目,右键选择"生成"。
【切换Build模式为Debug,同样重新进行一次构建。】
(9)完成后,就可以在你的OpenCV工程目录下找到相应的库文件,其目录结构如下:
【其中,include目录包含相应的头文件;v10目录下的bin目录中包含了需要的所有Debug版本和Release版的dll文件,lib则包含对应的lib文件,跟dll关联的源代码在Opencv安装目录D:\Program Files\opencv-2.4.8\opencv\sources\modules内。另外,如果在前面的CMake编译选项中勾选了BUILD_EXAMPLE,那么这里还会有一个samples文件夹,主要是OpenCV自带的一些小例子。】
为方便管理,将得到的D:\Program Files\opencv-2.4.8\opencv\build2\install拷贝到D:\Program Files\opencv-2.4.8目录下。
【而此时D:\Program Files\opencv-2.4.8\opencv\build2没有用了,但是不能删除,否则无法跟踪源码,可以通过VS2012的“清理解决方案”来减少占用的空间。】
3、配置OpenCV
将D:\Program Files\opencv-2.4.8\install\x86\vc10\bin目录中的以下文件拷贝到目录C:\Windows\System32。
在VS2010中建立一个新项目fitting,在项目上右键属性,配置项目属性。
(1)Debug/Win32
配置属性-->VC++目录 需要编辑增加路径如下(先新建路径,再找到相应目录,点击应用)
可执行文件目录:D:\Program Files\opencv-2.4.8\install\x86\vc10\bin
包含目录:D:\Program Files\opencv-2.4.8\install\include;
D:\Program Files\opencv-2.4.8\install\include\opencv;
D:\Program Files\opencv-2.4.8\install\include;
库目录:D:\Program Files\opencv-2.4.8\install\x86\vc10\lib
配置属性-->链接器-->输入:(输入一项就添加回车做间隔)
附加依赖项:
opencv_calib3d248d.lib
opencv_contrib248d.lib
opencv_core248d.lib
opencv_features2d248d.lib
opencv_flann248d.lib
opencv_gpu248d.lib
opencv_highgui248d.lib
opencv_imgproc248d.lib
opencv_legacy248d.lib
opencv_ml248d.lib
opencv_nonfree248d.lib
opencv_objdetect248d.lib
opencv_photo248d.lib
opencv_stitching248d.lib
opencv_ts248d.lib
opencv_video248d.lib
opencv_videostab248d.lib
(2)Release/Win32
配置属性-->VC++目录 需要编辑增加路径如下(先新建路径,再找到相应目录,点击应用)
可执行文件目录:D:\Program Files\opencv-2.4.8\install\x86\vc10\bin
包含目录:D:\Program Files\opencv-2.4.8\install\include;
D:\Program Files\opencv-2.4.8\install\include\opencv;
D:\Program Files\opencv-2.4.8\install\include;
库目录:D:\Program Files\opencv-2.4.8\install\x86\vc10\lib
配置属性-->链接器-->输入:(输入一项就添加回车做间隔)
附加依赖项:
opencv_calib3d248.lib
opencv_contrib248.lib
opencv_core248.lib
opencv_features2d248.lib
opencv_flann248.lib
opencv_gpu248.lib
opencv_highgui248.lib
opencv_imgproc248.lib
opencv_legacy248.lib
opencv_ml248.lib
opencv_nonfree248.lib
opencv_objdetect248.lib
opencv_photo248.lib
opencv_stitching248.lib
opencv_video248.lib
opencv_video248.lib
opencv_videostab248.lib
4、出现的问题还蛮多的。
(1)配置的时候,没有把用到的库(*.lib)都给加入链接器的输入附加依赖项,后来把(*.lib)全部都加上了,问题就解决了。
(2)在配置完成后,没有进行步骤3的第一步,出现了“找不到*.dll文件”错误,一个一个滴把文件拷到system32目录下,问题就解决了。
表示对opencv的了解还不够,继续学习,参考学习笔记:http://blog.csdn.net/Lu597203933/article/details/16349965
【
Opencv1.0版本于2006年面世,主要基于C语言。2009年发布opencv2,主要基于C++。此时opencv库被划分成多个模块,这些模块被编译成库文件后,位于lib文件夹中。主要有以下模块(版本1的结构见我的这篇blog:http://blog.csdn.net/lu597203933/article/details/13614377):
Opencv_core模块:包含核心功能,尤其是底层数据结构和算法函数。
Opencv_improc模块:包含图像处理函数。
Opencv_highgui模块:包含读写图像及视频的函数,以及操作图形用户界面函数。
Opencv_features2d模块:包含兴趣点检测子,描述子以及兴趣点匹配框架。
Opencv_calib3d模块:包含相机标定,双目几何估计以及立体视觉函数。
Opencv_video模块:包含运动估算,特征跟踪以及前景提取函数与类。
Opencv_objdetect模块:包括物体检测函数,如脸部和行人检测。
库中还包含其它的工具模块,如机器学习(opencv_ml),计算几何(opencv_flann),第三方代码(opencv_contrib)等。这些模块都对有一个单独的头文件(位于include文件夹)。推荐的声明方式如下:
#include
#include
#include
而#include "cv.h"这是旧的代码方式,那是库还没有被划分为模块。
】