国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩

當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 入門指導(dǎo) > Opencv在嵌入式ARM開(kāi)發(fā)移植的詳細(xì)過(guò)程

Opencv在嵌入式ARM開(kāi)發(fā)移植的詳細(xì)過(guò)程 時(shí)間:2018-08-06      來(lái)源:未知

首先要看Opencv在嵌入式arm開(kāi)發(fā)的移植過(guò)程的話,網(wǎng)上有很多這方面的移植編譯方法都是比較老的,而且多數(shù)都是針對(duì)OpenCV 1.0的,他的方法很麻煩,很容易出錯(cuò),在這里我來(lái)說(shuō)一下我的方法,沒(méi)有那么麻煩,都是盡可能利用現(xiàn)成的工具,盡量圖形化界面配置操作,方便編譯配置。

接下來(lái),我就詳細(xì)的來(lái)讓你學(xué)會(huì)Opencv在嵌入式ARM開(kāi)發(fā)移植的詳細(xì)過(guò)程,可以收藏哦。

軟硬件環(huán)境

宿主機(jī):Ubuntu 12.04 32bit

開(kāi)發(fā)板:OK6410

OpenCV: 2.4.3

其他:

arm-linux-g++ 4.3.2 / arm-linux-gcc 4.3.2

CMake-gui 2.8.10

Cmake的安裝

OpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安裝cmake。

ubuntu下安裝cmake比較簡(jiǎn)單,

apt-get install cmake

如果覺(jué)得自帶的版本不符合要求,可以下載安裝包。

下載最新版的安裝包:

//www.cmake.org/cmake/resources/software.html

這里是已經(jīng)編譯好的,你可以直接下載解壓到你所需要的目錄下就好了:

tar zxvf cmake-2.8.10.2-Linux-i386.tar.gz –C /usr/local/

設(shè)置環(huán)境變量:

sudo gedit /home/emouse/.bashrc

在打開(kāi)的文件后添加:

export PATH=$PATH:/usr/local/cmake-2.8.10.2-Linux-i386/bin

查看版本,測(cè)試是否安裝成功:

root@emouse:/home# cmake --version

cmake version 2.8.10.2

OpenCV 的交叉編譯

解壓OpenCV壓縮文件,得到文件夾。

#cmake-gui 打開(kāi)cmake的gui界面,開(kāi)始進(jìn)行配置,配置過(guò)程如下圖所示:

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

2、點(diǎn)擊Configure 選擇工程類型,選擇交叉編譯,點(diǎn)擊下一步。

3、在下圖的界面中選擇交叉編譯工具鏈以及庫(kù)文件相關(guān)信息,按照?qǐng)D中的進(jìn)行填寫,其中紅框部分為交叉編譯工具鏈的實(shí)際路徑,根據(jù)宿主機(jī)實(shí)際安裝路徑填寫。

4、點(diǎn)擊Finsh完成初步配置。

5、在這個(gè)時(shí)候主界面如下圖所示,這時(shí)Cmake會(huì)讀取程序的一些配置信息,可以再下圖紅框中對(duì)每一個(gè)編譯選項(xiàng)進(jìn)行修改,這里去掉WITH_TIFF支持并修改安裝路徑,其他配置可以根據(jù)需求選擇。

通過(guò)終端進(jìn)入OpenCV-ARM目錄,make編譯,編譯過(guò)程中出錯(cuò)如下:

Linking CXX executable ../../bin/opencv_perf_core../../lib/libopencv_highgui.so: undefined reference to `_TIFFmemcpy'../../lib/libopencv_core.so: undefined reference to `pthread_spin_init'../../lib/libopencv_core.so: undefined reference to `pthread_spin_unlock'../../lib/libopencv_highgui.so: undefined reference to `_TIFFmemset'../../lib/libopencv_highgui.so: undefined reference to `_TIFFwarningHandler'../../lib/libopencv_core.so: undefined reference to `pthread_key_create'../../lib/libopencv_highgui.so: undefined reference to `_TIFFmemcmp'../../lib/libopencv_core.so: undefined reference to `pthread_getspecific'../../lib/libopencv_highgui.so: undefined reference to `_TIFFfree'../../lib/libopencv_ts.so: undefined reference to `pthread_key_delete'../../lib/libopencv_core.so: undefined reference to `pthread_spin_lock'../../lib/libopencv_highgui.so: undefined reference to `_TIFFmalloc'../../lib/libopencv_highgui.so: undefined reference to `TIFFOpen'../../lib/libopencv_core.so: undefined reference to `pthread_spin_destroy'../../lib/libopencv_core.so: undefined reference to `pthread_once'../../lib/libopencv_highgui.so: undefined reference to `_TIFFrealloc'../../lib/libopencv_core.so: undefined reference to `clock_gettime'../../lib/libopencv_core.so: undefined reference to `pthread_spin_trylock'../../lib/libopencv_highgui.so: undefined reference to `_TIFFerrorHandler'../../lib/libopencv_core.so: undefined reference to `pthread_setspecific'collect2: ld returned 1 exit statusmake[2]: *** [bin/opencv_perf_core] 錯(cuò)誤 1make[1]: *** [modules/core/CMakeFiles/opencv_perf_core.dir/all] 錯(cuò)誤 2make: *** [all] 錯(cuò)誤 2

關(guān)于上面的報(bào)錯(cuò),就是因?yàn)槲覀冊(cè)陂_(kāi)始的時(shí)候勾選了tiff支持,但是這個(gè)支持是要宿主機(jī)中安裝相應(yīng)程序的,所以才會(huì)報(bào)錯(cuò),解決方法就是你打開(kāi)cmake去掉勾選就可以看,如果還有其他報(bào)錯(cuò)的話,可以通過(guò)下面方式查找會(huì)有以下解釋:

編譯時(shí)發(fā)現(xiàn)如下錯(cuò)誤:

Linking CXX executable ../../bin/opencv_createsamples

../../lib/libcxcore.so: undefined reference to `clock_gettime'

../../lib/libcxcore.so: undefined reference to `pthread_key_create'

../../lib/libcxcore.so: undefined reference to `pthread_getspecific'

../../lib/libcxcore.so: undefined reference to `pthread_setspecific'

原因是cmake不認(rèn)識(shí)我定義的arm-linux系統(tǒng)標(biāo)記,沒(méi)有加上庫(kù)pthread和rt的鏈接選項(xiàng)

此時(shí)需要修改CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原來(lái)為空,加上-lpthread -lrt

按照此方法更改對(duì)應(yīng)文件,如下圖所示:

此處在CMakeCache.txt 的173行,添加-lpthread -lrt,然后繼續(xù)編譯。編譯過(guò)程十來(lái)分鐘左右,編譯成功結(jié)果如下:

運(yùn)行make install進(jìn)行安裝,在我的安裝目錄中就會(huì)多出以下幾個(gè)文件夾:

lib文件夾即生成的庫(kù)文件,拷貝到開(kāi)發(fā)板對(duì)應(yīng)目錄即可。

通過(guò)上述的這些步驟,你所需要的就完成了,其實(shí)我的這個(gè)方法也是比較容易一些的,不會(huì)那么繞,復(fù)雜,如果在其中出錯(cuò)了,跟著我的步驟一步一步檢查,那會(huì)很快找到問(wèn)題所在的,希望對(duì)你們有幫助哦。

上一篇:嵌入式之a(chǎn)rm匯編指令集合,美女學(xué)霸總結(jié)

下一篇:嵌入式原理及應(yīng)用題庫(kù),都是經(jīng)典題型

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見(jiàn)科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5,京公海網(wǎng)安備11010802025203號(hào)

回到頂部