当前位置: 首页 > news >正文

【RK3588开发记录】RK3588之opencv安装(解决libjasper-dev和mipi-csi2接口)

要求

• OS: Debian 11
• OpenCV version: 4.6.0
• Board: RK3588

更新本地源

apt-get update apt-get upgrade

编译

1. 搭建python3.9环境***
#依次安装gcc和cmake等编译环境
#安装python3.9-tk 和 python3.9-dev
#安装virtualenv虚拟环境

sudo apt install gcc cmake git build-essential \ python3-tk python3.9-dev \ virtualenv

2. 创建python3.9虚拟环境
virtualenv -p /usr/bin/python3.7m /home/firefly/venv
#使用虚拟环境,如果想退出可以在终端输入 deactivate
source /home/firefly/venv/bin/activate
3.安装Opencv所需的环境包
#安装编译环境、gtk包和相关编解码库

sudo apt install cmake build-essential libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev libjasper-dev

安装libjasper-dev会报错找不到包 解决方案换源
直接编辑/etc/apt/sources.list文件(需要使用 sudo):
将原文件做备份

sudo cp /etc/apt/sources.list /etc/apt/sources_copy.list sudo gedit /etc/apt/sources.list

将文件中的内容删除,将镜像源复制到里面。
sudo apt-get update

ARM架构的18.04 ,解决是靠全部更改为老版本的清华源 替换原有 /etc/apt/sources.list

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
sudo apt update apt install libjasper1 libjasper-dev

#注意!如果安装了rknn_toolkit(or lite)则不需要再安装Python-numpy,否则会导致rknn_toolkit(or lite)无法使用
sudo apt install python-numpy

安装python-numpy会报错用aptitude安装且改成python3
sudo aptitude install python3-numpy

安装

opencv下载地址:Releases - OpenCV
opencv_contrib下载地址:GitHub - opencv/opencv_contrib: Repository for OpenCV’s extra modules

其中,opencv_contrib的版本要与opencv的版本一致。本文采用opencv4.6.0、opencv_contrib4.x

解压opencv-4.6.0和contrib 放入同一目录,解压完的文件为opencv-4.6.0 改为opencv

mv opencv-4.6.0 opencv

mkdir build

在opencv文件夹下,新建build文件夹
进入BUILD进行编译,主要是为了让生成的文件放到一个文件夹下方便管理

配置 cmake选项

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib/modules/ .. -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D OPENCV_GENERATE_PKGCONFIG=ON

如需支持Gstreamer API,则进行以下配置操作否则跳过

sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev cmake-D WITH_GSTREAMER=ON..

编译安装

#如果板子内存不超过2G,建议不超过-j4

make -j6

如果出现C++: fatal error: Killed signal terminated program cc1plus
compilation terminated.

适当调小线程 make -j4 或j2 直至编译完成

make -j2

编译完成

#安装的过程需要sudo权限

sudo make install

添加环境变量

sudo gedit /etc/ld.so.conf.d/opencv.conf //打开后可能是空文件,在文件内容最后添加 /usr/local/lib

更新库

sudo ldconfig

配置BUSH

sudo gedit /etc/bash.bashrc //在末尾添加以下两行 PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH

最后执行

sudo -s source /etc/bash.bashrc //**配置然后更新database sudo updatedb

运行sudo updatedb 可能会出问题

执行apt-get install mlocate
安装完成sudo updatedb

apt-get install mlocate sudo updatedb

查看版本信息

pkg-config--modversion opencv4 opencv_version


即为安装成功

参考文献

https://blog.csdn.net/kangzhaofang/article/details/127647214
https://blog.csdn.net/u011622208/article/details/105252720
https://wiki.t-firefly.com/zh_CN/3399pro_npu/OpenCV_support.html

http://www.jsqmd.com/news/494769/

相关文章:

  • 用 RollCode 重构营销 H5 的开发协作逻辑
  • 程序设计-股票最大收益问题(Java)
  • ESXI主机安装Zabbix 6.2
  • 三相并网逆变器外环PI+内环模型预测MPC电流矢量控制仿真(带简要文档)
  • 上班族就医难?天津陪诊认准守嘉,代办陪诊一站式解放时间精力 - 品牌排行榜单
  • Termux Monet 项目使用教程
  • scp拷贝
  • 汽油光谱数据预处理与识别(主成分分析PCA+极限学习机ELM+深度置信网络DBN)附Matlab代码
  • 2023年 beagle bone black教程3-点灯的三种方式
  • 联合循环——33 油罐,水罐,凝汽器和地下管道阴极保护
  • 心电信号去工频和基线漂移(小波/EMD/高通滤波/低通滤波/最小二乘法)附Matlab代码
  • 2023年 beagle bone black教程4-串口的使用
  • NaughtyKeyboard 开源项目教程
  • 异地来津就医不迷茫!天津陪诊选守嘉,全程护航少走弯路 - 品牌排行榜单
  • Chrome Apps for Mobile 项目教程
  • MongoDB(45) 嵌入式文档与引用的优缺点是什么?
  • 解决!expandable-recycler-view 已废弃,替代方案与迁移指南全解析
  • 2023年 beagle bone black教程5-CAN的使用
  • iOS App技术支持网址(URL)
  • 2026年口碑好的小程序开发品牌推荐:辽宁小程序开发/大连小程序开发综合评价公司 - 行业平台推荐
  • Next.js 13/14页面加载优化:NextTopLoader与nprogress深度整合
  • NaughtyKeyboard 使用指南
  • 国内CA服务介绍
  • 2026年比较好的威海隐形车衣品牌推荐:威海隐形车衣材质/威海隐形车衣防剐蹭/威海隐形车衣包工包料优质供应商推荐 - 行业平台推荐
  • SQL Server2022 Express和SSMS下载安装教程(超详细)
  • CTF做题笔记--[极客大挑战 2019]Upload1
  • micro-lisp 项目使用教程
  • 基于编队领航跟随+人工势场法避障的多智能体编队动态避障、集结和保持队形控制Matlab程序
  • Swot学术域名验证工具:从安装到实战的终极教程
  • 津门就医添帮手!天津陪诊行业迎新标杆,守嘉陪诊暖心落地便民惠民 - 品牌排行榜单