Opencv 配置VS2012


开始接触图像处理有一段时间了,经过前期的调研,和相关入门知识的学习,开始接触一些图像处理应用的工具。Opencv是一个图像处理的开源库,由于其开放的协议架构,国内外很多科研机构和团队都在基于opencv做开发。

首先开发opencv要对opencv进行配置,本篇博客就是写出我的配置过程,和遇到的一些问题,供大家参考应用。

开始吧!

第一步  下载和安装Opencv

首先要上opencv网站上下载opencv的包,就是一个.exe文件。网址: http://opencv.org/


 

这个文件大概350M左右。截止自2015年12月,Opencv在2015年6月4日已经发布至3.0版本,在opencv网站上面可以下载到最新的版本。

配置当然还要vs开发环境,本文以opencv2.4.9版本,vs2012(自行下载安装)为例:

下载完了opencv,便可以进行安装和配置。运行可执行下载的opencv2.4.9.exe文件如下图


 

与其说是安装,不如说是解压会更合适一点,选择要把该开源库解压到的路径,解压到

D:\Program Files,由于opencv项目文件打包的时候,已经统一放在Opencv的文件目录下,所以无需新建一个文件夹,命名为Opencv,只要选择上一级目录就ok了。不说废话上图


 

然后点击红框的Extract,就是一场漫长的等待之旅,(也就几分钟吧!哈哈哈!)

解压完之后是万里长征第一步呀!好奇心害死猫呀,好奇的同学就想看看,解压出来的到底是何方神圣!其实在解压之后Opencv目录下就包含两个文件夹,一个build,一个source,build是Opencv使用的相关文件。Source是相关的源码和一些文件。还不太了解它是啥,没事放着吧,得先把它配好了才可以收拾它嘛!接下啦开始第二步。

第二步配置环境变量

【计算机】—【系统属性】—【高级系统配置】—【高级(标签栏)】—【环境变量】—双击环境变量中的PATH—在变量中添加刚刚解压的Opencv路径。高能区:添加是加,不是删除之前的变量值,在之前的环境变量之后添加一个“”再加入Opencv的值。没图你说个bb!上图:

 






 

 

重要的事情说三遍:双击5的PATH,加“”然后加路径,注意打开路径至

D:\ProgramFiles\opencv\build\x64\vc11\bin,然后单击复制该路径,不要手输,手输容易出错!出错!出错!X64和X86建议都加进去,D:\ProgramFiles\opencv\build\x64\vc11\bin;D:\ProgramFiles\opencv\build\x86\vc11\bin两个路径都挤进去。添加环境变量就是添加bin的路径,X86表示用的是32位的编译器编译,X64表示用64位的编译器编译(只是看书说的,并未验证,错了也没关系,都配进去都可以用,不冲突,所以你不要打我)。

内心小激动呀,环境变量配完了,又完成一步,什么?这就完了?骚年想多了!接下来还有第三步!来来来先乖乖注销系统,这样人家才可以生效嘛,什么不会注销,那就简单粗暴点重启吧!

第三步工程包含的目录(include)配置

考虑到以后一直都会用Opencv来做相应的开发,这下就弄一个一劳永逸的方法,配一次就不要再配了!

为了有始有终,我应该吧全过程都搞出来,让大家看看嘛,大神请自觉跳过若干步

1、  打开visualstudio ,新建一个项目,单击起始页的【新建项目】,上图看一下

 

 

话说,条条道路通罗马嘛,来来来第二种方法,【文件】­­—【新建】—【项目】;话不多说继续上图

 

 

然后选择Visual C++ ,新建【win32控制台运用程序】,然后给自己的工程项目命名(阿猫阿狗随便叫),选择路径(要养成良好的管理文件的习惯啊骚年),然后点击【确定】,如图,

 

 

2、然后出现win32运用程序向导界面,点击【下一步】,下一个界面,勾选【空项目】点击【完成】。瞅瞅看哈:

 

 

3、  解决方案资源管理器的【源文件】右击—【添加】—【新建项】,来一发:

 

 

4、  选定【C++文件(cpp)】,进行重命名,像main(阿猫阿狗随便叫,不要中文就好了),然后单击【添加】,看图:

 

 

这样就把一个空白的.cpp文件加入工程中了

 

5、  单击【视图】—【属性管理器】,这样子调出属性管理器,相当于通用配置,之后的再用就无需配置了,一劳永逸啊有木有!来张图:


VS2013属性管理器在【视图】-【其他窗口】-【属性管理器】(2015/12/15)

 

