OpenCV 4.7 正式发布

英特尔开源计算机视觉库 OpenCV 4.7 已于2022年12月29日正式发布。

OpenCV 4.7 支持 OpenVINO 2022.1,QR 码检测并提高解码质量,支持 FFmpeg 5.x 分支版本、NVIDIA CUDA 12.0,为自建的 libjpeg-turbo 库提供 SIMD 加速。

OpenCV 4.7 还在 Android 上支持 H.264 / H.265,为 DNN 模块提供华为昇腾 CANN 后端支持,以及在 DNN 模块中加快卷积处理。DNN 模块是自 OpenCV 3.3 版本中引入的,无需任何依赖,正常安装 OpenCV 就可以使用深度学习框架训练好的模型,借用 OpenCV 的 dnn 接口就可以实现推理计算。

在这里插入图片描述


OpenCV 4.7 更新内容:

  • ArUco和ChArUco移动到主存储库中的objdetect模块

  • 用于可扩展向量指令(RISC-V RVV)的新通用内部函数后端

  • CUDA 12和视频编解码器SDK支持

  • dnn模块的改进:

    • 支持多种新操作和网络架构
    • 卷积运算的性能优化
    • 新增华为CANN后端
    • 改进了OpenVINO 2022.1支持
    • 对动态加载后端的实验支持(基于OpenVINO运行时)
  • 图像和视频编解码器:

    • 基于迭代器的多页图像格式API
    • 在内置libjpeg turbo中启用SIMD加速
    • 集成 libspng
    • 改进了FFmpeg 5.x集成并添加了GRAY16格式支持
    • Android上支持H264/H265
    • Orbbec RGB-D相机后端
    • 通过GStreamer后端改进音频输入
  • 增加新算法:StackBlur、NanoTrack

更多详细信息可在变更日志中找到。


OpenCV 4.7 下载地址:

在这里插入图片描述
在这里插入图片描述


Introduction

OpenCV (Open Source Computer Vision Library: http://opencv.org) is an open-source library that includes several hundreds of computer vision algorithms. The document describes the so-called OpenCV 2.x API, which is essentially a C++ API, as opposed to the C-based OpenCV 1.x API (C API is deprecated and not tested with “C” compiler since OpenCV 2.4 releases)

OpenCV has a modular structure, which means that the package includes several shared or static libraries. The following modules are available:

Core functionality (core) - a compact module defining basic data structures, including the dense multi-dimensional array Mat and basic functions used by all other modules.
Image Processing (imgproc) - an image processing module that includes linear and non-linear image filtering, geometrical image transformations (resize, affine and perspective warping, generic table-based remapping), color space conversion, histograms, and so on.
Video Analysis (video) - a video analysis module that includes motion estimation, background subtraction, and object tracking algorithms.
Camera Calibration and 3D Reconstruction (calib3d) - basic multiple-view geometry algorithms, single and stereo camera calibration, object pose estimation, stereo correspondence algorithms, and elements of 3D reconstruction.
2D Features Framework (features2d) - salient feature detectors, descriptors, and descriptor matchers.
Object Detection (objdetect) - detection of objects and instances of the predefined classes (for example, faces, eyes, mugs, people, cars, and so on).
High-level GUI (highgui) - an easy-to-use interface to simple UI capabilities.
Video I/O (videoio) - an easy-to-use interface to video capturing and video codecs.
… some other helper modules, such as FLANN and Google test wrappers, Python bindings, and others.
The further chapters of the document describe functionality of each module. But first, make sure to get familiar with the common API concepts used thoroughly in the library.


Highlights of this release

DNN:

  • New ONNX layers: Scatter and ScatterND, Tile, ReduceL1, ReduceMin and more.
  • Signinficant performance optimization for convolutions. Winograd algoritm implementation.
  • Element-wise operation (add, sub, mul, div, …): Broadcasting.
  • OpenVino 2022.1 support.
  • CANN backend support.

Algorithms:

  • ArUco markers and April tags support including ChAruco and diamond boards detection and calibration.
  • QR code detection and decoding quality imrovement. Alignment markers support. Benchmark for QR codes: link
  • Nanotrack v2 tracker based on neural networks.
  • Stackblur algoruthm implementation.

Multimedia:

  • FFmpeg 5.x support.
  • CUDA 12.0 support. Hardware accelerated video codecs support on NVIDIA platforms with modern Video Codec SDK (NVCUVID and NVENCODEAPI).
  • CV_16UC1 read/write video support with FFmpeg.
  • Orientation meta support on Mac with native media API.
  • New iterator-based API for multi-page image formats.
  • libSPNG support for PNG format.
  • SIMD acceleration for self-built libJPEG-Turbo
  • H264/H265 support on Android. Multiple fixes for video decoder, endcoder and camera memory layout.

G-API:

  • Exposed all core APIs to Python, including stateful kernels.
  • Introduced efficient path from oneVPL GPU surfaces to OpenCL GPU buffers.

Optimization:

  • New universal intrinsics backend for scalable vector instructions. The first scalable implementation for RISC-V RVV 1.0.

猜你喜欢

转载自blog.csdn.net/youcans/article/details/128495295
4.7