OpenCV基础——OpenCV3和VS的下载、安装、环境配置

 

第一部分 VS的下载安装

大家可以去官网下载,也可以百度一下压缩包,我是百度里找了个压缩包下载的,因为官网我下载出现了问题,大家如果能在官网下我建议还是官网下哈。

【原本是打算提供云盘的,但是因为文件传输太慢了,过几天再补上】

下完以后双击点开vs_ultimate.exe就可以开始安装了,安装过程和一般软件的安装差不多,就不多讲了。

第二部分 OpenCV的下载安装以及配置环境变量

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

opencv2.4.9地址:https://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.9/opencv-2.4.9.exe/download

(我是用2.4.9的版本的,当然大家还可以去官网下OpenCV3或其他版本,如果下了其他版本,第三部分的环境搭建就需要注意一些不同的地方)

下载完成后,双击就可以完成解压,解压的路径要记清楚。我的路径是D:\opencv。

接下来要配置环境变量(步骤如下):

【计算机】→【(右键)属性】→【高级系统设置】→【高级(标签)】→【环境变量】→(双击)系统变量中的Path→在变量值里面新建相应的路径(以下路径以我的路径为样本)。

对于32位系统,就添加:

D:\opencv\build\x86\vc12\bin

对于64位系统,就添加:

D:\opencv\build\x86\vc12\bin    和    D:\opencv\build\x64\vc12\bin

注:变量值实际为bin文件夹的路径,对应于上面解压opencv时的路径。vc8表示编译环境为Microsoft Visual Studio 2005;vc9表示编译环境为Microsoft Visual Studio 2008;vc10表示编译环境为Microsoft Visual Studio 2010;vc11表示编译环境为Microsoft Visual Studio 2012;vc12表示编译环境为Microsoft Visual Studio 2013。大家根据自己下的VS的版本选择不同的路径。

 

第三部分 环境搭建

(一)打开Visual Studio,新建一个Win32控制台应用程序的空项目

点击【确定】后在点一次【下一步】,会出现以下界面,将【空项目】勾起来即可点【完成】

(二)在源文件里添加一个名为main的cpp文件(你也可以命名为其他的)

(三)为工程添加包含目录(include)

在新出现的“属性管理器”工作区中

【(单击)Test1】→【(单击)Debug|Win32】→【(右击在点击属性或直接双击)Microsoft.Cpp.Win32.user】

在【通用属性】→【VC++目录】→【包含目录】中添加上:

D:\opencv\build\include

D:\opencv\build\include\opencv

D:\opencv\build\include\opencv2

根据opencv的解压路径来确定实际路径

(四)工程库(lib)目录的配置

第四步和第三步差不多,是在【通用属性】→【VC++目录】→【库目录】中添加:

D:\opencv\build\x86\vc12\lib

同样也是根据opencv的解压目录来决定实际的路径。

不管是32位还是64位操作系统,只需要考虑用Win32编译器还是x64编译器。其实配置选择什么跟64位还是32位系统没有直接的关系,而是在于在编译程序时是使用那个编译器。编译器选的是Win32,就用x86;编译器选的是x64,就用x64。不过一般情况下,都是用的Win32的x86编译器。所以,无论32还是64位操作系统,配置文件最好都选择x86版的。

注:这里的vc12规则和之前提到的是一样的

(五)链接库的配置

前面和第三步前半部分一样,后面:

【通用属性】→【链接器】→【输入】→【附加的依赖项】

 

添加如下249版本的lib(这样的lib顺序是:19个带d的debug版的lib写在前面,19个不带d的release版的lib写在后面,即优先支持debug模式的编译运行):

 

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

注:对于2.4.9及以下的版本的库,不同的库只需改变.lib文件中对应的数字即可。对于3.版本的库,只需添加

opencv_ts300d.lib

opencv_world300d.lib 

opencv_ts300.lib

opencv_world300.lib          即可

 

另外注意:按照如上的这种方式来配置,也许会出现debug下可以运行但是release下不能运行的情况(因为字符串读取问题引起的诸如图片载入不了,报指针越界,内存错误等等)

解决方案:想在release模式下运行出程序结果,在工程的release模式下,将不带d的lib(全部是19个)添加到【项目】->【属性】(注意这样打开的是当前工程的属性页,我们只需在这里将release版(即不带d)的相关lib添加进去)->【配置属性】->【链接器】->【输入】->【附加的依赖项】下即可

 

不过一般debug模式下就能完成所需要的运行结果,所以我是按照如上的方式来进行配置的。

(六)在Windows文件夹下加入OpenCV动态链接库

如果环境变量配置得准确,且配置之后经过重启,就没有进行这步配置的必要了。即做完上面第五步的配置,重启一次,就可以直接跳到第七步进行测试,看是否配置成功。如果不想重启而马上查看是否配置成功,就需要进行这步的配置。

将D:\opencv\build\x86\vc12\bin目录下的所有动态链接库复制粘贴到C:\Windows\System32文件夹(对应的目录根据opencv解压路径和vs的版本决定)。对于Windows8系统,要放置在SysWOW64文件夹下。

(七)最终测试

#include<opencv2\opencv.hpp>
using namespace cv;

int main(){
	//【1】读入一张图片
	Mat img = imread("1.jpg");
	//【2】在窗口中显示载入的图片
	imshow("【载入的图片】", img);
	//【3】等待3000ms后窗口自动关闭
	waitKey(3000);
}

要将“1.jpg”文件放在D:\University\New\Test1\Test1文件夹中,即和main.cpp在同一个文件夹中。

点击【本地Windows调试器】运行文件,就会出现以下结果:

 

 

最后来一个小番外——调用摄像头采集图像

依旧是先创建一个Win32控制台应用程序的空项目,在源文件里添加main.cpp文件,代码如下:

#include<opencv2\opencv.hpp>
using namespace cv;

int main(){
	//【1】从摄像头读入视频
	VideoCapture capture(0);
	//【2】循环显示每一帧
	while (1){
		Mat frame; //定义一个Mat变量,用于存储每一帧的图像
		capture >> frame; //读取当前帧
		imshow("摄像头", frame); //显示当前帧
		waitKey(30); //延时30ms
	}
	return 0;
}

 

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值