树莓派4B安装OpenCV4

49 篇文章 10 订阅
22 篇文章 3 订阅


一、安装OpenCV 依赖包:

1. 更新软件源 + 升级安装包 + 升级固件

sudo apt-get update
sudo apt-get upgrade

固件较新或Ubuntu 则可忽略此步:

sudo rpi-update

2. 安装构建OpenCV 相关的工具

sudo apt-get install build-essential cmake git pkg-config -y

其中包括build-essential、cmake、git和pkg-config

3. 安装常用图像工具包

jpeg格式图像工具包:

sudo apt-get install libjpeg8-dev -y

tif格式图像工具包:

sudo apt-get install libtiff5-dev -y

jpeg-2000图像工具包:

sudo apt-get install libjasper-dev -y

png图像工具包:

sudo apt-get install libpng12-dev -y

4. 安装视频I/O包

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y

5. 安装gtk2.0

sudo apt-get install libgtk2.0-dev -y

6. 优化函数包

sudo apt-get install libatlas-base-dev gfortran -y

至此,OpenCV 依赖包已经全部安装完成。

二、编译OpenCV源代码的准备工作:

1. 下载OpenCV

使用wget工具下载OpenCV 压缩包到用户目录下(从国内镜像源下载):

wget https://www.bzblog.online/opencv/opencv-4.5.1/opencv-4.5.1.zip

附OpenCV国内镜像源链接:https://www.bzblog.online/opencv/

如果想从GitHub下载,可将上述链接更换为https://github.com/Itseez/opencv/archive/3.4.1.zip

解压OpenCV:

unzip opencv-4.5.1.zip

注意:OpenCV_contrib版本应与所下载OpenCV版本一致。

下载OpenCV_contrib库(也是国内镜像源):

wget https://www.bzblog.online/opencv/opencv_contrib/opencv_contrib-4.5.1.zip

同样附上opencv_contrib官网链接:https://github.com/Itseez/opencv_contrib/archive/3.4.1.zip

解压OpenCV_contrib库:

unzip opencv_contrib-4.5.1.zip

2. 进入解压后的OpenCV 源码文件夹

cd opencv-4.5.1

3. 新建一个名为release的文件夹用来存放cmake编译时产生的临时文件

mkdir release
cd release

4. 配置cmake编译参数

sudo cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-4.5.1/modules ..

其中参数简介:

参数作用
CMAKE_BUILD_TYPE=RELEASE编译方式
CMAKE_INSTALL_PREFIX安装目录
OPENCV_EXTRA_MODULES_PATH加载额外模块
INSTALL_PYTHON_EXAMPLES安装官方python例程
BUILD_EXAMPLES编译例程

① 此处可能出现的第一个问题

若不能正常编译,试着把最后那个参数去掉,即:

sudo cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local ..

若遇上什么问题,可以看看这里有没有解决方案:
https://bugs.gentoo.org/691480
https://www.jianshu.com/p/259a6140da9d
https://github.com/opencv/opencv/issues/12957

② 此处可能出现的第二个问题

若此处配置失败,如下图:
在这里插入图片描述
可试着将release目录删除,重新配置:
在这里插入图片描述


配置成功:
在这里插入图片描述

三、正式开始编译:

1. 编译

此过程极为漫长,我一共编译了4个小时!!!

sudo make

① 此处可能出现的第一个问题(源码错误)

出问题后,大家一定要仔细看错误信息,找出来Error 到底是什么。
这里就出现了一个因为源码问题而不能正常进行下去的错误:

error: invalid conversion from 'const char*' to 'char*'

解决办法就是修改源码:

  1. 进入/home/pi/opencv-3.4.1/modules/python/src2找到cv2.cpp
  2. 去到第大概889行,找到下文所示代码并进行修改:
     if(!obj || obj == Py_None)
         return true;
-    char* str = PyString_AsString(obj);
+    const char* str = PyString_AsString(obj);
     if(!str)
         return false;
     value = String(str);

去掉char* str = PyString_AsString(obj);,加上const char* str = PyString_AsString(obj);
注意:实测过程证明,即使错误提示不是上述error 也可能可以通过该方法进行修复。

② 此处可能出现的第二个问题(缺少文件)

提示说opencv_contrib缺少boostdesc_bgm.i等文件

我们可以将这个boostdesc_bgm.i.zip压缩包里面的东西全部复制进opencv_contrib/modules/xfeatures2d/src/路径中

③ 此处可能出现的第三个问题(缺少文件)

找不到 feature2d/test/test_detectors_regression.impl.hpp文件

其实这个文件是有的,只不过在opencv下的 modules目录下:

opencv/modules/feature2d/test/test_detectors_regression.impl.hpp

所以我们需要在opencv/CMakeLists.txt文件中添加这个路径信息。

打开opencv/CMakeLists.txt文件,并在图示高亮代码下面添加:

include_directories("modules")

在这里插入图片描述
在这里插入图片描述


最后成功:
在这里插入图片描述

2. 安装

sudo make install

在这里插入图片描述

3. 更新动态链接库

sudo ldconfig

恭喜!您已成功安装OpenCV!

下面就来利用一个简单的Python 程序检验一下OpenCV 是否正常工作

# --coding:utf-8--
import cv2
import numpy as np
cv2.namedWindow("gray")
img = np.zeros((512,512),np.uint8)   #生成一张空的灰度图像
cv2.line(img,(0,0),(511,511),255,5)  #绘制一条白色直线
cv2.imshow("gray",img)               #显示图像
                                             
while True:                          #循环等待,按q键退出
    key=cv2.waitKey(1)
    if key==ord("q"):
        break
cv2.destoryWindow("gray")

若OpenCV 正常工作,则屏幕显示一条白色斜线:
在这里插入图片描述
或者直接import cv2
在这里插入图片描述

  • 11
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 15
    评论
树莓派4B安装OpenCV可以采用一键安装方法或手动安装方法。对于一键安装方法,可以参考引用中提到的教程,使用一键安装脚本来安装OpenCV。该方法适用于树莓派4B系统,不再需要编译安装。 另一种方法是手动安装OpenCV。首先,根据引用中提到的建议,安装特定版本OpenCV,可以使用命令"pip install opencv-contrib-python=4.5.4.60"来安装。此外,还需要安装numpy,可以使用命令"pip install numpy"来安装。 如果想使用系统自带的OpenCV,可以使用引用中提到的命令在命令行中进行安装,命令为"sudo apt install python3-opencv -y"。需要注意的是,这种方法只支持Python 3。 综上所述,树莓派4B安装OpenCV可以通过一键安装方法或手动安装方法来实现。具体选择哪种方法可以根据个人需求和偏好来决定。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [树莓派4B系统一键安装opencv,再也不要用编译安装啦!(支持buster、bullseye)](https://blog.csdn.net/qq_41866091/article/details/128530569)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [树莓派4b安装Opencv(实测有效)](https://blog.csdn.net/zhoutan001/article/details/130563427)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诺亚方包

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值