【opencv系列01】OpenCV4.X介绍与安装

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

【opencv系列01】OpenCV4.X介绍与安装

fahaiAI   2020-03-21 我要评论
### 一、介绍 OpenCV(开源计算机视觉库:http://opencv.org) 是英特尔开源的一个跨平台计算机视觉的BSD许可库,包含数百种计算机视觉算法。OpenCV由Gary Bradsky于1999年在英特尔创立,第一版于2000年问世。Vadim Pisarevsky加入Gary Bradsky,一起管理英特尔的俄罗斯软件OpenCV团队。2005年,OpenCV用于Stanley,该车赢得了2005年DARPA挑战赛的冠军。后来,在Willow Garage的支持下,由Gary Bradsky和Vadim Pisarevsky领导了该项目,它得以继续积极的发展。OpenCV现在支持与计算机视觉和机器学习有关的多种算法,并且正在日益扩展。 OpenCV具备 C++、Python 和 Java 接口,支持 Windows、Linux、Mac OS、iOS 和 Android 系统,可以说 OpenCV 是 CV 领域开发者与研究者的必备工具包。继2015 年 6 月,OpenCV 3.0 发布以来,时隔三年半,OpenCV 4.0 终于发布。至此,OpenCV 已经走过了近 18 个年头。相比于之前的版本,它进一步完善了核心接口,并添加了二维码检测器、ONNX 转换格式等新特点。 #### 1. 重要更新 ● OpenCV 4.0 现在是一个 C++11 库,要求 C++11 兼容的编译器。所需的 CMake 版本至少为 3.5.1 。 ● 移除 了OpenCV 1.x 中的大量 C API。 ● core 模块中的 Persistence(用于存储和加载 XML、YAML 或 JSON 格式的结构化数据)已经完全用 C++ 来重新实现,因此对应的 C API 也被移除。 ● 添加了新模块 G-API,一种基于图的高效图像处理流程。 ● 更新dnn模块,包含Vulkan 后端,且支持ONNX格式的网络。 ● 实现了流行的 Kinect Fusion 算法,且为 CPU 和 GPU (OpenCL) 进行优化。 ● objdetect 模块中添加了二维码检测器和解码器。 ● 将高效、高质量的 DIS dense optical flow 算法从 opencv_contrib 移到 video 模块。 此外,OpenCV 4.0 支持 Mask-RCNN 模型,性能也有所提升,图像处理操作可实现 15%-30% 的速度提升。 #### 2. opencv与DL 自从 OpenCV 3.1 以来,它就包含了能实现深度网络前向传播的 DNN 模块,通过该模块可以加载由 Caffe 等深度学习框架训练的模型数据,并执行前向推理运算,输出预测结果。在 OpenCV 3.3 中,DNN 模块从 opencv_contrib 移到了核心代码库,并取得了显著的加速。在 OpenCV 4.0 的更新中,它强化了 DNN 模块并添加支持 ONNX 交换格式的神经网络,这一切都表明 OpenCV 非常注重其与深度学习之间的关系。 除了libprotobuf,dnn模块不依赖任何额外的外部库,而且现在 libprotobuf 已经包含到了 OpenCV 中。 opencv支持的框架: ● Caffe ● TensorFlow ● Torch ● Darknet ● Models in ONNX format 支持的层: ● AbsVal ● AveragePooling ● BatchNormalization ● Concatenation ● Convolution (including dilated convolution) ● Crop ● Deconvolution, a.k.a. transposed convolution or full convolution ● DetectionOutput (SSD-specific layer) ● Dropout ● Eltwise (+, *, max) ● Flatten ● FullyConnected ● LRN ● LSTM ● MaxPooling ● MaxUnpooling ● MVN ● NormalizeBBox (SSD-specific layer) ● Padding ● Permute ● Power ● PReLU (including ChannelPReLU with channel-specific slopes) ● PriorBox (SSD-specific layer) ● ReLU ● RNN ● Scale ● Shift ● Sigmoid ● Slice ● Softmax ● Split ● TanH 对于对性能要求很高的神经网络层,DNN 模块还包括 SSE、AVX、AVX2 和 NEON 等底层加速库,且还有持续优化中的 Halide 后端。还有OpenCL 也已经整合到OpenCV 3.3以后发布的版本中。 各模型在dnn模块下的性能: CPU下单张图片最佳计算时间(单位:毫秒,基于float32运算)

![](https://imgkr.cn-bj.ufileos.com/9efb787d-3e0e-4c4f-9edf-f32206588e6a.png)

GPU(OpenCL 2.0)下单张图片最佳计算时间(单位:毫秒,基于float32运算)

![](https://imgkr.cn-bj.ufileos.com/13b70860-d5c3-4323-915c-77537f7da4f4.png)

具体参考: > https://github.com/opencv/opencv/wiki/Deep-Learning-in-OpenCV ### 二、安装 本系列教程基于windows python3环境进行实验,因此,本教程介绍如何在windows环境下安装和使用python的opencv接口。 #### 1. 安装Annaconda 下载地址: > https://www.anaconda.comhttps://img.qb5200.com/download-x/distribution/#windows 根据电脑配置选择相应版本,在这,我选择64位版本进行安装,默认安装python3.7。

![](https://imgkr.cn-bj.ufileos.com/a8abe7a6-00a8-4321-8d42-11890c776e15.png)

双击安装文件进行安装 ->”Next”->”I Agree”->选择”Just Me”->”Next”->选择安装路径->”Next”,

![](https://imgkr.cn-bj.ufileos.com/3278b90c-a9b1-4e02-87c9-25ed3be8f2e3.png)

□ 勾选添加环境变量 □ 勾选设为默认python环境

![](https://imgkr.cn-bj.ufileos.comhttps://img.qb5200.com/download-x/d89a2bcb-16e8-4ce3-8424-60464d84ba78.png)

点击”Install”安装 点击”Finish”完成安装 #### 2. 安装opencv-python 采用最简单的安装方法:pip命令安装,打开命令行终端CMD,输入python,查看是否安装python环境。

![](https://imgkr.cn-bj.ufileos.com/08e637df-587b-487e-a9ad-58aee140c560.png)

exit() 退出后,输入以下命令: ```shell pip install opencv-python ``` 默认安装最新的发布版本,本安装版本:opencv-python 4.2.0

![](https://imgkr.cn-bj.ufileos.com/10179f31-61fd-454a-bcf3-74dfc4ebe1aa.png)

提示安装成功后,测试opencv版本: ```py # 查看opencv版本 import cv2 print(cv2.__version__) ```

![](https://imgkr.cn-bj.ufileos.com/5df2b4dc-ca17-49a3-814b-28360b567ebc.png)

到此,大功告成,开启opencv之旅吧!!! #### 附录 后续可能会用到的python包:numpy、matplotlib、pillow ```shell pip install numpy pip install matplotlib pip install Pillow ```

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们