RK3588移植opencv(包含opencv_contrib)过程

这篇具有很好参考价值的文章主要介绍了RK3588移植opencv(包含opencv_contrib)过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

后面给大家准备了我自己编译好的(百度云链接),如果有用,麻烦点个赞!!!

1、环境 

PC端:Ubuntu 16.04 

opencv 版本: 3.4.13

编译器:aarch64-linux-gnu

工具:cmake

2、源码下载

opencv-3.4.13

http://链接:https://pan.baidu.com/s/1YBohe41YuOhBZ2iCIupmLA 提取码:0012 --来自百度网盘超级会员V4的分享

opencv_contrib-3.4.13

http://链接:https://pan.baidu.com/s/1iyOl2QpZstdew5hyxVLlsQ 提取码:0012 --来自百度网盘超级会员V4的分享

3、编译前的准备

全程用 root 用户运行。

(1)安装没有版本号的gcc-aarch64-linux-gnu

apt-get install gcc-aarch64-linux-gnu

 (2) 安装gcc开头的5版本的支持64bit ARM linux的交叉编译工具

apt-get install gcc-5-aarch64-linux-gnu

  (3) 安装没有版本号的g++编译工具    

apt-get install g++-aarch64-linux-gnu

(4) 安装4.9版本号的g++编译工具

apt-get install g++-4.9-aarch64-linux-gnu

(5) 安装cmake

apt-get install cmake

(6)拷贝源码到Ubuntu中,(哪个目录下都行)

rk3588 opencv,linux

 (7)在 opencv-3.4-13 下 创建创建两个文件夹,(名字随便指定,一个是编译用的,一个是安装用的)如下 

rk3588 opencv,linux

 (8)创建完后进入 build文件中,打开cmake

rk3588 opencv,linux

 (9)cmake参数配置(注意,整个过程要保证Ubuntu能上网,因为编译过程中会自动下载东西)

rk3588 opencv,linux

 

rk3588 opencv,linux 

 

rk3588 opencv,linux 

 最后一张图的第二个框中 C  和 C++ 选择前面安装的aarch64-linux-gnu,默认会安装在/usr/bin下,这里注意自己的 aarch64-linux-gnu 安装位置 ,(按照自己的位置来!)

Target root 我也不大懂,随便填的,对编译问题不大 。

(10) 修改配置

修改安装目录。

rk3588 opencv,linux

 rk3588 opencv,linux

 

rk3588 opencv,linux

指定 opencv_contrib-3.4.13位置

rk3588 opencv,linux使能Zlib

rk3588 opencv,linux 自此,cmake 参数配置完成。然后 先点击configue再点击generate  

 4、开始编译

 在 build 文件下执行 make  (可根据自身虚拟机配置情况指定编译线程数 如  make -j4)

make -j4

 编译过程中一定会报错,不过不用担心。

错误一、

../../lib/libopencv_imgcodecs.so.3.4.13: undefined reference to `png_do_expand_palette_rgb8_neon'
../../lib/libopencv_imgcodecs.so.3.4.13: undefined reference to `png_init_filter_functions_neon'
../../lib/libopencv_imgcodecs.so.3.4.13: undefined reference to `png_do_expand_palette_rgba8_neon'
../../lib/libopencv_imgcodecs.so.3.4.13: undefined reference to `png_riffle_palette_neon'
collect2: error: ld returned 1 exit status

解决方法:

进入 自己的 opencv-3.4.13/3rdparty/libpng/pngpriv.h 中将 

if (defined(__ARM_NEON__) || defined(__ARM_NEON)) && \

改为 

if defined(PNG_ARM_NEON) && (defined(__ARM_NEON__) || defined(__ARM_NEON)) && \

再次 执行 make 命令

错误二、

因为网络原因,cmake的时候,一些文件没下全,编译时报错如下,

vgg_generated_120.i: No such file or directory

rk3588 opencv,linux

 其实,我这里少了11个文件,不在一一贴图了,报错内容差不多,少的文件分别为 vgg_generated_48.i,vgg_generated_64.i、vgg_generated_80.i、vgg_generated_120.i、boostdesc_lbgm.i、boostdesc_bgm_bi.i、boostdesc_bgm_hd.i、boostdesc_bgm.i、boostdesc_binboost_064.i、boostdesc_binboost_128.iboostdesc_binboost_256.i

这边放百度网盘了,需要的自提,另外,文件查找不易,请点赞支持支持!!!

http://链接:https://pan.baidu.com/s/1WBt9rZCIs5NbOo_MbfjivA 提取码:0012 --来自百度网盘超级会员V4的分享

然后把 下载下来的文件放在自己的 opencv_contrib-3.4.12/modules/xfeatures2d/src 下即可。然后继续 执行 make命令

错误三、

因为路径问题报错

fatal error: opencv2/xfeatures2d/nonfree.hpp: No such file or directory

rk3588 opencv,linux

这里会报好几个类似的问题,解决方法是一样的,不在一一贴图了。

如,这问题,进入自己的  opencv_contri-3.4.12/modules/xfeatures/include/opencv2/xfeatures2d.hpp,将 43行的

#include "opencv2/xfeatures2d/nonfree.hpp"

改为绝对路径,如

#include "/home/aunov/opencv_contri3.4.12/modules/xfeatures/include/opencv2/xfeatures2d/nonfree.hpp"

修改完继续 执行 make命令

我的到这样已经没有再报错了

(11)编译的最后一步

make install

完成后,会在自己的install下生成如下文件夹

rk3588 opencv,linux

自此,编译已经完成!!!

5、打包放在 RK3588 上

 (1)打包 自己的 install 目录 

tar -cvf aarch64_install.tar arrch64_insatll

