• 正文
  • 推荐器件
  • 相关推荐
申请入驻 产业图谱

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

2024/05/31
1093
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

在之前发布的文章中探讨了交叉编译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配置界面。如下图所示:

(7)配置CMake工具:

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

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

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

点击CMAKE。如下图所示:

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

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

三、编译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,这为快速迭代产品、优化算法提供了坚实的支撑。希望本篇指南能成为各位小伙伴在嵌入式技术探索之旅上的得力助手。如果您在实践过程中遇到任何问题,欢迎留言交流。

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
PBRC16.00HR50X000 1 Kyocera AVX Components Ceramic Resonator, 16MHz Nom, ROHS COMPLIANT, SMALL, CERAMIC, SMD, 3 PIN
$1.2 查看
HFBR-5911LZ 1 Foxconn Transceiver, 830nm Min, 860nm Max, 1250Mbps(Tx), 1250Mbps(Rx), LC Connector, Through Hole Mount, ROHS COMPLIANT PACKAGE
$54.7 查看
SN65HVD251DR 1 Texas Instruments High Speed CAN Transceiver with Short Loop Delay 8-SOIC -40 to 125

ECAD模型

下载ECAD模型
$4.3 查看
飞凌嵌入式

飞凌嵌入式

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。收起

查看更多

相关推荐