導讀:OpenCV是一個跨平臺計算機視覺庫,可以運行在Linux、Windows、Android和Mac OS操作系統上。本文主要講述如何在ubuntu12.04環境下,移植Opencv3.2到啓揚IMX6開發板上。
計算機視覺市場巨大而且持續增長,且這方面沒有標準API,如今的計算機視覺軟件大概有以下三個痛點:
1、研究代碼(慢,不穩定,獨立並與其他庫不兼容);
2、耗費很高的商業化工具(比如Halcon, MATLAB+Simulink);
3、依賴硬件的一些特別的解決方案(比如視頻監控,製造控制系統,醫療設備)。
這是如今的現狀,而標準的API將簡化計算機視覺程序和解決方案的開發,OpenCV致力於成爲這樣的標準API。
OpenCV通過優化的C代碼的編寫對其執行速度帶來了可觀的提升,並且可以通過購買Intel的IPP高性能多媒體函數庫(Integrated Performance Primitives)得到更快的處理速度。
(上圖爲OpenCV與當前其他主流視覺函數庫的性能比較)
OpenCV是一個基於BSD許可(開源)發行的跨平臺計算機視覺庫,可以運行在Linux、Windows、Android和Mac OS操作系統上。它輕量級而且高效——由一系列 C 函數和少量 C++ 類構成,同時提供了Python、Ruby、MATLAB等語言的接口,實現了圖像處理和計算機視覺方面的很多通用算法。
那麼OpenCV2.3如何在ubuntu12.04環境下,移植到啓揚i.MX6開發板上,且看下面一波操作!
移植環境:ubuntu12.04
交叉編譯器:arm-fsl-linux-gnueabi-gcc 版本4.6.2
目標板子:啓揚IAC-IMX6-Kit
1、
下載opencv3.2 源碼,參考鏈接:https://github.com/opencv/opencv/releases/tag/3.2.0 (下載tar.gz格式) ;
編譯目錄:/home/cheng/opencv/build
安裝目錄:/home/cheng/opencv/cv3.2
2、下載cmake cmake-gui2.8.7 命令行啓動cmake-gui;
3、配置成功後,點擊configure, 然後選擇最後一項,點擊next;
target root是尋找lib和include這些庫文件和頭文件,這些文件在交叉編譯器安裝目錄下。 operating system 填寫arm-fsl-linux-gnueabi-gcc 就是用的交叉編譯器的名字。
4、去掉WITH_TIFF WITH_CUDA //不去掉也行,
修改CMAKE_BUILD_TYPE爲Release //不選也行,
CMAKE_INSTALL_PREFIX 選擇安裝目錄;
5、修改: /home/cheng/opencv/build/ vimCMakeCache.txt 大致在196行
CMAKE_EXE_LINKER_FLAGS:STRING='' 修改爲
CMAKE_EXE_LINKER_FLAGS:STRING=-ldl -lrt 備註:這個地方要根據具體情況修改
也可能是Libs: -L${libdir} -lcv -lcxcore -lcvaux -lml -lpthread -ldl
6、進入 /home/cheng/opencv/build/
make
make install
查看安裝目錄下的文件,將bin目錄下的文件拷貝到開發板/bin目錄下
Lib目錄下的文件拷貝到開發板/lib目錄下
移植過程中還遇到了其他的一些警告信息
由於環境或編譯器使用的不同,遇到的情況可能不同,有錯誤建議多百度,多思考,靜心。
版權聲明:操作部分來自啓揚程工博客。
轉載請註明出處 https://blog.csdn.net/qq_38625051/article/details/78146808