• 正文
  • 推薦器件
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

ELF 1技術(shù)貼 | 如何移植OpenCV

2024/01/09
1864
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
OpenCV是一個(gè)基于BSD許可(開(kāi)源)發(fā)行的計(jì)算機(jī)視覺(jué)庫(kù),廣泛應(yīng)用于跨平臺(tái)環(huán)境,包括Linux、Windows、Android及Mac OS操作系統(tǒng)。作為計(jì)算機(jī)視覺(jué)領(lǐng)域廣受歡迎的標(biāo)準(zhǔn)工具包,OpenCV擁有了豐富的常用圖像處理函數(shù)庫(kù),采用C/C++語(yǔ)言編寫(xiě),可以運(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)化了開(kāi)發(fā)流程,使開(kāi)發(fā)者能更專注于核心算法的設(shè)計(jì)和應(yīng)用層面的工作。

接下來(lái),以ELF 1開(kāi)發(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配置
首先打開(kāi)CMake-gui,我們會(huì)用到CMake-gui對(duì)OpenCV進(jìn)行配置,若沒(méi)有請(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)) &&

之后編譯就沒(méi)有報(bào)錯(cuò)了,編譯完成后,執(zhí)行make install將庫(kù)和例程安裝到目標(biāo)文件下。

elf@ubuntu:~/work/a/wenz/opencv-3.4.1/build$ make install
elf@ubuntu:~/work/a/wenz/opencv-3.4.1/build$ ls ../install/
bin  include  lib  LICENSE  share
將生成的文件通過(guò)U盤(pán)拷貝到開(kāi)發(fā)板,至此OpenCV移植就結(jié)束啦,希望能對(duì)屏幕前的小伙伴提供幫助。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
CY62177EV30LL-55ZXI 1 Cypress Semiconductor Standard SRAM, 2MX16, 55ns, CMOS, PDSO48, 12 X 18.40 MM, 1 MM HEIGHT, LEAD FREE, MO-142, TSOP1-48

ECAD模型

下載ECAD模型
$34.25 查看
MOC3021SR2M 1 Rochester Electronics LLC 1 CHANNEL TRIAC OUTPUT OPTOCOUPLER, SURFACE MOUNT, DIP-6
$0.68 查看
TLP185(GB-TPR,SE 1 Toshiba America Electronic Components 1 CHANNEL TRANSISTOR OUTPUT OPTOCOUPLER

ECAD模型

下載ECAD模型
$0.45 查看
飛凌嵌入式

飛凌嵌入式

保定飛凌嵌入式技術(shù)有限公司,創(chuàng)建于2006年,是一家專注嵌入式核心控制系統(tǒng)研發(fā)、設(shè)計(jì)和生產(chǎn)的高新技術(shù)企業(yè),是國(guó)內(nèi)較早專業(yè)從事嵌入式技術(shù)的企業(yè)之一。 經(jīng)過(guò)十幾年的發(fā)展與積累,公司擁有業(yè)內(nèi)優(yōu)秀的軟硬件研發(fā)團(tuán)隊(duì),在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設(shè)有華東、華南技術(shù)服務(wù)中心,并在北美、歐洲以及亞太等其他國(guó)家和地區(qū)擁有國(guó)際業(yè)務(wù)網(wǎng)絡(luò)。公司研發(fā)的智能設(shè)備核心平臺(tái)廣泛應(yīng)用于物聯(lián)網(wǎng)、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機(jī)器人、環(huán)境監(jiān)測(cè)等諸多領(lǐng)域。

保定飛凌嵌入式技術(shù)有限公司,創(chuàng)建于2006年,是一家專注嵌入式核心控制系統(tǒng)研發(fā)、設(shè)計(jì)和生產(chǎn)的高新技術(shù)企業(yè),是國(guó)內(nèi)較早專業(yè)從事嵌入式技術(shù)的企業(yè)之一。 經(jīng)過(guò)十幾年的發(fā)展與積累,公司擁有業(yè)內(nèi)優(yōu)秀的軟硬件研發(fā)團(tuán)隊(duì),在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設(shè)有華東、華南技術(shù)服務(wù)中心,并在北美、歐洲以及亞太等其他國(guó)家和地區(qū)擁有國(guó)際業(yè)務(wù)網(wǎng)絡(luò)。公司研發(fā)的智能設(shè)備核心平臺(tái)廣泛應(yīng)用于物聯(lián)網(wǎng)、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機(jī)器人、環(huán)境監(jiān)測(cè)等諸多領(lǐng)域。收起

查看更多

相關(guān)推薦