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下载以上文件

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

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

解压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 -D WITH_CUDA=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 

两者都为4.6.0
即为安装成功

参考文献

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值