OpenCV是一個(gè)基于BSD許可(開源)發(fā)行的計(jì)算機(jī)視覺庫(kù),廣泛應(yīng)用于跨平臺(tái)環(huán)境,包括Linux、Windows、Android及Mac OS操作系統(tǒng)。作為計(jì)算機(jī)視覺領(lǐng)域廣受歡迎的標(biāo)準(zhǔn)工具包,OpenCV擁有了豐富的常用圖像處理函數(shù)庫(kù),采用C/C++語(yǔ)言編寫,可以運(yùn)行在Linux、Windows、Mac等操作系統(tǒng)上流暢運(yùn)行,并能夠快速實(shí)現(xiàn)一系列圖像處理和識(shí)別任務(wù)。
此外OpenCV為了增強(qiáng)其通用性和易用性,還提供了Java、Python、CUDA等的使用接口、機(jī)器學(xué)習(xí)的基礎(chǔ)算法調(diào)用,在圖像處理與分析方面極大地簡(jiǎn)化了開發(fā)流程,使開發(fā)者能更專注于核心算法的設(shè)計(jì)和應(yīng)用層面的工作。
接下來,以ELF 1開發(fā)板為例,本文將詳細(xì)介紹如何成功移植OpenCV。
01下載OpenCV源碼
下載地址:https://opencv.org/releases/選擇你需要的版本,點(diǎn)擊Source,小編這里以O(shè)penCV- 3.4.1版本為例進(jìn)行移植。
02將源碼拷貝到Ubuntu環(huán)境中并進(jìn)行解壓
elf@ubuntu:~/work/a/wenz$ tar xvf opencv-3.4.1.tar.gz elf@ubuntu:~/work/a/wenz$ ls opencv-3.4.1 opencv-3.4.1.tar.gz
03進(jìn)入OpenCV目錄,創(chuàng)建文件夾build和install
elf@ubuntu:~/work/a/wenz$ cd opencv-3.4.1/ elf@ubuntu:~/work/a/wenz/opencv-3.4.1$ mkdir build elf@ubuntu:~/work/a/wenz/opencv-3.4.1$ mkdir install
04CMake-gui配置
首先打開CMake-gui,我們會(huì)用到CMake-gui對(duì)OpenCV進(jìn)行配置,若沒有請(qǐng)使用以下命令進(jìn)行安裝。
elf@ubuntu:~/work/a/wenz/opencv-3.4.1$ sudo apt-get install cmake cmake-qt-gui cmake-curses-gui elf@ubuntu:~/work/a/wenz/opencv-3.4.1$ cmake-gui
參考下圖進(jìn)行配置:
C :/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc C++ :/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ Target Root:/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/cortexa7hf-neon-poky-linux-gnueabi/usr/lib
點(diǎn)擊finish后,參考下圖進(jìn)行配置
CMAKE_CXX_FLAGS: -march=armv7ve -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/cortexa7hf-neon-poky-linux-gnueabi CMAKE_INSTALL_PREFIX: /home/elf/work/a/wenz/opencv-3.4.1/install CMAKE_EXE_LINKER_FLAGS: -lpthread -lrt -ldl
點(diǎn)擊Configure 和Generate,參考下圖進(jìn)行配置
配置成功之后,點(diǎn)擊Configure 和Generate。此時(shí)已經(jīng)正常生成Makefile。
正常生成makefile之后,使用make進(jìn)行編譯
elf@ubuntu:~/work/a/wenz/opencv-3.4.1$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi elf@ubuntu:~/work/a/wenz/opencv-3.4.1$ cd build elf@ubuntu:~/work/a/wenz/opencv-3.4.1/build$ make
報(bào)錯(cuò)一:
elf@ubuntu:~/work/a/wenz/opencv-3.4.1/build$ vi ../3rdparty/protobuf/src/google/protobuf/stubs/common.cc
加上這一行 #define HAVE_PTHREAD
保存、退出
報(bào)錯(cuò)二
elf@ubuntu:~/work/a/wenz/opencv-3.4.1/build$ vi ../3rdparty/libpng/pngpriv.h
將:
# if (defined(__ARM_NEON__) || defined(__ARM_NEON)) && \
改為:
# if defined(PNG_ARM_NEON) && (defined(ARM_NEON) || defined(__ARM_NEON)) && \
之后編譯就沒有報(bào)錯(cuò)了,編譯完成后,執(zhí)行make install將庫(kù)和例程安裝到目標(biāo)文件下。
elf@ubuntu:~/work/a/wenz/opencv-3.4.1/build$ make install
將生成的文件通過U盤拷貝到開發(fā)板,至此OpenCV移植就結(jié)束啦,希望能對(duì)屏幕前的小伙伴提供幫助。
-
嵌入式
+關(guān)注
關(guān)注
5082文章
19104瀏覽量
304811 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7488瀏覽量
87849 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5032瀏覽量
97373 -
OpenCV
+關(guān)注
關(guān)注
31文章
634瀏覽量
41337
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論