OpenCV 是 Intel 开源计算机视觉库,它实现了图像处理和计算机视觉方面的很多通用算法。OpenCV 4.9.0 版本的主要更新内容如下:
-
Core Module:
- #23965 添加
cv::broadcast
- #23965 添加
- DNN module patches:
- Experimental transformers 支持
- #24476 ONNX Attention layer 支持
- #24037 ONNX Einsum layer 支持
- #23987 INT8 models 的 OpenVINO 后端
- #24092 ONNX Gather Elements layer
- #24378 ONNX InstanceNorm layer
- #23897 #24694 #24509 新的 fastGEMM 实现及其之上的多个层
- #23654 ARM 上的 Winograd fp16 优化
- 对 Yolo 系列模型支持的测试和多项修复
- CUDA 后端中的新层支持和错误修复:GEMM、Gelu、Add
- #24462 CANN 后端:错误修复,支持 HardSwish、LayerNormalization 和 InstanceNormalization
- #24552 LayerNormalization:支持 OpenVINO、OpenCL 和 CUDA 后端
-
G-API 模块:
- TBD
-
Objdetect 模块:
- #24364 QR code encoder version estimation 中的错误修复
- #24479 修复了 ArUco 中的 contour filtering
- #24598 Android 的 QR 码检测示例
- 针对 Aruco makers、Charuco boards 和 QR 码的多个本地错误修复和文档更新。
-
Video:
- #24201 Google Summer of Code:为基于视觉转换器的 VitTrack 添加了新的对象跟踪 API
TrackerVit
。
- #24201 Google Summer of Code:为基于视觉转换器的 VitTrack 添加了新的对象跟踪 API
-
Calibration module:
- 多项修复和改进 chess board calibration rig detector。
- #23025 如果 calibration system 约束不足,calibrateCamera 会抛出异常。
- #24482 修复了 USAC 的 findEssentialMat 中的错误
- #24527 修复了
cv::cornerSubPix
中的 out-of-image access - #23607 修复了 ap3p 中的崩溃
- #24035 修复 stereoRectify image boundaries
- #24211 修复了 Essential_solver.cpp 中的“use after free”问题
-
Python 绑定:
- 为遗漏的类型和手动包装的类型添加了类型存根生成。
- #24026 添加了 Numpy 数组的只读标志处理。
- #24028 修复了模块内的异常处理和绑定。
- #23958 改进了 Numpy 数组类型处理中的错误消息。
- #24468 修复了 Python 中的构造函数文档。
-
Android:
- 通过 Maven Central 发布的新 Android Archive Package (AAR)
- 新的 Android 示例:QR 码检测器、视频 IO 示例。DNN 和人脸检测器示例更新。
- 切换到 Gradle 7.6.3,现代 Android 工具。
-
平台支持:
- #23021 在 CMake 中将 CUDA 作为 first class 语言进行实验性支持
-
其他:
- TBD
- OpenCV Summer of Code:HAN Liutong 跨多个拉取请求的半自动重构使 CPU 优化代码与可变向量长度的 SIMD (RISC-V RVV) 兼容
更多详情可查看 ChangeLog。