opencv移植到Hiveboard

Hiveboard是東南大學自主研發的一塊嵌入式開發板,用的是北大的unicore處理器核。在縱海杯東南大學第六屆嵌入式競賽中,我們做的是基於Hiveboard的圖像拼接技術。平臺是opencv,因此需要移植到開發板上。參考了opencv在ARM上的移植,下面是具體移植的步驟:

由於Opencv2.2以後版本需要使用Cmake生成makefile文件,因此需要先安裝cmake。 ubuntu下安裝cmake比較簡單,

apt-get install cmake

我們選擇的是opencv2.4.4版本,源碼可到opencv網站下載

解壓OpenCV壓縮文件,得到文件夾,通過圖形界面配置。

輸入命令cmake-gui 打開cmake的gui界面,開始進行配置,配置過程如下面所示:

1、選定解壓後的源文件和將要編譯的文件目錄,這個自己之前先建好。

2、點擊Configure 選擇工程類型,選擇交叉編譯,點擊下一步。如下圖所示:

3、在下圖的界面中選擇交叉編譯工具鏈以及庫文件相關信息,按照圖中的進行填寫,其中C、C++和Target Root爲交叉編譯工具鏈的實際路徑,根據宿主機實際安裝路徑填寫。 

4、點擊Finsh完成初步配置。

5、此時主界面如下圖所示,這時Cmake會讀取程序的一些配置信息,可以對每一個編譯選項進行修改,這裏去掉WITH_TIFF支持並修改安裝路徑,其他配置可以根據需求選擇,藍色部分爲配置輸出路徑,可按自己需求填寫,/usr/uni-yi/是我自己最終交叉編譯輸出的路徑。

6、配置完成後,點擊Configure,生成界面如下:

7、再點擊Generate生成界面如下圖:

8、通過終端進入OpenCV-unicore目錄,make編譯,編譯過程中出錯如下 :

    原因是cmake不認識我定義的unicore32-linux系統標記,沒有加上庫pthread和rt的鏈接選項

    此時需要修改CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原來爲空,加上-lpthread -lrt

按照此方法更改對應文件,如下圖所示:

此處在CMakeCache.txt 的173行,添加-lpthread -lrt,然後繼續編譯。編譯過程十來分鐘左右,編譯成功結果如下:

9、運行make install進行安裝,


在我的安裝目錄中就會多出以下幾個文件夾: 

10、lib文件夾即生成的庫文件,如下圖所示:

拷貝到開發板對應的lib目錄即可。 

移植完畢後可通過以下命令編譯測試文件:

unicore32-linux-g++ image.cpp -o image -I/usr/uni-yi/include  -lopencv_core -lopencv_highgui -lpthread -lrt 

其中-I是你編譯生成的的include目錄,-lopencv_core, -lopencv_highgui,-lpthread,-lrt 是要鏈接的幾個庫。

發佈了16 篇原創文章 · 獲贊 7 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章