6、  在出现的“属性管理器”工作区中,展开【Debug|Win32】文件夹(点击前面的小三角号),对文件夹下面的【Microsoft.Cpp.Win32.user】右键—【属性】打开属性界面。对其进行配置。如图

 

 

7、  打开属性界面之后,就可以对其进行include的配置,【通用属性】—【VC++目录】—【包含目录】中添加以下三个目录:

D:\ProgramFiles\opencv\build\include

D:\ProgramFiles\opencv\build\include\opencv

D:\ProgramFiles\opencv\build\include\opencv2

 


建议像选路径那样子选,不要手输入,手输入容易出错,(毕竟人不如机器死板呀)这是和之前解压的路径有关的,你只要通过路径寻找到那几个文件夹,添加就可以了。

接下来配置库文件目录:

这一步和上面配置的include差不多,都是在属性管理器里面,的那个属性,【Debug|Win32】——【Microsoft.Cpp.Win32.user】右键—【属性】打开属性界面。对其进行配置。

属性界面出来之后,【通用属性】—【VC++目录】—【库目录】添加D:\ProgramFiles\opencv\build\x86\vc11\lib

这里声明一点:因为我们用的是32位编译器,所以选择X86,vc11对应的是VS2012编译器,vc10对应的是vs2010编译器,vc12对应的是vs2013

上图:

 

马上就要大功告成了,小伙伴们不要激动,要耐心。先不要急着把属性界面关掉嘛,那么心急干嘛!留着它!

第四步配置动态链接库

还是刚刚那个属性界面,就是上面那个界面嘛,看到没,【链接器】有吗?没有的话你告诉我,我保证不打死你。打开【链接器】—【输入】—【附加依赖项】在那里面添加动态链接库:下面的文字你可以复制:手写我怕你出错

opencv_ml249d.lib

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_objdetect249d.lib

opencv_ts249d.lib

opencv_video249d.lib

opencv_nonfree249d.lib

opencv_ocl249d.lib

opencv_photo249d.lib

opencv_stitching249d.lib

opencv_superres249d.lib

opencv_videostab249d.lib

opencv_objdetect249.lib

opencv_ts249.lib

opencv_video249.lib

opencv_nonfree249.lib

opencv_ocl249.lib

opencv_photo249.lib

opencv_stitching249.lib

opencv_superres249.lib

opencv_videostab249.lib

opencv_calib3d249.lib

opencv_contrib249.lib

opencv_core249.lib

opencv_features2d249.lib

opencv_flann249.lib

opencv_gpu249.lib

opencv_highgui249.lib

opencv_imgproc249.lib

opencv_legacy249.lib

opencv_ml249.lib

废话少说上图:

 

 


 

要是Opencv是别的版本的,只要把249替换为对应版本的就ok如配的是Opencv-2.4.8

对应的是
opencv_ml248d.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_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_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_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

好了你可以点击【应用】—【确定】

红色文字不用自己输入,你可以某度,某歌,(杜绝广告),有的是那些库,当然你可以复制我上面写的。只要按照我的命名规则替换就ok。

 

最后一步:测试程序

现在很是激动呀,来来来复制一段代码,简单的,不用复杂。

#include<iostream> 

#include <opencv2/core/core.hpp> 

#include <opencv2/highgui/highgui.hpp> 

 

using namespace cv;    

 

int main() 

   // 读入一张图片(测试图) 

   Mat img=imread("测试图.jpg"); 

   // 创建一个名为 "测试图"窗口 

   cvNamedWindow("测试图"); 

   // 在窗口中显示测试图 

   imshow("测试图",img); 

   // 等待8000 ms后窗口自动关闭 

   waitKey(8000); 

只是为了测试一下配置是否成功,所以先不管代码的具体含义,复制进去就好了;

记得在你的图片命名必须和程序中一致,图片放置的位置路径要在工程下面,否则会出现异常报错:

楼主当时把图片放在E:\VS2012_project\first_try下面时,报错为


 

后经深思熟虑,查阅文献,各位博主的博客,发现正确的路径应该是

E:\VS2012_project\first_try\first_try

把图片存放路径一调,就正常了。出现了我美丽的天坛图片


 

还有在其他一些博主的博客中也有一些报错的解决方案,这里不一一赘述,附上一位牛人的博客链接:http://blog.csdn.net/huang9012/article/details/21811129

以上是我的配置学习过程,如有不足之处欢迎批评指正,原创作品,转载请注明出处!谢谢!后续的学习总结会陆续推出!欢迎广大爱好者交流!


posted @ 2016-01-02 22:56  晨凫追风  阅读(3785)  评论(0编辑  收藏  举报