opencv-4.3.0嵌入式Linux移植

2 篇文章 0 订阅

OpenCV-4.3.0是较新的OpenCV版本,最新的版本是OpenCV-4.4.0,由于GitHub太慢总是下载失败,不得已就移植OpenCV-4.3.0这个版本用着先。在OpenCV中,新技术的支持和一些现有算法的优化都是体现在最新的版本中(目的是为了让用户用新版本),旧版本通常只修正bug。

相关资源下载链接:

https://download.csdn.net/download/qq_23235811/12897930

目标板信息:

CPU架构:四核cortex-A53

内核版本:Linux-3.10

处理器:aarch64

交叉编译器信息: 

内核版本和处理器无所谓,按照自己的来

一、移植的先前准备如下:

1.centos-8虚拟机

2.安装cmake3和make工具

(1)安装cmake3

yum install cmake

yum install cmake-gui

(2)安装make

yum install make-gui

3.使用buildroot交叉编译生成的sysroot

我这里用的buildroot2019

二、移植的过程如下

1.配置源码和编译目录

2.配置交叉编译器信息

这里配置了:

操作系统是Linux,内核版本是3.10。交叉编译器,交叉编译器的 库文件目录、头文件目录等。配置完成点击finish。会自动配置

3.修改配置

把1394去掉,目标平台没有IEEE1394接口,此接口一般在INTEL高端主板和数码摄像机上用于视频采集。把gstream去掉,gstream和FFmpeg雷同,有了FFmpeg就不需要支持gstream。

把ITT、OPENCL、OPENJPEG、PNG去掉。

QT选上,WEBP去掉。配置完成后,再次点击Configure

4.检查配置

(1)检查QT

(2)配置安装目录

(3)配置编译release版本

(4)配置生成动态库

动态编译必选项,-fPIC。编译出与位置路径无关的代码,没有绝对地址,全部都是相对地址。

(5)配置OpenCV扩展库,扩展库下载链接在前面。

 

(6)完全去掉opencl依赖

配置完成,点击generate生成Makefile后,cd进/opt/toolchain/host/aarch64-buildroot-linux-gnu/sysroot/opencv-4.3.0目录,make -j4编译。

5.报错解决

出现报错

opencv_contrib-4.3.0/modules/xfeatures2d/src/boostdesc.cpp:654:37: 致命错误:boostdesc_bgm.i:没有那个文件或目录

将缺失的文件目录拷贝进目录opencv_contrib-4.3.0/modules/xfeatures2d/src/

出现报错

opencv_contrib-4.3.0/modules/xfeatures2d/test/test_features2d.cpp:51:62: 致命错误:features2d/test/test_detectors_regression.impl.hpp:没有那个文件或目录

进入编译构建目录/opt/toolchain/host/aarch64-buildroot-linux-gnu/sysroot/opencv-4.3.0/modules/xfeatures2d/CMakeFiles/opencv_test_xfeatures2d.dir修改flags.make

如下图:

6.编译成功

make install完成安装

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您好!Linux、Qt和OpenCV都是广泛使用的开源技术,它们在不同领域都有着重要的应用。以下是对这些技术的简要介绍: Linux是一种免费开源的操作系统,广泛应用于服务器、超级计算机、移动设备和嵌入式系统等领域。Linux具有高度的稳定性、安全性和可定制性,同时还支持多种编程语言和开发环境。 Qt是一种跨平台的GUI(图形用户界面)开发框架,可以用于开发桌面应用、移动应用和嵌入式应用等。Qt提供了丰富的GUI组件和工具,能够方便快速地构建各种复杂的应用程序。 OpenCV是一个基于开源许可的计算机视觉库,提供了大量的图像处理和计算机视觉算法,例如目标检测、图像识别和视频分析等。OpenCV可以与多种编程语言和开发环境集成,包括C++、Python和Java等。 在Linux平台上,Qt和OpenCV可以很好地结合使用,例如可以使用Qt编写图形用户界面,并使用OpenCV进行图像处理和计算机视觉分析。同时,也可以使用Qt和OpenCV的跨平台特性,将应用程序移植到其他操作系统或设备上运行。 希望这些信息对您有所帮助! ### 回答2: Linux QT OpenCV 是一种强大的编程组合,它们是开源平台上非常受欢迎的工具,可以用于许多不同领域的应用程序开发。 首先,Linux是一个广泛使用的开源操作系统,它为开发人员提供了一个稳定和可靠的环境,使得软件开发更加容易和高效。Linux还支持多种编程语言和开发工具,包括C++、Python和Ruby等。此外,Linux社区也有许多开源库和框架可供选择,可以帮助开发人员解决各种问题和挑战。 其次,QT是一个跨平台应用程序框架,它为开发人员提供了各种GUI组件、工具和API,可以帮助他们轻松地开发跨平台应用程序。与其他GUI框架相比,QT具有许多优点,例如卓越的性能、丰富的UI组件库和易于使用的API,这些特性使得QT成为许多开发人员的首选工具。 最后,OpenCV是一个强大的计算机视觉库,它可以帮助开发人员解决许多复杂的计算机视觉问题,包括图像识别、3D扫描和模式识别等。OpenCV是一种跨平台库,可以在Linux、Windows和MacOS等操作系统上运行,它还支持多种编程语言,例如C++、Python和Java等。 综上所述,Linux QT OpenCV组合提供了强大的开发工具和库,可以帮助开发人员开发高质量的跨平台应用程序,实现许多复杂的计算机视觉任务。无论是在科学研究、产品开发还是其他领域,Linux QT OpenCV都是一种非常有价值的编程组合。 ### 回答3: Linux是一种开源的操作系统,由于其稳定性、安全性和灵活性受到了广泛的欢迎。Qt是一种跨平台的应用程序框架,可以用于开发GUI应用程序。而OpenCV是一种用于图像处理和计算机视觉任务的开源计算机视觉库。 在Linux上,Qt和OpenCV是非常流行的开发框架。Qt提供了开发GUI界面的功能,用户可以使用它来创建可接受的图形化用户界面和定制化GUI应用程序。而OpenCV则提供了不同的图像处理和计算机视觉算法,能够处理包括图像分析、目标检测、图像恢复、运动检测等等。OpenCV还支持处理视频流和多通道的图像,因此用户可以使用它来开发复杂的计算机视觉应用程序。 在使用Linux Qt OpenCV来实现应用程序时,用户可以利用Qt的图形化用户界面来构建程序的前端部分,以简化应用程序的输入、输出和用户操作。同时,OpenCV能够支持在图形界面下实时处理视频和图像。用户可以结合Qt和OpenCV来创建具有强大的图形界面和计算机视觉功能的应用程序,例如视频分析、运动检测、人脸识别和手势识别等。 总之,Linux Qt OpenCV是非常强大且灵活的开发框架,它们能够支持广泛的应用程序,从简单的控制台应用程序到复杂的计算机视觉应用程序。借助于这些框架,用户可以开发出高效、可靠、高性能的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值