移植opencv到ARM開發板

2021-07-09 21:49:57 字數 2536 閱讀 7905

安裝交叉編譯鏈

我使用的是arm-linux-gcc 4.3.2,解壓到目錄/usr/local/arm/4.3.2,然後在環境變數path中增加/usr/local/arm/4.3.2/bin

安裝cmake

opencv 2.0之後的版本,必須使用cmake建立makefile。我使用的cmake版本是2.8.2,解壓到目錄/usr/local/cmake-2.8.2-linux-i386,然後在環境變數path中增加/usr/local/cmake-2.8.2-linux-i386/bin

解壓opencv 2.4.9建立build目錄,作為cmake編譯arm版本的工作目錄執行cmake-gui

(經過準備工作將cmake解壓到/usr/local/cmake-2.8.2-linux-i386,其中cmake-gui就在該目錄下)

可參考安裝過程出現很多錯誤

測試程式如下:

然後makefile如下:

all:test

cflags=-wall

opencv_include=-i /usr/local/arm/include/opencv

cc = arm-linux

-g++

opencv_link =-l/usr/local/arm/lib -lcv

-lcxcore

-lhighgui

-lpthread

-lrt

%:%.cpp

$(cc) $(opencv_include) $<

-o $@ $(opencv_link) `pkg-config opencv --libs`

-ldl

.phony:clean

clean:

rm -f test

此處的pkg-…..–libs兩邊的 ` 是左上角的,這裡寫錯,編譯測試程式的時容易出現:

collect2: error: ld returned 1 exit status
可參考:

另外:

在上面的makefile中:

opencv_link =-l/usr/local/arm/lib -lcv

-lcxcore

-lhighgui

-lpthread

-lrt

修改1

-lcv應該是libcv.so庫檔案,但是我在make install後的lib裡沒有發現libcv.so檔案,於是將其更改

修改2

猜測libcxcore.so應該是libopencv_core.so

修改3

libhighgui.so為libopencv_highgui.so

opencv_link =-l/usr/local/arm/lib -lopencv_calib3d

-lopencv_core

-lopencv_highgui

-lpthread

-lrt

但是編譯後出現

opencv error: unspecified error (the function is not implemented. rebuild the library with windows, gtk+ 2.x or carbon support. if you are on ubuntu or debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvnamedwindow, file /work/opencv-2.4.9/modules/highgui/src/window.cpp, line 483

terminate called after throwing an instance of 『cv::exception』

what(): /work/opencv-2.4.9/modules/highgui/src/window.cpp:483: error: (-2) the function is not implemented. rebuild the library with windows, gtk+ 2.x or carbon support.if you are on ubuntu or debian,install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvnamedwindow

aborted

移植 OpenCV到ARM開發板

交叉編譯opencv依賴庫 交叉編譯opencv依賴庫 1.libz 的交叉編譯 configure prefix opt opencv arm open shared 修改 makefile cc arm linux gcc ar arm linux ar ranlib arm linux ran...

移植ubuntu core到Arm開發板

最初是想把整個ubuntu移植到mx51開發板,因為專案不需要執行桌面系統,所以只移植了乙個基本的ubuntu core系統 這個映象就是乙個rootfs,可以作為根檔案系統使用。2.把映象燒寫到開發板的乙個分割槽上 3.我的arm開發板是mx51,修改uboot啟動引數如下 set bootarg...

qwt移植到arm開發板

arm版本的qwt和x86一樣,只需要改幾個地方即可。1 首先設定編譯工具鏈環境變數 path usr local arm 4.4.1 bin path 2 qmake 生成arm版本的makefile 在原始碼的qwt 6.1.0目錄下執行 opt qt 4.7.1 bin qmake 3 注意 ...