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

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

3天内不再提示

ELF 1技术贴|如何在Ubuntu中编译OpenCV库

ElfBoard 2024-05-31 16:41 次阅读

在之前发布的文章中探讨了交叉编译OpenCV并部署至嵌入式系统的方法。然而,在调试阶段,我们发现在 Ubuntu 环境下将 OpenCV 编译为 X86 架构可能更加方便和高效。

通过在主机上编译并使用X86架构的OpenCV库,利用主机的强大计算性能和丰富的调试工具,可以加速开发进程并简化调试环节。下面就跟小伙伴详细讲述如何在Ubuntu环境下将 OpenCV 编译为 X86 架构。

开发环境:Ubuntu18.04

OpenCV版本:OpenCV3.4.1

一、获取Opencv源码

从OpenCV官网下载OpenCV源码(opencv.org/releases/page/5/)

二、搭建OpenCV的编译环境

(1)在自己的目录下新建一个OpenCV目录:

elf@ubuntu:~/work$ mkdir opencv

(2)拷贝OpenCV源码到OpenCV目录下:

elf@ubuntu:~/work$ cp opencv-3.4.1.tar.gz opencv/ elf@ubuntu:~/work/opencv$ cd opencv/ elf@ubuntu:~/work/opencv$ ls opencv-3.4.1.tar.gz

(3)解压opencv-3.4.1.tar.gz 源码包:

elf@ubuntu:~/work/opencv$ tar xvf opencv-3.4.1.tar.gz elf@ubuntu:~/work/opencv$ ls opencv-3.4.1 opencv-3.4.1.tar.gz

(4)在opencv目录下新建两个文件夹:

elf@ubuntu:~/work/opencv$ cd opencv-3.4.1/ elf@ubuntu:~/work/opencv/opencv-3.4.1$ mkdir build elf@ubuntu:~/work/opencv/opencv-3.4.1$ mkdir install build:是构建目录。 install:是安装目录。

(5)安装CMake和cmake-gui工具和依赖库:

elf@ubuntu:~/work/opencv$ sudo apt-get install build-essential elf@ubuntu:~/work/opencv$ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev elf@ubuntu:~/work/opencv$ sudo apt-get install cmake cmake-qt-gui cmake-curses-gui

(6)进入build目录下执行 cmake-gui

elf@ubuntu:~/work/opencv/opencv-3.4.1$ cd build/ elf@ubuntu:~/work/opencv/opencv-3.4.1/build$ cmake-gui

会出现cmake配置界面。如下图所示:

wKgaomZZjBqAQq4nAACzlZxSO-4421.png

(7)配置CMake工具:

指定OpenCV源码所在的路径和构建目录,然后勾选 Advanced,最后点击 Generate。如下图所示:

wKgZomZZjCmAaASUAADnCt5Yblk098.png

选择 Unix Makefiles,然后选择 Use default native compilers。如下图所示:

wKgZomZZjDiAXBtyAAB4z3lglvI677.png

点击Finish,完成后的界面如下图所示:

wKgZomZZjEeANHpbAAFAXDimWiM218.png


点击CMAKE。如下图所示:

wKgaomZZjGiAdLB1AAGAXLUjIfM481.png

在CMAKE_BUILD_TYPE值处输入RELEASE,然后在CMAKE_INSTALL_PREFIX处指定安装目录,上面已经新建了 install 安装目录,直接指定到该目录即可。如果不指定,它会默认安装到Ubuntu系统目录/usr/local目录下。

wKgaomZZjHiAfVTxAALwzCN-5Ts341.png

至此配置完成,点击 Configure,再点击Generate生成Makefile等文件。完成后的界面如下图所示:

wKgZomZZjIqADZS7AAGJQvRLIls898.png

三、编译OpenCV源码

修改完成后,返回build目录下,可以看到 bulid 目录下已经准备了构建文件。直接make 构建即可。

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

编译完成后,用make install安装生成的二进制文件或库文件到前面指定的路径下。

elf@ubuntu:~/work/opencv/opencv-3.4.1/build$ make install elf@ubuntu:~/work/opencv/opencv-3.4.1/build$ ls ../install/ bin include lib share

以上就完成了在Ubuntu环境下编译X86架构的OpenCV,这为快速迭代产品、优化算法提供了坚实的支撑。希望本篇指南能成为各位小伙伴在嵌入式技术探索之旅上的得力助手。如果您在实践过程中遇到任何问题,欢迎留言交流。

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

    关注

    6034

    文章

    44548

    浏览量

    634406
  • 嵌入式
    +关注

    关注

    5082

    文章

    19100

    浏览量

    304642
  • 嵌入式开发板

    关注

    5

    文章

    81

    浏览量

    18731
