0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ELF 1技术贴|如何移植OpenCV

ElfBoard 2024-01-09 13:55 次阅读

OpenCV是一个基于BSD许可(开源)发行的计算机视觉库,广泛应用于跨平台环境,包括Linux、Windows、Android及Mac OS操作系统。作为计算机视觉领域广受欢迎的标准工具包,OpenCV拥有了丰富的常用图像处理函数库,采用C/C++语言编写,可以运行在Linux、Windows、Mac等操作系统上流畅运行,并能够快速实现一系列图像处理和识别任务。

此外OpenCV为了增强其通用性和易用性,还提供了JavaPython、CUDA等的使用接口机器学习的基础算法调用,在图像处理与分析方面极大地简化了开发流程,使开发者能更专注于核心算法的设计和应用层面的工作。

接下来,以ELF 1开发板为例,本文将详细介绍如何成功移植OpenCV。

01下载OpenCV源码

下载地址:https://opencv.org/releases/选择你需要的版本,点击Source,小编这里以OpenCV- 3.4.1版本为例进行移植。

02将源码拷贝到Ubuntu环境中并进行解压

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进入OpenCV目录,创建文件夹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,我们会用到CMake-gui对OpenCV进行配置,若没有请使用以下命令进行安装。

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

参考下图进行配置:

wKgaomWc3pSAMmP9AEuXm__hPLU867.pngwKgZomWc3pCABJKkAAFgoCtgB68675.png

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

wKgZomWc3ruASg_eAAGsahPMdNY777.png


点击finish后,参考下图进行配置

wKgaomWc3teAQ_pUAAQmNM1jv_o145.png

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


点击Configure 和Generate,参考下图进行配置

wKgZomWc3v2AZ8-LAAOs5akmydI916.png


配置成功之后,点击Configure 和Generate。此时已经正常生成Makefile。

wKgaomWc3wiAMfZUAAF9gh56sKQ786.png

正常生成makefile之后,使用make进行编译

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

报错一:

wKgaomWc3ymAVhTAAADcayLuOx0272.png

elf@ubuntu:~/work/a/wenz/opencv-3.4.1/build$ vi ../3rdparty/protobuf/src/google/protobuf/stubs/common.cc

加上这一行 #define HAVE_PTHREAD

保存、退出

wKgaomWc3z-AGOy6AAJ26h1GwPs454.png

报错二

wKgaomWc30eAZHs4AAD-p4lpvPA061.png

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)) && \

wKgZomWc33KAfRlOAAI982sqvSc944.png

之后编译就没有报错了,编译完成后,执行make install将库和例程安装到目标文件下。

elf@ubuntu:~/work/a/wenz/opencv-3.4.1/build$ make install

将生成的文件通过U盘拷贝到开发板,至此OpenCV移植就结束啦,希望能对屏幕前的小伙伴提供帮助。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4982

    文章

    18285

    浏览量

    288477
  • 计算机
    +关注

    关注

    19

    文章

    6651

    浏览量

    84544
  • 开发板
    +关注

    关注

    25

    文章

    4430

    浏览量

    94011
  • OpenCV
    +关注

    关注

    29

    文章

    611

    浏览量

    40784
