小弟转行学图像已经有一段时间了,这段时间一直在被数据结构和算法导论折磨得半生不死,(说实话,这些东西学起来还真是太枯燥了),

           回想起当初学OpenCV时候的那股兴奋,想想,还是把学习过的知识总结一下,和大家共勉一下,顺便复习。

           写这篇博客的时候,OpenCV最新的版本是 2.4.8,所以就下下来,重新学习一篇。

一、首先,我们当然要知道,OpenCV是什么?

这里,我们简单的了解一下:OpenCV是一个用于图像处理、分析、机器视觉方面的开源函数库. 无论你是做科学研究,还是商业应用,opencv都可以作为你理想的工具库,因为,对于这两者,它完全是免费的。


二、下载和安装OpenCV SDK

1.下载VS2010:打开网址下载http://www.xiazaiba.com/html/4614.html,然后看评论你就懂了。

2.下载OpenCV(目前最新版本2.4.8):打开官网http://opencv.org/上找到OpenCV windows版下载下来

opencv下载哪个版本好 opencv装哪个版本好_opencv下载哪个版本好

3.下载完之后你的系统会多了一个

opencv下载哪个版本好 opencv装哪个版本好_opencv下载哪个版本好_02

,双击“解压”,目录名字最好要清晰,不要简单的opencv,因为以后你的电脑里面可能不止一个版本,

opencv下载哪个版本好 opencv装哪个版本好_配置_03

解压后,你就会多了一个文件夹:

opencv下载哪个版本好 opencv装哪个版本好_配置_04

其中,build里面是使用OpenCV相关的文件,我们如果只是使用OpenCV的话呢,就只用管build里面的内容。

sources里面包含了一些源代码。(暂时可以不用管它)



三、配置环境变量

在这里要说明一下,有些朋友说这里不用配置也行,其实是不行的,如果后面出现,

opencv下载哪个版本好 opencv装哪个版本好_配置_05

我很负责任的说,绝大部分是你的环境变量没有设置好。

(如果您正确配置后还是出现这个错误,我建议您可以尝试这样做:

opencv\build\x86\vc10\bin目录下所有文件,拷贝到C:/Windows/system32 下)

这步的配置方法如下:

计算机->(右键)属性->高级系统设置-->环境变量->(双击)path(用户,系统里面的path任选其一)->在变量值里面添加相应的路径。

对于32位系统,就添加:(记得要加上分号)

…… opencv\build\x86\vc10\bin;

 

而对于64位系统,可以两个都添加上:

…… opencv\build\x86\vc10\bin;

和…… opencv\build\x64\vc10\bin;

这样,到时候就可以在编译器Win32和X64中来回切换


例如,博主的是32位系统

D:\OpenCV 2.4.8\opencv\build\x86\vc10;


《PS:我们在此先在环境变量添加一个新的环境变量 OPENCV(不区分大小写) 》,如图:

opencv下载哪个版本好 opencv装哪个版本好_opencv2_06

有什么用下面再说。


注:变量值实际为bin文件夹的路径;X64表示运行系统环境位64位系统,X86表示32位系统;vc10表示编译环境为Microsoft Visual Studio 2010;变量添加完成后需要注销系统,才会生效。




四、配置VS2010

属性管理器,将“一劳永逸”

首先,创建一个新的工程,选择“视图”——“其他窗口”——“属性管理器”,如下图所示。

opencv下载哪个版本好 opencv装哪个版本好_环境变量_07

在弹出的配置框中配置,选择“VC++目录”。

(1)在“包含目录”中的结尾处加入以下内容添加以下内容:

$(opencv)\include\opencv;
$(opencv)\include\opencv2;
$(opencv)\include;

(2)在库目录中的结尾处加入以下内容添加:

$(opencv)\x86\vc10\lib;

注:$(opencv)\include\opencv是告诉VC去“opencv”这个变量中的文件夹下的\include\opencv路径中找OpenCV的库文件目录。

$(opencv)好处是,如果opencv的位置变了,我们只需要更改环境变量)

  如下图所示。

opencv下载哪个版本好 opencv装哪个版本好_opencv2_08

(3)在“链接器”-“输入”-“附加依赖选项”中的结尾处加入以下内容:

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_objdetect248d.lib
 opencv_ts248d.lib
 opencv_video248d.lib
 opencv_nonfree248d.lib
 opencv_ocl248d.lib
 opencv_photo248d.lib
 opencv_stitching248d.lib
 opencv_superres248d.lib
 opencv_videostab248d.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_ml248d.lib
 opencv_objdetect248.lib
 opencv_ts248.lib
 opencv_video248.lib
 opencv_nonfree248.lib
 opencv_ocl248.lib
 opencv_photo248.lib
 opencv_stitching248.lib
 opencv_superres248.lib
 opencv_videostab248.lib

(有用没有都加进去吧,反正有备无患,哈哈)

如下图所示。


opencv下载哪个版本好 opencv装哪个版本好_配置_09

需要注意的是,所粘贴内容即为%(opencv)\x86\vc10\lib下所有lib库文件的名字;其中的248代表我们的OpenCV版本为2.4.8,

若是其他版本的配置则在这里要进行相应的更改,

d结尾的Debug库文件,Release则没有,如 opencv_ts248d.lib和opencv_ts248.lib

点击确定,至此OpenCV的配置完成。

五、测试

1.选择一张图片放在工程目录下(跟Debug同个目录),并命名为beach.jpg。

2.创建一个win32控制台程序

3.输出以下代码:

#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>

int main()
{
	//从默认目录读进一个名为beach.jpg的图片
	cv::Mat image = cv::imread("beach.jpg");
	//显示图片
	cv::imshow("Image",image);
	//等待按键
	cv::waitKey(0);
}

4.编译、运行

环境变量、 包含目录、 库目录还有 附加依赖项是否真确配置。

6.不出错的情况下,会在窗口名为Image的窗口显示一个图片。

opencv下载哪个版本好 opencv装哪个版本好_环境变量_10



   

      祝大家配置成功!(有问题欢迎询问、改正)