微信公眾號:OpenCV學堂
關注獲取更多計算機視覺與深度學習知識
OpenCV5關鍵改進
ONNX算子支持
OpenCV 的 ONNX 算子覆蓋支持率從4.x天的約22%躍升至OpenCV 5中的80%以上。這樣對絕大多數的模型部署都會給予比較好的支持。
算子融合與壓縮支持
DNN引擎識別每個Transformer block核心的經典 MatMul → Softmax → MatMul 模式,并將其壓縮為單一的熔合注意力操作,并采用類似 FlashAttention 的實現。有效提升模型推進速度。
后臺推理引擎支持
支持三種不同的模式,分別是DNN圖模式、自動模式、ORT模式。AUTO模式會自動嘗試最新的推理引擎,不行則退回原來的經典模式;其中ORT模式采用ONNXRUNTIME的核心推理引擎。
VLM與LLM模型部署支持
OpenCV5 DNN模塊實現了對大語言模型與多模態視覺語言模型部署支持,同時支持CNN與Transformer DINO系列模型部署。

為了支持VLM與LLM,OpenCV首次實現內置庫中的本地分詞器,用于自回歸解碼的KV緩存,因此生成過程保持高效,模型一次生成一個token。
此外特征匹配層面,OpenCV5也引入了基于CNN的特征匹配模型方式支持。大家可以自己看文檔。
Jetson上OpenCV5編譯安裝
Jetson Orin Nano/AGX上面完成OpenCV5的源碼編譯與安裝主要分為下面幾個步驟:
下載對應的OpenCV5 Tag版本源碼
https://github.com/opencv/opencv/archive/refs/tags/5.0.0.zip解壓縮源碼完成cmake與make


安裝OpenCV庫支持與代碼測試

using namespace cv;using namespace std;string rootdir = "/home/orinnano/Documents/";void video_demo();int main(int argc, char** argv) {Mat image = imread(rootdir + "lena.jpg", IMREAD_UNCHANGED);namedWindow("input", WINDOW_AUTOSIZE);imshow("input", image);waitKey(0);destroyAllWindows();video_demo();return 0;}
注意點
是否需要編譯擴展模塊支持,如果需要編譯OpenCV CUDA推理支持,必須要編譯擴展模塊。
為了避免因為模型無法下載而導致的編譯失敗,推薦把下面的模塊在cmake編譯參數設置為關閉。
-D INSTALL_C_EXAMPLES=OFF \-D INSTALL_PYTHON_EXAMPLES=OFF \-D BUILD_opencv_python3=OFF \-D BUILD_opencv_python2=OFF \-D BUILD_xfeatures2d=OFF \-D BUILD_wechat_qrcode=OFF \-D BUILD_opencv_gapi=OFF \
最后完成的編譯過程,我已經發布成build script文件,通過我的github主頁即可下載(OpenCV-5-0-0.sh):
https://github.com/OpenCVXUETANG/opencv_workflow
推薦閱讀
玩轉YOLOv8~YOLO11全系模型從訓練到推理就靠它了
C#上位機開發專屬OpenCV系統化教程
C#中輕松實現OpenCV算法零代碼開發
深度學習系統化學習路線圖專題(2025版本)
【零代碼】OpenCV C# 快速開發框架演示
正式發布|OpenVINO2025深度學習與大模型部署教程
C#上位機開發專屬OpenCV系統化教程