收藏 人收藏

    评论

    相关推荐

    嵌入式学习-ElfBoard ELF 1板卡-移植openssl

    ELF1开发板上移植openssl。 开发环境操作系统:Ubuntu18.04交叉编译链:arm-poky-linux-gnueabi-gcc内核版本:Linux4.1.15openssl版本
    发表于 12-28 08:53

    嵌入式学习-ElfBoard ELF 1板卡-移植python3.6.9

    。本篇文章以python3.6.9为例,在网址下载Python-3.6.9.tar.xz压缩文件。1.拷贝Python-3.6.9.tar.xz到开发环境/home/elf/work目录下解压
    发表于 01-24 16:50

    嵌入式学习-ElfBoard ELF 1板卡-移植boa的方法

    的选择。此外,boa还具有容易定制和扩展的特点,使得它可以被用于各种不同的应用场景。 下面来介绍基于ELF 1开发板移植boa的方法。 1、boa官网下载源码 官网网址: Boa do
    发表于 02-02 13:34

    I.MX6ULL-飞凌 ElfBoard ELF1板卡- 移植zbar的方法

    :~# cp /run/media/sda1/output_zbar.tar.bz2 / root@ELF1:~# tar xvf /output_zbar.tar.bz2 root@ELF1:~# sync
    发表于 03-22 10:18

    发布会回顾 | ElfBoard品牌发布!ELF 1ELF 1S新品重磅亮相

    elf
    ElfBoard
    发布于 :2023年10月08日 11:46:27

    DM8127 rdk3.2 Opencv移植问题,请问如何把Opencv移植到DM8127上运行?

    本帖最后由 一只耳朵怪 于 2018-5-28 16:31 编辑 大家好: 我现在要做图像处理算法,想了解如何把Opencv移植到DM8127上运行?移植的思路是什么呢?有没有一些文档或demo可以参考? 谢谢大家!
    发表于 05-28 04:33

    DM368移植opencv

    请问一下,想移植opencv到DM368上去做拍照功能(截图),不知能否跑起来?
    发表于 06-21 16:02

    OpenCV移植方法

    本章节将介绍 OpenCV移植方法,及结合 Qt 例程去进一步学习 OpenCV 识别图像。本章节使用的资料已经放到了开发板网盘资料中,路径为:“11_Linux 系统开发进阶/86_章节_
    发表于 02-04 06:16

    OpenCV学习之路--5--OpenCV3.4.10的ARM版本移植到开发板 精选资料分享

    开发板:迅为IMX6Q移植QTE5.7编译好的ARM版本OpenCV3.4.10文件:OpenCV3.4.10 ARM版编译好的OpenCV依赖库文件:
    发表于 07-16 06:55

    ARM Linux下OpenCV移植和使用方法

    的应用领域非常广泛,包括图像拼接、图像降噪、产品质检、人机交互、人脸识别、动作识别、动作跟踪、无人驾驶等。本篇介绍ARM Linux下OpenCV移植和简单使用。2.环境介绍2.1.硬件1) NUC972开...
    发表于 11-03 07:01

    移植OpenCV-4.3.0的过程

    OpenCV-4.3.0是较新的OpenCV版本,最新的版本是OpenCV-4.4.0,由于GitHub太慢总是下载失败,不得已就移植OpenCV
    发表于 11-04 08:51

    怎样去解决移植opencv3.4.13遇到的imshow问题呢?

    问题描述及复现步骤:移植 OPENCV  系统 ubuntu20 官方固件  opencv:3.4.13  编译中遇到2个问题:  1。编译器的问题,SDK编译器为gcc-10.3 ,
    发表于 02-07 15:53

    opencv-4.3.0嵌入式Linux移植

    OpenCV-4.3.0是较新的OpenCV版本,最新的版本是OpenCV-4.4.0,由于GitHub太慢总是下载失败,不得已就移植OpenCV
    发表于 11-01 16:56 11次下载
    <b class='flag-5'>opencv</b>-4.3.0嵌入式Linux<b class='flag-5'>移植</b>

    RK3568上OpenCV 的编译移植

    OpenCV作为一个开源计算机视觉库,在 Windows、Linux、Android和Mac OS等操作系统上均可运行。OpenCV库因其开源的特性, 而且在各种平台上都能移植,加上其能提供的图像处理算法丰富多样,在 ARM 嵌
    的头像 发表于 12-20 10:20 1775次阅读
    RK3568上<b class='flag-5'>OpenCV</b> 的编译<b class='flag-5'>移植</b>

    RK3568上OpenCV 的编译移植

    OpenCV作为一个开源计算机视觉库,在Windows、Linux、Android和MacOS等操作系统上均可运行。OpenCV库因其开源的特性,而且在各种平台上都能移植,加上其能提供的图像处理
    发表于 12-20 10:08 64次下载