(2)将 打包的文件 拷贝到 RK3588 中的 任意一个文件夹下并解压,我的放在了 /usr/bin下

解压命令

tar -vxf aarch64_install.tar

(3) 添加路径

打开 /etc/ld.so.conf文件

vi /etc/ld.so.conf

添加库的绝对路径,如下

rk3588 opencv,linux

 保存并退出

生效路径

ldconfig

自此,opencv 移植完成

用Qt写了一个小程序,运行效果如下

rk3588 opencv,linux

这是最后的我编译好的,放网盘了,需要自取 ,都到这份上了,点个赞支持一下吧!!!

http://链接:https://pan.baidu.com/s/1rJzIk_TfMLBlhEI4sXxS7w 提取码:0012 --来自百度网盘超级会员V4的分享文章来源地址https://www.toymoban.com/news/detail-561477.html

到了这里,关于RK3588移植opencv(包含opencv_contrib)过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于RK3588的嵌入式linux系统开发(二)——uboot源码移植及编译

            由于官方的SDK占用空间较大(大约20GB左右),需要联系相关供应商提供,且官方的SDK通过各种脚本文件进行集成编译,难以理解系统开发的详细过程。本章介绍直接从官方Github网站下载源码进行移植,进行uboot移植及编译,具体内容如下所述: 1.进入官方的github网

    2024年01月16日
    浏览(61)
  • RK3588环境配置过程全记录 step 1

    最近在做毕设,由于是第一次接触NPU,所以踩了不少坑,顺便将它记录下来,防止后来者继续踩(doge)hh。 许多人都和我一样,刚到手拿到一块NPU算力版的时候都不知道从何下手,是先在PC端操作呢还是直接在板子上操作? 本人虽然熟悉一些类似于STM32 ,esp等板子,但是也是

    2024年02月09日
    浏览(50)
  • 瑞芯微RK3588,交叉编译opencv

    这里以opencv-4.6.0为例子。 下载: opencv-4.6.0 opencv_contrib-4.6.0 .cache 提取码:0816 eigen-3.3.9. ffmpeg-6.0 yasm-1.3.0 交叉编译器_gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz 注意:不要关闭当前终端!后面编译opencv也在当前终端。这里很重要! 安装libgtk2.0-dev时的报错,解决方案 以上,有

    2024年02月08日
    浏览(56)
  • 【android12-linux-5.1】【ST芯片】【RK3588】【LSM6DSR】驱动移植

    一、环境介绍 RK3588主板搭载Android12操作系统,内核是Linux5.10,使用ST的六轴传感器LSM6DSR芯片。 二、芯片介绍 LSM6DSR是一款加速度和角速度(陀螺仪)六轴传感器,还内置了一个温度传感器。该芯片可以选择I2C,SPI通讯,还有可编程终端,可以后置摄像头等设备,功能是很强大

    2024年02月09日
    浏览(53)
  • 【android12-linux-5.1】【ST芯片】【RK3588】【LSM6DSR】HAL移植

    一、环境介绍 RK3588主板搭载Android12操作系统,内核是Linux5.10,使用ST的六轴传感器LSM6DSR芯片。 二、芯片介绍 LSM6DSR是一款加速度和角速度(陀螺仪)六轴传感器,还内置了一个温度传感器。该芯片可以选择I2C,SPI通讯,还有可编程终端,可以后置摄像头等设备,功能是很强大

    2024年02月09日
    浏览(48)
  • 【边缘设备】RK3588 用 opencv 的 videocapture 一直无法读取视频

    问题描述 : 我这边用的是 rk3588 的核心板,刷的固件里面有 opencv 4.5.5 , 系统是 ubuntu 20.04 LTS 版本, 使用 cv::VideoCapture 无法读取 mp4 或其他视频,每次读取后 isOpened() 都是 false; 硬件是 rk3588 对应的开发板 以下编译安装直接在开发板上进行,不是在宿主机用交叉编译链编译安装

    2024年02月17日
    浏览(57)
  • RK3588安装Qt+opencv+采集USB摄像头画面

    Qt:5.12.8 opencv:3.4.14 qt安装 ---------------------------------------------------------------------------------- 因为使用官网下载的版本始终安装失败,所以我可以直接使用命令行进行下载安装: 1:首先先将ubuntu的软件更新,并更新镜像源 sudo apt-get update sudo apt-get upgrade 2:使用如下步骤安装Qt

    2023年04月10日
    浏览(58)
  • 玩转rk3588(六):rk3588使用ffmpeg实现硬件解码,解决opencv中VideoCapture获取网络摄像头视频时,一直在open时返回false的问题(一)

    目录 0、前言 1、开发环境 2、安装rkmpp 3、安装x264 4、安装libdrm 5、安装ffmpeg 6、相关报错 1)libdrm编译过程中报错

    2024年02月03日
    浏览(55)
  • ArmSoM-W3之RK3588安装Qt+opencv+采集摄像头画面

    [RK3588从入门到精通] 专栏总目录 场景:在RK3588上做qt开发工作 RK3588安装Qt+opencv+采集摄像头画面 硬件环境: ArmSoM-W3 RK3588开发板、MIPI-CSI摄像头( ArmSoM官方配件 ) 软件版本: OS:ArmSoM-W3 Debian11 QT:QT5.15.2(Qt Creator:4.11.0) OpenCV:3.4.14 RK3588开发板联网,确认好是否能访问网络

    2024年02月14日
    浏览(77)
  • 如何安装 OpenCV 和 OpenCV_contrib

    首先,从opencv官网下载opencv3.4.0以及opencv_contrib压缩包: https://opencv.org/releases/ 在页面下找到3.4.0版本并下载Sources压缩包 opencv_contrib下载网址 https://github.com/opencv/opencv_contrib

    2024年02月16日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包