最近想做一个有关图像变形的实验,首先想到了OpenCV。全称是:Open Source Computer Vision Library。OpenCV是开源的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。轻量级而且高效同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。如此好处多多,赶紧鼓捣鼓捣。
在学习之前还是要配置好开发环境,废话少数,我的是配置在VS2015中,在配置过程中,也遇到了一些问题。
一、下载安装包
1.到OpenCV的官网(http://opencv.org/)下载最新版本的OpenCV安装包,
我的是win7 64bit操作系统,所以下载OpenCV for Windows。
下载最新的是3.2
2.点击,安装,选择合适的安装目录,我的安装在D盘中,如下:
3.安装完毕后,在其安装目录下可以看到如下文件。其中build文件是OpenCV使用时要用到的的库文件,sources是OpenCV为我们提供的一些示范代码。
二、环境变量配置
- OpenCV的环境变量配置
在使用前要进行环境变量的配置,我的电脑—>属性—>高级系统设置—>环境变量,找到Path变量,选中并点击编辑。配置参数,openCV的安装路径 \build\x64\vc14\bin 。其中要以;与前面的配置参数分隔开。在Path变量值中输入 ;D:\Program Files\opencv-3.2.0-vc14\opencv\build\x64\vc14\bin
- VS2015中配置OpenCV
打开VS 2015,新建一个空白的Win32的控制台工程
但是,创建项目的时候,并没有找到win32的模板。那么怎么才能新建Win32项目和Win32控制台应用程序呢
三、VS2015中找不到Win32项目与模板的解决办法
1.点击安装通用Windows平台工具,即英文部分。会出现如下界面,点击安装即可。
2.如果当前的Visual Studio 2015正在打开,会提示将其关闭资源以减少资源的利用,点击继续
3.如下图所示,勾选所有安装的功能组件,建议全部勾选,下一步;意思分别是:
4.点击更新
5.安装过程时间稍长,大家耐心等待,安装完就可以啦
安装完之后,打开vs2015,重复新建项目的过程,会发现有了Win32模板
四、继续配置环境
1.当我们选中Visual c++ —> Win32时,出现如下图
点击,ok,如下
默认,点击继续,选择空白工程。
2.建立完工程后,我们选中解决方案栏中的Resource Files目录(源码目录),然后新建一个c++源码文件:
点击add之后,会出现如下窗口:
3.统一配置
在写代码之前,还要配置一番。 在VS中有个叫做“属性管理器”的工具,用于进行VS整体参数的配置,配置一次之后,以后所有新建项目都能应用改配置,不用再一一进行配置操作了,非常方便。
(1).点击工具栏中的:View —>Other Windows–>Property Manger打开属性管理器:
(2).在新出现的属性管理器中,展开目录,选中Debug|Win64中的Mircosoft.Cpp.x64.user,并右键点击属性(Properties)进入属性界面:
(3.) 在通用属性(Common Properties)—>VC ++目录—>包含目录,然后点击右侧三角标志选中Edit进入编辑:
向其中添加下面三个路径:
D:\Program Files\opencv-3.2.0-vc14\opencv\build\include
D:\Program Files\opencv-3.2.0-vc14\opencv\build\include\opencv
D:\Program Files\opencv-3.2.0-vc14\opencv\build\include\opencv2
(4).配置库文件目录
完成上面的目录配置后,还需要进行库文件配置:回到属性界面,选择包含目录下面的Library Directories(库文件目录)
向库文件目录中添加OpenCV的库文件目录:D:\Program Files\opencv-3.2.0-vc14\opencv\build\x64\vc14\lib,这个视个人情况而定,即每个人自己在第一步安装OpenCV中选择的目录选定。
(5)配置动态链接库:
我们可以查看步骤2)中添加的库文件目录下面.lib文件列表,发现在3.2.0版本的OpenCV中,仅剩下两个库文件,分别是:opencv_world320.lib和opencv_world320d.lib,这里两个库文件的区别就是:opencv_world320.lib是Release模式版本,而opencv_world320d.lib是Debug模式版本:
跟上述两个步骤相似,在属性界面中打开Linker(链接库)—>Input(输入)—>Additional Dependencies(添加依赖):
将OpenCV库文件目录中看到的两个库文件其中一个添加到这里(根据模式需求Release模式或者Debug模式)
五、实践部分:
完成了所有配置工作之后,进行实践一下,检验一下配置是否成功。注意在运行时,一定要在工具栏中切换一下,就好了。
在main写入代码
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main() {
// 读入一张图片
Mat img = imread("pic.jpg");
// 创建一个名为 "动物图片"窗口
namedWindow("动物图片");
// 在窗口中显示
imshow("动物图片", img);
// 等待10000 ms后窗口自动关闭
waitKey(10000);
}
运行效果如图:
鼓捣了一下午,终于鼓捣完了。其实,很大部分也是参考的,只是记下来,方便自己。参考文章