OpenCV交叉編譯,OpenCV移植到嵌入式開發板

開發環境介紹:

主機操作系統:Ubuntu14.04 64位,由全志科技A40i開發板某賣家提供,使用其提供的系統環境與交叉編譯器
目標平臺:全志科技A40i,其實也可以類比遷移到其他嵌入式開發平臺
opencv版本:3.2.0,源代碼

提前編譯全志科技A40i賣家提供的系統源碼,我用的是linuxQt版本,編譯中會出現qt5webkit-5.8.0錯誤,刪除cqr40_linuxqt_bv3s/buildroot-2017.02.3/output/build/qt5webkit-5.8.0,重新編譯系統即可。內存大於8G最好。主要爲了使用交叉編譯器gcc和g++。

移植步驟:

一、安裝cmake、cmake-qt-gui以及一些需要的庫

$ sudo apt-get install cmake
$ sudo apt-get install cmake-qt-gui
$ sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libtiff4-dev libswscale-dev libjasper-dev()

二、利用cmake-gui生成Makefile

1、執行:$ sudo cmake-gui            //進入cmake-gui界面

source code:解壓出來的opencv代碼目錄

build the binaries:手動創建的目錄,我在opencv源碼目錄下創建build-arm

2、Specify the generator of project

點擊上圖中Configure ,配置如圖:

選擇Unix Makefiles ,選中Specify options for cross-compiling,點擊 Next。

3、配置Target System、Compiler、Find Program/Library/Include

配置如圖:

Operating System:Linux或arm-linux,都一樣

Processor:arm

Compiler C:選擇交叉編譯器的gcc,在cqr40_linuxqt_bv3s/root-2017.02.3/output/host/usr/bin目錄下

Compiler C++:選擇交叉編譯器的g++,也在cqr40_linuxqt_bv3s/root-2017.02.3/output/host/usr/bin目錄下

Target Root:選擇交叉編譯器的bin目錄,我在/usr/local/目錄下自建的arm/opencv-arm/bin目錄。

點擊 Finish

4、設置編譯選項

勾上 BUILD_JPEG 和 BUILD_PNG ,根據需求也可以勾選其他選項。

配置安裝目錄,系統默認/usr/local,爲了避免交叉編譯後的庫替換原有的庫,我把路徑改爲 /usr/local/arm/opencv-arm

5、生成Makefile

點擊 Configure,執行完後點擊 Generate

三、編譯安裝opencv

$ cd /root/library/opencv/opencv-3.2.0/build-arm/

$ make

$ make install

/usr/local/arm/opencv-arm目錄如下,將include和lib複製到嵌入式開發板中對應位置即可。注意在嵌入式開發板lib目錄下要建立軟連接。和host主機上類似。

參考:

https://blog.csdn.net/qq_30155503/article/details/79983630

https://blog.csdn.net/sanallen/article/details/81227182

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章