树莓派最新官方系统安装Opencv(Raspberry Pi 11)

Posted Snyoje

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树莓派最新官方系统安装Opencv(Raspberry Pi 11)相关的知识,希望对你有一定的参考价值。

由于笔者使用的是树莓派Raspberry Pi OS 11,与目前所能查到的资料中的版本均不一致,搞了三天基本就是边踩坑边自学边重装系统,故以此文章记录历时三天终于成功在树莓派上通过Opencv打开摄像头的经验。

(创作于2021年12月16日)

一、系统安装

笔者使用的是树莓派4B 32位。

我是直接在树莓派的官网(Raspberry Pi OS – Raspberry Pi)下载的Raspberry Pi Imager,这是树莓派官方的镜像烧录软件。这个软件很无脑,就只需要下载这个软件,打开之后按照提示按键选择就可以实现树莓派最新的系统烧录。

上图就是目前版本Raspberry Pi Imager的界面,左边的CHOOSE OS是用来选择想要安装的系统的,一般推荐初学者选择第一个;右边的CHOOSE STORAGE是用来选择安装的sd卡的,如果电脑只插了一个读卡器,那就会只有一个选项。当这两个选择都完成后,第三个WRITE的按键就会被点亮,然后就点击WRITE。注意!这时会发出一个需要格式化sd卡的指令,可能是英文版的,点yes,这个是从Raspberry Pi Imager这个软件之中发出的,是为了在烧录系统之前确保sd卡中没有多余的文件。特别注意!!在随后的烧录系统过程中,或者是在烧录系统完成之后,还会出现一个需要格式化sd卡的提醒,应该是中文版的,这个是从PC端发出的,因为烧录了镜像系统的sd卡电脑是读不出来的,所以它想格式化,这里千万!千万!!千万!!!不要格式化!否则的话,之前烧录的系统树莓派是读不出来的,在把sd插到树莓派之后就会是一直开不了机的状态。

在正常烧录完系统,并将sd卡正常插入树莓派之中后。将树莓派接上电源(电源的电压和电流一定要符合树莓派的要求,否则会出问题),经过一段时间的等待就可以进入树莓派的界面了。

初始界面的选择按照自己的个人需求选择,选择完后点击next键。直到出现wifi连接的界面,我的建议是将树莓派连接上网络(有的教程会建议不连接,但是我这里建议连接,因为我最后成功了),然后next,会出现树莓派要求更新软件的提醒,更新!(不要管其他教程说的,更新!)

更新完后将树莓派重启。

再次进入树莓派,打开终端输入以下代码(查看系统的版本)

$ uanme -a

lsb_release -a

会显示以下画面

 如图,我的树莓派的版本是11的,所以这篇文章仅对同为11版本的树莓派有用!!

二、环境

首先,是换源的问题,因为我看了很多的教程,在装完系统之后第一步就是让人换源,我在经历了数次的换源失败后,终于发现了原因:目前(2021年12月16日)的国内源都是树莓派9,10版本的源,而目前11版本的源版号是bullseye,国内源还不完善,所以我每次安装包的时候都会失败,这里建议不换源,直接使用默认的官方源。

因为之前在树莓派初始化的时候已经更新过一遍软件了,所以就无需再更新了。

Raspberry Pi 11是自带python3的,所以无需额外安装。

扩大系统文件,输入如下命令

$ sudo raspi-config

选择Advanced Options进入,然后选择Expand Filesystem,然后选择重启,若没有该选项则输入

$ sudo reboot

重启后安装aptitude软件包,输入如下命令

& sudo apt-get install aptitude

这是一个很厉害的安装命令,可以解决十分令人恶心的安装包依赖问题。具体用法为

& sudo aptitude install 文件名

对于aptitude推荐的方案可以进行yes和no的选择。

安装Cmake开发人员工具

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

安装常用图像工具包

$ sudo aptitude install libjpeg9-dev libjasper-dev libpng-dev libglu1-mesa-dev libavcodec-dev libavformat-dev libxvidcore-dev libx264-dev libgtk2.0-dev libatlas-base-dev gfortran

建议分开安装,方便选择。(有的工具包在安装过程中可能会显示文件被弃用,找不到等情况,可能是因为版本更新了,这些工具包在更新的时候把名字改了,可以根据系统的指示安装最新的工具包)

更新numpy

$ sudo pip3 install --upgrade numpy

直接安装Opencv(11版本的树莓派是可以直接安装的,不有那么多的麻烦,比之前几个版本快多了!)

$ sudo pip3 install opencv-python

三、摄像头

打开摄像头,输入

$ sudo raspi-config

选择Interfacing Option,选择第一个Camera,选择enable,然后重启。

新建一个demo.py文件,输入以下代码(文件名任意,但是文件格式必须是.py)

import cv2
import numpy as np

cap = cv2.VideoCapture(0)
while(1):
   # get a frame
   ret, frame = cap.read()
   # show a frame
   cv2.imshow("capture", frame)
       
   if cv2.waitKey(1) & 0xFF == ord('q'):
   #退出并拍照
       cv2.imwrite("takephoto2.jpg", frame)
       print("take Photo Ok")
       break
cap.release()
cv2.destroyAllWindows()

然后在该文件位置打开终端,输入

$ sudo python3 demo.py

不出问题就可以打开摄像头。

以上就是我对于如何在树莓派上用opencv打开摄像头的记录。

更新于2021年12月18日

以上是关于树莓派最新官方系统安装Opencv(Raspberry Pi 11)的主要内容,如果未能解决你的问题,请参考以下文章

关于树莓派 BOOBS 安装之后的初级操作 以安装OpenCV 3.1.0为例

树莓派安装opencv4

树莓派4的opencv4.1.0--python3.7的开发环境安装

树莓派2B+安装Debain操作系统

树莓派安装openCV做图像识别

树莓派的简单配置