收藏 人收藏

    评论

    相关推荐

    Ubuntu系统下编译OpenCV4.8源码记录

    很多人经常会问我是否有在Ubuntu系统化下开发OpenCV C++应用的教程,其实我一直没有,然后我有几块开发板都是基于Linux的,有Jetson系列的开发板,所以我以前写过一篇文章如何在
    的头像 发表于 10-27 16:07 1612次阅读
    <b class='flag-5'>Ubuntu</b>系统下<b class='flag-5'>编译</b><b class='flag-5'>OpenCV</b>4.8源码记录

    ElfBoard技术|如何将libwebsockets编译为x86架构

    在之前的文章,我们已经详细介绍了如何交叉编译libwebsockets并将其部署到ELF1开发板上。然而在调试阶段,发现将libwebsockets在Ubuntu环境下
    的头像 发表于 07-10 09:38 1204次阅读
    ElfBoard<b class='flag-5'>技术</b><b class='flag-5'>贴</b>|如何将libwebsockets<b class='flag-5'>库</b><b class='flag-5'>编译</b>为x86架构

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

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

    飞凌嵌入式ElfBoard ELF 1板卡-i.MX6ULL交叉编译freetype字体引擎

    freetype。 交叉编译zlib1、下载源码https://zlib.net/2、将zlib-1.3.1.tar.gz 拷贝到开发环境/home/elf/work目录下解压elf@ubun
    发表于 06-05 11:25

    嵌入式学习-飞凌ElfBoard ELF 1板卡 - 如何在Ubuntu编译OpenCV

    使用X86架构的OpenCV,利用主机的强大计算性能和丰富的调试工具,可以加速开发进程并简化调试环节。下面就跟小伙伴详细讲述如何在Ubuntu环境下将
    发表于 06-07 09:21

    I.MX6ULL-飞凌 ElfBoard ELF1板卡 - 如何在Ubuntu编译OpenCV(X86架构)

    使用X86架构的OpenCV,利用主机的强大计算性能和丰富的调试工具,可以加速开发进程并简化调试环节。下面就跟小伙伴详细讲述如何在Ubuntu环境下将
    发表于 06-07 09:32

    飞凌嵌入式ElfBoard ELF 1板卡-内核编译之初次编译

    即可完成代码的编译。我们先了解一下编译脚本的内容。使用vi命令打开build.sh脚本:elf@ubuntu:~/work/linux-4.1.15-elf1$ vi build.sh
    发表于 12-17 09:34

    【OK210试用体验】之(七)—— 交叉编译和移植OpenCV 2.4.9 (2)

    本帖最后由 郎中令2000年 于 2015-12-6 21:45 编辑 上一的主要内容是交叉编译OpenCV2.4.9。本帖的主要内容是在
    发表于 12-06 21:11

    Ubuntu下交叉编译opencv以生成ARM版本的opencv时遇到一些问题

    我用贵公司提供的交叉编译工具链,在Ubuntu下交叉编译opencv以生成ARM版本的opencv时遇到问题工具链选择如图
    发表于 12-30 06:20

    Tina下运行在Ubuntu交叉编译Opencv 4.5.1

    社区中有hu487364在Ubuntu14 成功 见帖:编译Tengine D1 出错 aldfaaa的Ubuntu20.04
    发表于 03-14 09:46

    opencv直接在RK3588开发板上进行编译

    在RK3588 c++的开发中用到了opencv,但是官方的SDK例程opencv不完整,如没有读视频的cv::VideoCaptu
    发表于 09-15 17:56

    opencv编译安装笔记(Linux、Ubuntu

    本文介绍了两种opencv编译安装笔记:Linux下编译安装OpenCVUbuntu 下安装 Open
    发表于 12-03 10:33 5177次阅读
    <b class='flag-5'>opencv</b><b class='flag-5'>编译</b>安装笔记(Linux、<b class='flag-5'>Ubuntu</b> )

    RK3568上OpenCV编译移植

    算法丰富多样,在ARM嵌入式平台上也适用于做算法的移植。本系统选择将OpenCV3.2.0编译移植到开发板上,开发环境是虚拟机上安装的Ubuntu16.04。由于OpenCV开源,直接
    发表于 12-20 10:08 68次下载

    ELF 1技术|如何移植OpenCV

    OpenCV是一个基于BSD许可(开源)发行的计算机视觉,广泛应用于跨平台环境,包括Linux、Windows、Android及MacOS操作系统。作为计算机视觉领域广受欢迎的标准工具包
    的头像 发表于 01-09 13:55 384次阅读
    <b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>技术</b><b class='flag-5'>贴</b>|如何移植<b class='flag-5'>OpenCV</b>

    如何将Go程序编译ELF 1开发板

    编译并运行在ELF1开发板上的。一、在GoLand配置(一)配置SSH连接Ubuntu虚拟机以及ELF1开发板
    的头像 发表于 01-29 10:42 524次阅读
    如何将Go程序<b class='flag-5'>编译</b>到<b class='flag-5'>ELF</b> <b class='flag-5'>1</b>开发板