目录
一、前言
二、OpenCV介绍
1、介绍
2、OpenCV版本简介
3、OpenCV4.3.0下载
三、OpenCV安装与配置
1、安装
2、环境变量配置
四、配置VS2015
1、包含目录与库目录
2、链接器配置
五、测试及效果
OpenCV已经出到4.3.0版本,自问世以来,受到广大好友的喜爱。
其实我之前已经写了OpenCV3.1.0的教程,但那个时候,其实对OpenCV了解不系统,对于OpenCV没有一个整体的认识。这次,我会写更全面的内容,章节分类也更加具体。
如果你目前只是想快速入门opencv,推荐你看:
【opencv学习之路】:https://blog.csdn.net/shuiyixin/article/details/85648310
这里会告诉你学习历程、以及opencv3.1.0教程,涵盖了绝大多数opencv操作。当你想再深入了解OpenCV,请再次回到OpenCV3.4.0系列,这里讲解更加系统,更加全面,同时也增添了深度学习模块等。你能在这里看到一个不一样的OpenCV。
有人问我:你OpenCV为何一直用C++编写?python它不香嘛?
其实我主要是依据如下两个方面考虑:
第一个方面是OpenCV本身主要就是C++写的,当然其中含混有一些C的函数,虽然它封装了python的接口,但是,从我感觉,还是C++更正统一些。
第二个方面,C++的运算速度是要快于python的,在做图像处理的时候,使用C++更好一些。
剩下的不多说,有什么问题,有什么想法,你尽可评论提问,也可以加群326866692交流。让我们开始吧!
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,简单的说,OpenCV是一个开源的计算机视觉库,英文全称为:Open Source Computer Vision Library。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法,运行在Linux、Windows、Android和Mac OS操作系统上。
OpenCV经历了1.x到4.x四个系列的版本:
OpenCV1.x是最初的版本,基于C语言编写,OpenCV1.x的图像存储格式IplImage*基于C接口定义,直接暴露内存,如果忘记释放内存,就会造成内存泄漏,图像的声明和释放都比较繁琐。
从OpenCV2.x开始,使用全新的C++接口,图像类型使用Mat,操作更为方便。同时,OpenCV库被划分成多个模块,看起来更加系统。同时OpenCV增加了新的平台支持,包括iOS和Android,通过CUDA和openGL实现了GPU加速,为Python和Java用户提供了接口。总的来说,OpenCV2标志着OpenCV2革命性的改变,将Opencv的能力放大。
OpenCV2可以说改进是大跨步式改进,OpenCV3.x系列就比较温和了,在2的基础上做了一些优化,功能也更加全面丰富。内容的丰富必然带来臃肿的问题,为了解决这个问题,OpenCV采取内核+插件的架构形式。
OpenCV4.x是全面支持深度学习的,深度学习模块其实是3.x版本引入的,在4中强化了深度学习的功能,目前OpenCV4已经支持 Caffe、TensorFlow、Torch、Darknet、ONNX 交换格式的模型 等众多深度学习框架。
OpenCV4.3.0是OpenCV4系列中最新的版本。相比较之前的版本,4.3.0在深度学习DNN模块等多个方面进行更新。
OpenCV官网提供了OpenCV4.3.0的安装文件,大家可以去官网下载,官网地址如下,注意,官网地址提供多个下载,大家根据自己需要进行下载。
https://opencv.org/opencv-4-3-0/
当然如果访问不了,你也可以加我的技术群326866692下载。群里面提供的是Windows版本的安装包,直接双击安装即可:
我们下载好后,双击安装,建议安装到非C盘,然后,安装好的文件如下:
按照如下顺序依次打开:
【计算机】->【(右键)属性】->【高级系统设置】->【高级(标签)】->【环境变量】->“双击”系统变量中的PATH->在变量值里面添加相应的路径。
在path路径配置中填写 ”…… opencv\build\x64\vc14\bin”,
很多人发现,X64中有两个文件夹:
VC14和VC15,很多人不明白这个是什么意思?这个其实是VS对应的版本号。详细的对应如下:
Visual Studio 6 | vc6 |
Visual Studio 2003 | vc7 |
Visual Studio 2005 | vc8 |
Visual Studio 2008 | vc9 |
Visual Studio 2010 | vc10 |
Visual Studio 2012 | vc11 |
Visual Studio 2013 | vc12 |
Visual Studio 2015 | vc14 |
Visual Studio 2017 | vc15 |
因为我的是VS2015,所以我选择vc14文件夹。然后我们需要做下面的操作:
将bin目录(...\OpenCV\build\x64\vc14\bin)中的3个dll文件复制在(C:\Windows\System32)或者(C:\Windows\SysWOW64)中。
例如:
如果没有上面的操作,我们写的代码会报错:
这是因为我们的OpenCV没有安装在C盘,所以找不到对应的dll文件,我们只需要将文件存到C盘就可以啦!
做完操作后,最好重启一下电脑!
我们打开VS2015,创建一个空项目,记住,我们要把安全检查去掉。
在项目名称右键选择属性:
或者直接在项目中选择属性。进入下面这个界面:
然后我们需要配置VC++目录:
1.我们选择我们的配置模式和平台,例如我选择的是release和x64,x64表示64位,x86表示32位。
2.在包含目录中保存:
“...\opencv\build\include”;
“...\opencv\build\include\opencv2”
3.在库目录中添加:
“...\opencv\build\x64\vc14\lib”。
在链接器下的输入中,打开附加依赖项,并输入:
opencv_world430.lib;
opencv_world430d.lib;
注意:
如果我们使用release模式进行编译,那我们就必须要上面的那个依赖项,如果我们使用debug模式进行编译,那我们就要使用下面的依赖项。保险起见是两个依赖项都添加,如果你跟我一样,只在release模式下编译,那就只需要前面的就可以了。
#define INPUT_TITLE "input image"
#include
#include
using namespace std;
using namespace cv;
int main() {
Mat src;
src = imread("E:/image/src.jpg");
if (!src.data)
{
cout << "ERROR : could not load image.";
return -1;
}
namedWindow(INPUT_TITLE, CV_WINDOW_AUTOSIZE);
imshow(INPUT_TITLE, src);
waitKey(0);
return 0;
}
执行结果如下:
如果大家有什么问题,有什么别的解决不了的问题,可以在下方留言或者加群交流哦!