树莓派装opencv python(转)

基于树莓派4B的OpenCV安装与简单应用(真速通版) 原创

renewal.png2023-06-24 16:14:07

wap-articleReadEyes2.png阅读量6.2k

wap-tobarCollect2-act.png收藏116

hotHeart.png 38赞

已关注

744e309e65a04c39991fba5a37d3dfbc_black_sneak.jpg!1

混分巨兽龙某某 blog6.png

码龄2年

前言:本文为手把手教学树莓派4B的OpenCV安装与简单应用(真速通版本),树莓派4B最为目前最新款的树莓派家族一员深受创客和开发者喜爱。树莓派4B作为一款搭载 Cortex-A72 系列芯片的板载电脑,其不仅可以作为简单的 MCU 进行控制方面开发,更可以凭借其高计算性能进行深度学习的图像处理。说到深度学习和图像处理自然离开不了 OpenCV 这个工具。作者将用本篇博客帮助大家真正实现速通树莓派4B的OpenCV安装,并进行简单的应用教学。(镜像与附件安装包文见篇章末尾!

硬件实物图:

1c453bd770084131b4635b02662d53d1.png

e0a42ad29e3b4ab396710b9f6fa7b7b0.png

效果图:

f42a945e2e4e401f9be117eb0bb88912.png

3f816fb9234e4bafa1dff31da3c9ef0a.png

一、树莓派4B概述

树莓派(Raspberry Pi)是一款基于ARM的微型电脑主板旨为学生编程教育而设计,其系统基于Linux,由注册于英国的慈善组织 “Raspberry Pi 基金会”开发,Eben.Upton为项目带头人。别看其外表“娇小” ,内“心”去很强大,上网、看视频、听音乐等功能都有,可谓是“麻雀虽小,五脏俱全”。自问世以来,受众多计算机发烧友和创客的追捧。

dc9676e7a10d49ad940d995ad77a0878.png

目前,市场上有多种型号Raspberry Pi,具体如下表 1 树莓派参数对比:

765ad9bbf6994ee9b3ee49bb2a3254f6.png

树莓派主流操作系统(OS):(1)、NOOBS;(2)、Raspbian;(3)、第三方系统;
适合树莓派的发行版版本很多,足以满足不同人群的需求。 官方推荐的有 NOOBS 和 Raspbian, Raspbian(单纯的 Arm 版的 Linux 系统,基于 Debian) 是当前实用最广泛的操作系统。第三方 OS 都有其自身风格,如果需求只是某一方面的功能,那么选择第三方也是可以的。

树莓派官网镜像地址:Raspberry Pi OS – Raspberry Pi

补充说明:树莓派官网下载的镜像建议为带桌面版本的,这样方便后续VNC查看桌面进行设置。如果想走OpenCV速通版本,建议使用作者博客篇末的镜像资源!

二、OpenCV

2.1 OpenCV概述

OpenCV 是 Intel® 开源计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV 拥有包括 300 多个 C 函数的跨平台的中、高层 API 。它不依赖于其它的外部库——尽管也可以使用某些外部库。OpenCV 对非商业应用和商业应用都是免费(FREE)的。

它有以下特点:
(1) 开放的C/C++源码
(2) 基于Intel处理器指令集开发的优化代码
(3) 统一的结构和功能定义
(4) 强大的图像和矩阵运算能力
(5) 方便灵活的用户接口
(6) 同时支持MS-WINDOWS、LINUX平台

6475d24ef69744e49ff0e41309889984.png

作为一个基本的计算机视觉、图像处理和模式识别的开源项目,OpenCV 可以直接应用于很多领域,作为第二次开发的理想工具。特别是新版的 OpenCV 中提供了大量的 Python 接口,极大的简化了 OpenCV 函数的调用,使得使用者可以更为方便的利用 OpenCV 实现各种功能。

opencv官网:OpenCV - Open Computer Vision Library

2.2 OpenCV安装

作者说明:树莓派4B安装OpenCV极其需要版本对应,比如python版本与OpenCV包的对应,依赖库的对应,numpy的对应等。如果,读者朋友初次尝安装OpenCV建议直接使用作者的镜像和依赖包!

作者默认读者朋友不管是通过屏幕还是VNC等操作成功连接树莓派终端,如果这步没有实现的话,建议去搜索一下教程。

作者通过SSH协议和MobaXterm软件实现连接树莓派4B终端:

ef2972ff8a90448298384589d45ecaa9.png

VNC远程挂载树莓派桌面(作者手机热点卡,所以还是接屏幕了):

b99c843aa160424b80aa5b45259a7937.png

1、安装好树莓派官方镜像:raspios,查看python3和python版本;

ff2110be2da544f196c2c95a948afad2.png

作者提供的镜像python3的版本是python3.7.3(老旧的稳定版本),强烈建议别用python3.9版本的镜像,配套的opencv库依赖会出现一堆问题(全都是版本过高或者彼此不兼容)

2、下载 opencv-python 和 opencv-contrib-python 库;

opencv-python地址:piwheels - opencv-python

694d0b37bde648d2a6521e13fbd7b77a.png

opencv-contrib-python地址:piwheels - opencv-contrib-python

c5c8cb8590ca48b5a6c118a2b79f939f.png

直接使用指令下载这两个库文件巨慢而且很容易失败,所以作者建议在PC端下载好whl包之后通过XobaXterm软件传输给树莓派4B,然后通过指令直接进行安装。

选择的whl包也需要和自己镜像系统的python版本对应,cp37对应python3.7版本,cp39则对应python3.9版本,armv7l则是通过指令:uname -a进行查询!

659e3a9bc065449ea3e126f24c6c74b4.png

作者的速通版本是直接使用作者提供好的whl和镜像直接安装,具体如下:

将作者提供的whl包直接全选后拉中导入树莓派4B的Download中:

e90f1e35dd4f4ba48e50598a3b910b86.png

作者提供的whl包和镜像是完美对应的,所以安装起来会畅通无阻,不会报错。

使用如下代码进行安装whl包:

 
  1. #首先cd到Download文件夹吓

  2. cd Download

  3. #分别使用如下2指令安装whl包

  4. pip3 install opencv-py(按Tab键自动补全)

  5. pip3 install opencv-con(按Tab键自动补全)

之后分别使用如下指令进行安装依赖的numpy和 

 
  1. sudo apt-get install python3-h5py

  2. pip3 install numpy (按Tab键自动补全)

opencv依赖的其他库安装:

 
  1. sudo apt-get install libhdf5-dev

  2. sudo apt-get install libatlas-base-dev

  3. sudo apt-get install libjasper-dev

  4. sudo apt-get install libqt4-test

  5. sudo apt-get install libqtgui4

  6. sudo apt-get update

安装上述步骤走完基本就已经成功安装OpenCV了,搭配作者的镜像和whl包基本不好出任何问题,接下来我们试试启动OpenCV! 

 
  1. python3

  2. import cv2 # 检查导入成功

5cf48d1738eb461a8d3ac1be2ed78c4d.png

三、OpenCV的简单应用

3.1 树莓派4B摄像头使能

部分树莓派4B的镜像默认是不使能摄像头Camera的,所以,OpenCV调用摄像头可能会出现警告进而失败。所以,这里我们需要先使能Camera。

打开树莓派4B的终端(Crtl+Alt+t)之后输入一下打开配置指令:

sudo raspi-config

bc8dd3f7ba4c4f529272bc16291b88d7.png

按照以下步骤找到摄像头选项,打开树莓派的摄像头功能。

3776c53d43154f0fa6c2c2e15d1c856e.png

12a0e455925f4933aada2c9b62b1bd6d.png

7ec27b952a654007ae48dd47ae654f2c.png

打开后使用reboot命令重启树莓派,至此摄像头已经能够在树莓派上使用啦。

3.2 OpenCV应用

OpenCV就是基于图像处理的,这里我们利用OpenCV实现摄像头Camera进行拍照保存!

打开树莓派4B的 Thonny Python IDE 软件: 

6af7ed2b63ff48ffb276f27c07eeb416.png

Python代码:

 
  1. import cv2

  2. import numpy as np

  3.  
  4. cap = cv2.VideoCapture(0)

  5. while(1):

  6. # get a frame

  7. ret, frame = cap.read()

  8. # show a frame

  9. cv2.imshow("capture", frame)

  10.  
  11. if cv2.waitKey(1) & 0xFF == ord('q'):

  12. #退出并拍照

  13. cv2.imwrite("takephoto2.jpg", frame)

  14. print("take Photo Ok")

  15. break

  16. cap.release()

  17. cv2.destroyAllWindows()

上述代码,通过OpenCV打开摄像头Camera,之后将图像显示在窗口上,按“q”退出程序,并拍照保存!

d3ebdd4bca574369a49f5260063f79a9.png

1f2baa5f39804c0d94d4b8bda042c6db.png

四、项目效果

4.1 代码视频

 

树莓派4B的OpenCV简单应用

4.2 作者有话

本篇博客为作者树莓派专栏第一篇博客,帮助大家速通安装 OpenCV。后续作者将会利用树莓派4B作为载体帮助大家进行深度学习的实战!部署如:YOLOv5YOLOv5-Lite等目标检测网络。同时也会将深度学习与嵌入式控制结合起来,帮助大家成功快速入门嵌入式AI!(后续也会有Jeston Nano开发板的坏境搭配教学,感兴趣的可以关注一波!

五、项目代码

代码地址:基于树莓派4B的OpenCV安装速通版本的资源包资源-CSDN文库

如果积分不够的朋友,点波关注,评论区留下邮箱,作者无偿提供源码和后续问题解答。求

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值