OpenCV 4.7 正式发布

news/2025/2/15 22:30:41/

英特尔开源计算机视觉库 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 下载地址:

  • Documentation

  • Sources

  • Win pack

  • iOS pack

  • Android pack

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


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.


http://www.ppmy.cn/news/8071.html

相关文章

并发编程中用到的几种常见锁

没有加锁而造成的数据竞争 任务&#xff1a;使用10个线程&#xff0c;同时对一个count加100000&#xff1b;最后我们期望的结果是100000&#xff1b; 实验代码&#xff1a; #include <stdio.h> #include <pthread.h> #include <unistd.h> #include <ti…

有哪些简单、免费、适合中小型企业的 CRM 软件?

有哪些简单、免费、适合中小型企业的 CRM 软件&#xff1f; 为了更好的管理客户&#xff0c;和客户建立持续的良好关系&#xff0c;很多企业开始采用CRM软件。 但是免费且好用的CRM软件并不多见&#xff0c;因此选择一款适合中小型企业的CRM软件需要注意以下方面。 1. 知己&…

字符设备驱动(三)-----并发控制

1.上下文和并发场合 执行流&#xff1a;有开始有结束总体顺序执行的一段代码 又称上下文 应用编程&#xff1a;任务上下文 内核编程&#xff1a; 任务上下文&#xff1a;五状态 可阻塞 a. 应用进程或线程运行在用户空间 b. 应用进程或线程运行在内核空间&#xff08;通过调用…

机器视觉2D/3D标注工具汇总

标注工具是处理原始数据的第一关,无论是检测任务、分割任务还是3D感知、点云等,都需要制作真值来监督网络学习。企业级的标注方案一般通过内部的自研工具或专业标注团队完成,而对于个人或小的团队来说,一款开源好用的标注工具则至关重要。 1. 检测和分割 1) Labelme 项目…

JAVA注解处理API实战

简介 ​ 插件化注解处理(Pluggable Annotation Processing)API JSR 269提供一套标准API来处理Annotations( JSR 175),实际上JSR 269不仅仅用来处理Annotation&#xff0c;它建立了Java 语言本身的一个模型,它把method、package、constructor、type、variable、enum、annotatio…

ArcGIS基础实验操作100例--实验21按区域修改栅格值

本实验专栏来自于汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 基础编辑篇--实验21 按区域修改栅格值 目录 一、实验背景 二、实验数据 三、实验步骤 &#xff08;1&…

公司jmeter分享

一、数据库压测组件功能说明 1.JDBC Connection Configuration:jdbc连接配置(一个测试计划可以有多个 JDBC Connection) 2.Variable Name for created pool: 创建池的变量名 连接绑定的变量名,JMeter可以使用多个连接,每个连接绑定到不同的变量;通过引用不同的绑定变量…

【Web安全】Ysoserial 简单利用

Ysoserial 简单利用1. Java 反序列化特征2. Ysoserial 流量特征3. Ysoserial 攻击流程3.1 找到序列化接口3.2 漏洞利用3.2.1 常用命令3.2.2 使用案例4. Ysoserial 攻击原理问题参考1. Java 反序列化特征 在日志中&#xff0c;特征通常表现为 请求格式 Json、xml、soap、二进制…