一、下载和安装相关组件
1、这里需要安装OpenCV的SDK(下载地址:http://opencv.org/)。
选择下载合适自己系统的版本,然后安装。我使用的是windows 7,安装目录是“E:\Program files\ opencv\”。
2、安装Visual Studio 2012
略
一、环境变量配置
计算机->属性->高级系统设置->环境变量
我们需要对PATH和INCLUDE进行配置。
将:
E:\Program files\opencv\build\include\opencv2;
E:\Program files\opencv\build\include\opencv;
E:\Program files\opencv\build\include;
加入到INCLUDE中。
将:
E:\Program files\opencv\build\x86\vc12\bin;
注:
1、 我的安装目录可能跟各位不一样,请大家依照自己的实际情况进行操作。
2、 vc12指的是Visual Studio 2012,如果你安装的Visual Studio 2010,那选择vc11吧
3、 如果不能通过计算机->属性->高级系统设置->环境变量 的方式修改环境变量则使用管理员权限执行C:\Windows\System32\ SystemPropertiesAdvanced.exe这个文件。出现不能通过上述方式进入环境变量的原因是你有修改过windir,把它还原为C:\Windows即可。
三、第一个程序
1、 建立项目
首先打开Visual Studio 2012,新建一个空白项目。
写入测试程序(新建一个CPP文件):
#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> using namespace cv; int main() { Mat girl=imread("F:\\girl.jpg"); //载入图像到Mat矩阵 namedWindow("女孩的照片"); imshow("女孩的照片", girl); waitKey(); return 0; }
这个程序的功能是显示F盘下的一张图片。
2、 软件设置
右击鼠标,属性->配置属性->VC++目录,设置包含目录、库目录和链接器->输入。
包含目录:
E:\Program files\opencv\build\include\opencv2;
E:\Program files\opencv\build\include\opencv;
E:\Program files\opencv\build\include;(环境变量设置了这里应该可以不用设置)
库目录:
E:\Program files\opencv\build\x86\vc12\lib(按照自己的情况修改vc12和X86)
链接器->输入:
我下载的是OpenCV的最新版本,只需配置opencv_ts300d.lib和opencv_world300d.lib即可。
四、遇到的问题记录:
此记录是根据opencv第一个程序在vs2012中遇到的问题
1、未能加载vc++ language package不支持接口(Exception from HRESULT:0x80004002(E_NOINTERFACE))
解决办法:
下载KB2781514更新,之后安装更新即可。
原因:
在 .NET Framework 4.5 更新之后,Visual Studio 用户可能无法打开或创建 C++ 或 JavaScript 文件或项目。KB2781514修复程序纠正了 Visual Studio 存在的缺陷。
下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=36020
2、各种dll的丢失
对于这种问题,下载软件dll-files Fixer(破解版或者购买)进行修复。如果遇到有dll文件还是丢失的问题,就在软件中搜索此文件,并按照对应的版本下载安装。
3、软件运行时提示缺少msvcr120.dll
解决办法(使用百度电脑专家):http://zhuanjia.baidu.com/detail?pid=1076&src=1#top
3、明明图片路径是对的,却载入不进去图片,提示指针越界,有未经处理的异常
类似错误如图:
或这是opencv的一个bug,工程属性里面关于带d和不带d的lib文件的附加依赖项的问题,就算配置好了每次想debug和release下都运行还得手动在工程属性里面加。当得到这样的错误时,可以把调试方式改一改,debug和release互换:
或者打开当前工程(注意是当前工程的属性页,不是通用属性页)的属性页,debug或者release哪个报错,就把对应的带d或不带d的lib添加到【“当前”工程属性】->【链接器】->【输入】->【附加的依赖项】下即可。