![]()
![]()
![]()
一、版本概覽
OpenCV 4.13.0 是 4.x 系列在 2025 年的年度壓軸版本。該版本重點體現在以下幾個方面:
? 核心模塊輸入輸出機制全面修復與增強
? ARM(Windows ARM、RISC-V、SVE、RVV)平臺性能大幅優化
? 圖像處理、視頻處理算法精度和穩定性顯著提升
? DNN、Python、Java、JS 綁定持續完善
? 構建系統支持最新編譯器、CUDA、工具鏈
Core 模塊在 4.13.0 中主要聚焦于API 正確性、跨平臺穩定性和性能:
? 改進 InputArray 和 OutputArray 對
std::vector與std::vector的處理精度? 讓
cuda::GpuMatND正式兼容 InputArray / OutputArray? 當 API 明確定義時,強制為空矩陣指定輸出類型
? 新增 InputArray / OutputArray 的
std::vector長度檢查? 新增 16 位 LUT 支持以及對應的 HAL 接口
? 新增
cv::Mat::copyAt,用于 ROI 拷貝操作? 擴展 JSON 支持:
? 支持 null 解析
? 支持轉義反斜杠
? 修復
cv::solveCubic的數值不穩定問題(系數歸一化)? 修復 Windows 下臨時文件競爭條件
? 并行框架失敗嘗試時恢復原始名稱
? 移除 OPENCV_FOR_OPENMP_DYNAMIC_DISABLE,改用標準 OMP_DYNAMIC
? 啟用 FP16 轉換,但在 Windows ARM 上禁用 NEON FP16 運算
? 修復 Windows ARM64 下點積累計誤差導致的 NORM 測試失敗
? 為 Windows ARM 添加多項性能優化
? 修復 POWER9 平臺因 VSX 不支持 float64 轉換導致的問題
? 修復 RISC-V RVV 平臺 HAL 中就地 flip 錯誤
? 新增 inRange 的 HAL 入口
? 禁用 cv::compare 中 AVX512 IPP 路徑以避免性能回退
該模塊是 4.13.0 更新最密集的模塊之一:
? 新增迭代相位相關算法
? 新增
cv::minEnclosingConvexPolygon? 改進
cv::convexHull在近零凸性場景下的處理? 在可能情況下保持 convexHull 輸出索引單調
? 修復連通組件中的溢出問題
? 修正
cv::minAreaRect:角度范圍強制在 [-90, 0)? 使用 double 提升 minAreaRect 精度
? CLAHE 新增 BitShift 選項
? 修復
cv::minEnclosingCircle多個問題? 修復 HoughLines 中 rho 的偏移問題
? 修復 drawContours 中 LINE_4 / LINE_8 交換錯誤
? 修復 approxPolyDP 算法:距離應計算到線段而非直線
? 高斯模糊性能優化(含 AVX512)
? blur 與 bilateralFilter 多項性能提升
? pointSetBoundingRect 新增可擴展 SIMD 分支
? RISC-V RVV 新增 Canny、Scharr、Sobel HAL 實現
? 優化 ThickLine 在遠距離點之間的繪制
? 修復 stackBlur 中的堆緩沖區溢出
? 修復 bilateralFilter 在 32F 圖像中的越界讀取
? 修復 IPP warp 函數中的內存泄漏
? 限制 IPP 雙邊濾波 tile 數避免過小 tile
? 修復 IPP HAL 中 warp perspective 多線程實現錯誤
? 新增無狀態 HAL,用于濾波和形態學操作
? 擴展 JPEG、PNG、WebP、AVIF 的元數據支持(ICCP、XMP、cICP)
? 新增 OpenEXR 多光譜讀寫支持
? 嚴格校驗編碼參數
? 放寬多種格式的解碼尺寸限制(超過 1GB)
? PNG 新增 IMWRITE_PNG_ZLIBBUFFER_SIZE 選項
? 修復 WebP 內存泄漏
? 修復舊版 GDAL FITS 圖像翻轉問題
? 新增 32bpp BMP(BI_BITFIELDS)支持
? 修復 BMP 中多處溢出和越界
? 修復 PNG 相關模糊測試發現的潛在崩潰
? 修復 PNG 多處溢出和錯誤處理
? 修復 PNG 混合時 alpha 通道處理
? AVIF 單色圖像設置 matrixCoefficients 為 UNSPECIFIED
? 增強 AVIF 編解碼安全性
? 支持通過 FFmpeg 按索引打開攝像頭
? 新增 FFmpeg 8.0 支持
? Orbbec SDK 新增時間戳、自定義幀率分辨率及畸變參數
? Aravis SDK 支持系統級安裝并修復像素格式問題
? macOS 新增 Orbbec Gemini330 支持
? 修復 FFmpeg 后端負 DTS 時幀定位錯誤
? 修復 VideoCapture 設置再獲取屬性異常
? 新增 Raspberry Pi 4/5 HEVC 硬件加速
? FFmpeg VideoCapture 支持 swscale 線程優化
? 修復 VideoWriter writeFrame 返回碼
? 新增跳過 FFmpeg 日志回調選項
? 支持無 libavdevice 編譯
? 捕獲 _com_error 防止調試器刷屏
? 修復 FFmpeg 硬件解碼時 picture_sw 泄漏
? 修復 DirectShow 白平衡映射錯誤
? 修復 iOS 下 VideoWriter::release 崩潰
? 修復 ORB 掩碼非 255 值導致的不一致
? 修復 BRISK 指針運算
? FAST 特征點緩存分配啟發式優化
? Windows ARM 上 AGAST 性能優化
? RISC-V RVV 新增 FAST HAL
? ArUco 新增基于像素的置信度
? 改進多二維碼檢測與解碼
? 防止退化點集導致 QR 解碼異常
? 修復 QRCodeDetector 多處崩潰
? 移除角度計算中的浮點運算
? ChArUco 通過減少臨時拷貝提速
? 修復棧作用域錯誤
? HOG 在近似提示下啟用線性 resize 快路徑
? 新增 ONNX、TFLite 多種算子支持
? 允許 protobuffer 使用 LITE_RUNTIME
? 修復 ONNX 卷積隱式 kernel 解析問題
? 修復 Winograd 標志處理
? ARM NEON / SVE fastGEMM1T 優化
? 修復 DNN 層中的堆緩沖區溢出
? softmax_3d 循環展開優化
? 新增 estimateTranslation2D
? 替換 P3P 算法實現
? stereoCalibrate 新增 QR 分解選項
? fisheye::undistortPoints 收斂性改進
? 修復 USAC 與 PnP 越界訪問
? 修復多帶融合內存泄漏
? warp 參數按值傳遞避免 CUDA 競態
? Windows ARM 下 fast.cpp 循環展開優化
? 修復 Qt 6.9 及更新版本鏈接問題
? 修復外部 QApplication 生命周期沖突
? 修復 Qt 后端窗口內存泄漏
? 新增 Python 中的 G-API 自定義流輸入源
? 為 OpenVINO 參數新增 cfgEnsureNamedTensors 選項
? 為 OpenVINO 參數新增 cfgClampOutputs 選項
? 重命名 WorkloadType::notify() 為 WorkloadType::set()
? 支持在 OpenVINO 與 ONNX OVEP 中動態設置工作負載類型
? 修復 G-API 有狀態算子中的空指針解引用
? 更新已棄用的 ov::element::undefined
? findTransformECC 與 computeECC 新增多通道支持
? findTransformECC 新增可選模板掩碼
? 后景分離器新增可選“已知前景掩碼”
? DISOpticalFlow 新增 setCoarsestScale 接口
? 修復 Farneback 光流中潛在的指針溢出問題
? 修復 ml::KDTree::findNearest 的錯誤實現
? merge 系列函數新增 16U 與 32F 數據類型支持
? 新增將 opencv_contrib 一并打包進 JS 綁定的選項
? 修復 JS 生成器中的字符串屬性綁定
? helpers.js 新增 .delete 支持
? Mat.clone() 新增深拷貝行為
? 移除廢棄的 DEMANGLE_SUPPORT 選項
? 針對 WASM 調整 CONV_NR_FP32 的尺寸
? 新增用于 fastconv 的大標量卷積核
? 修復函數返回類型在命名空間中的生成問題
? 修復命名空間 Ptr 工廠返回類型的 JS 綁定
? 調整 Python 綁定的日志系統
? 在 Python 類型標注中將 Feature2D.detectAndCompute 的 mask 標記為可選
? calib3d 相關接口中,將 distCoeffs / R / D 標記為可選
? 新增 DLPACK 數據交互支持
? 修復 Python 綁定中的內存泄漏
? 新增 PathLike 類型標注,用于文件路徑參數
? 修復 PathLike 參數在 pyopencv_to 中的內存泄漏
? 類型生成優化:使用 export_name 作為 AliasTypeNode 的解析類型名
? 修復 pytest-cov 的誤報警告
? 修復 Python 標量類型推導問題
? 修復綁定頭文件解析器中 ifdef 狀態機錯誤
? 包裝 cv::findCirclesGrid 參數結構體中的 GridType 字段
? 新增選項:生成基于新 Cleaners 接口或傳統 finalize 的 Java 包裝代碼
? 啟用 Vec4i 的 Java 包裝生成
? 新增 Java 對 List 的支持
? 交互式相機標定工具改進:
? 新增選擇相機后端選項
? 擴展標定標志
? 灰度相機預覽效果改進
? 對齊標定工具與示例輸出字段,便于后續復用
? 僅在適用場景啟用標定板不完美度修正
? ArUco 圖案生成器新增索引偏移選項
? 將圖案生成器移動至 apps 并重寫教程
? 修復 generate_pattern.py 中的 charuco_board_pattern
? 更新教程中完全相同圖像的 PSNR 說明
? 集成 KleidiCV 0.7,支持 macOS 與 Linux,默認啟用
? 集成支持 AVX512 的 IPP ICV
? 修復多項靜態代碼分析工具發現的問題
? 新增對 Visual Studio 2026 的支持
? 新增 CUDA 13.0 支持,并修復與現代 CUDA 的兼容問題
? 修復 OpenBLAS 探測邏輯
? 新增可復現構建支持(可選忽略宿主系統版本)
? 修復舊版 GCC 的構建問題
? 修復 Qt 下 Unicode 跟蹤符號問題
? 修復 Eigen 在 3.4.0 之后版本中的診斷問題
? 新增 CMake 選項,用于強制在 IPP HAL 中使用 IPP 調用
代碼地址:github.com/opencv/opencv
OpenCV 4.13.0 是一個工程質量與平臺適配并重的重大版本更新:
? 在Windows ARM、RISC-V、SVE、RVV等新興架構上投入大量優化
? 圖像處理算法在精度、穩定性和性能上全面加強
? 多語言綁定(Python / Java / JavaScript)持續成熟
? 構建系統緊跟最新編譯器、CUDA 與工業級工具鏈
對于正在使用 OpenCV 4.x 的開發者來說,4.13.0 是一個非常值得升級的年終版本。
我們相信人工智能為普通人提供了一種“增強工具”,并致力于分享全方位的AI知識。在這里,您可以找到最新的AI科普文章、工具評測、提升效率的秘籍以及行業洞察。 歡迎關注“福大大架構師每日一題”,發消息可獲得面試資料,讓AI助力您的未來發展。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.