
软件介绍
OpenCV是一个基于(开源)发行的跨平台计算机视觉库。该软件同时支持Linux、Windows和Mac OS操作系统,还提供了Python、MATLAB、Ruby等语言的接口,应用领域广泛,涉及人机互动、物体识别、运动跟踪、图像分割等多个领域。
应用领域
应用领域编辑
1、人机互动。
2、物体识别。
3、图像分割。
4、人脸识别。
5、动作识别。
6、运动跟踪。
7、机器人。
8、运动分析。
9、机器视觉。
10、结构分析。
11、汽车安全驾驶。
软件特色
1、在扩展模块中去掉了SIFT与SURF相关API的调用文件
现在如果想在OpenCV Python 4.x中想使用SIFT与SURF只有靠自己从源代码CMake来编译生成python版本的安装包才可以。
# OpenCV 3.x中:
namedWindow(“input”, cv.CV_WINDOW_AUTOSIZE)。
# OpenCV4.x:
namedWindow(“input”, cv.WINDOW_AUTOSIZE)。
2、全部取消CV_XXX这种枚举类型,比如在3.x中可以正常使用的语句
# 在OpenCV3.x中轮廓发现API返回三个值分别为:
# image 返回的图像。
# contours 每个轮廓的点集合。
# hierarchy 每个轮廓对应的层次信息。
binary, contours, hierarchy = cv.findContours(binary, cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE)。
3、findContours函数返回结果由3.x的三个参数变为两个参数
OpenCV4.0中需要改为:
contours, hierarchy = cv.findContours(binary, cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE)。
4、增加了python语言版本的对DNN模块的加持
支持图像分类、对象检测(SSD、RCNN、Faster-RCNN、mask-RCNN)、图像分割等网络的使用。
新增功能
DNN对很多网络层进行了提升,如ONNS中的LSTM, Broadcasting, Algebra over constants, Slice with multiple inputs;DarkNet中的grouped convolutions, sigmoid, swish, scale_channels;MobileNet-SSD v3。
更多OpenVINO后端特性:可通过nGraph添加自定义层。
优化CUDA后端,并杀掉一些BUG。
可以使用最新的IPP-CV 2020.0.0Gold版本进行CPU优化。
使用SIMD指令优化了integral、resize和RLOF实现。
更多演示和例子。
opencv_contrib:增加了Alpha Matting算法。
calib3d:findChessboardCorners SB算法提升。
core:getNumberOfCPUs()函数提升。
imgcodecs:支持OpenJPEG库。
highgui(Qt):增加到剪切板的复制功能。
使用方法
下载完成后得到OpenCV文件,便可以开始安装过程。其实所谓的安装是一个解压的过程,可执行文件是一个自解压的程序,双击后便会提示我们选择解压路径。
这里根据自己需求选择路径即可,特别要说明的是,该程序会将所有文件解压在opencv的文件夹下,因此不需要在选择解压路径中单独新建一个opencv文件夹。由于笔者电脑安装了多个版本的OpenCV,为避免混淆,单独创建一个名为opencv4的文件夹,解压到H:\opencv4。
选择好路径后点击【Extract】按钮,便可以等待解压过程的结束。整个OpenCV4的大小约为1G,根据电脑的性能不同,等待时间从几十秒到几分钟不等。
软件综述
OpenCV4 是一个适用于计算机视觉、机器学习和图像处理的开源库,具有以下优点:
-
广泛的算法集:OpenCV4 提供了一个广泛的算法集,涵盖图像处理、特征检测、物体检测、分类、跟踪、深度学习等领域,满足了众多计算机视觉和图像处理任务的需求。
-
高效和优化:OpenCV4 经过精心优化,确保其在各种平台上都能高效运行。它提供了针对不同硬件架构的优化,如 SSE、AVX 和 CUDA,从而提升了算法的执行速度。
-
跨平台支持:OpenCV4 支持多种平台,包括 Windows、Linux、MacOS、Android 和 iOS。这使得它非常适合用于开发跨平台的计算机视觉和图像处理应用程序。
-
丰富的示例和教程:OpenCV4 提供了丰富的示例和教程,使开发者能够快速上手并学习如何使用库中的算法和函数。这些资源有助于缩短开发时间并避免常见错误。
-
活跃的社区:OpenCV4 拥有一个活跃的社区,由开发人员、研究人员和爱好者组成。这为用户提供了一个交流和提问的平台,可以很容易地找到有关 OpenCV4 使用或开发的帮助和支持。
-
商业用途:OpenCV4 适用于商业用途,但需要遵守其许可协议。它允许用户在商业软件和产品中使用 OpenCV4,但可能需要支付许可费用。
总体而言,OpenCV4 是一款功能强大、高性能且易于使用的计算机视觉库,适用于各种应用场景。其广泛的算法集、高效的优化、跨平台支持、丰富的示例和教程以及活跃的社区使其成为计算机视觉和图像处理开发者的首选工具之一。