1. 【入坑指南】| OpenCV4.8 + CUDA + 擴展模塊支持編譯
OpenCV4.8 + CUDA + 擴展模塊支持編譯的入坑指南如下:
確保軟體版本滿足要求:
啟動CMake進行配置:
設置擴展模塊路徑並配置CUDA選項:
生成並編譯項目:
編譯技巧與注意事項:
驗證CUDA加速效果:
通過上述步驟,你可以成功編譯OpenCV4.8並支持CUDA加速以及擴展模塊。這將顯著提升圖像處理程序的性能。如需更多CUDA函數使用知識,可參考相關書籍或在線資源。
2. Linux 如何運行benchmark循環跑
Linux 如何運行benchmark循環跑如下
benchmark中包含了跑benchmark的源碼benchncnn.cpp,感興趣的可以先看一下裡面的內容。在Linux的文件根目錄下,新建一個build文件夾並進入,當然也可以不叫build,隨便你自己起。mkdir build && cd build進入之後就可以進行編譯了,編譯之後在build文件夾下會生成一個叫benchmark的文件夾,之後的工作會在這里進行。編譯用的是cmake,這里如果有問題的話可以注意一下cmake的版本,我用的版本是3.12.3。具體命令如下:cmake .
make -j8這里cmake編譯實際上是要根據上一層文件夾的CMakeLists.txt的文本來的,這里的..其實就是表示的上一層文件夾。 Make -j後面的數字是開幾個核,根據自己電腦的實際情況來。執行完成之後就可以看到build里有了benchmark的文件夾。
入這個文件夾,可以看到一個benchncnn的可執行文件已經編譯好了,運行這個可執行文件就可以測試模型的速度。但是這個可執行文件默認的是找到當前文件夾下的param格式的文件。
所有自帶的模型文件都在ncnn根目錄下的benchmark的文件夾中,把裡面所有的param文件都拷貝到現在的benchmark文件夾,然後執行如下命令./benchncnn 4 2 0 -1
第一個數字表示測試次數,第二個表示開的線程數(這一點ncnn做的不錯),最後一個數字-1表示只測cpu。NCNN交叉編譯到rk3288(armv7架構)和rk3399(armv8架構)的方法。