本文所有未强调 “windows终端” 的 “终端”字眼,都是默认树莓派的终端
系统版本
系统版本有必要强调一下,因为不同版本很多操作需要修改
在终端输入uname -a
Release就是版本号,Codename是版本名
以下操作仅在此版本验证可行
使能摄像头
-
物理安装摄像头(本人用的是csi摄像头(0V5647)
-
使能 摄像头模块
- 终端输入
sudo raspi-config
打开配置 - 选择 Interface Options ->Legacy Camera ->yes(都是按回车)
- 重启(断电或
sudo reboot
)
- 终端输入
-
终端输入
ls /dev/
一般就能看见 video0 设备了,恭喜你摄像头使能成功
软件源更换
RaspiOS的默认软件源服务器在国外,不更换的话使用apt等工具下载软件极慢(当然,也不是不行?)
这里直接推荐换清华源
-
终端输入
sudo nano /etc/apt/sources.list
-
直接使用以下内容更换原内容
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-freedeb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-freedeb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-freedeb https://security.debian.org/debian-security bullseye-security main contrib non-free # deb-src https://security.debian.org/debian-security bullseye-security main contrib non-free# deb http://deb.debian.org/debian bullseye main contrib non-free # deb http://security.debian.org/debian-security bullseye-security main contrib non-free # deb http://deb.debian.org/debian bullseye-updates main contrib non-free # Uncomment deb-src lines below then 'apt-get update' to enable 'apt-get source' #deb-src http://deb.debian.org/debian bullseye main contrib non-free #deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free #deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free
-
接着按下 Ctrl+X 再按 Y 再按回车保存并退出nano编辑器
-
终端输入
sudo apt update
更新软件,第一次换源的话应该需要一段时间 -
执行完后可以开始后后续操作了,当然,不换源也可以~
FTP 命令
如果树莓派是接显示屏使用的,可以忽略本章
FTP主要用途是将两个设备建立链接,实现无线传输文件/数据,由于OpenCV需要处理图像,而我们没有显示屏给树莓派,所以可以将图像由windows传过去或在windows端查看计算后的生成图像
本章将讲解在Windows下FTP命令行的使用(建立连接,文件操作,上传文件,下载文件,断开连接)
前提,需要将树莓派配置为FTP服务器,可参考此文章的 设置Raspberry Pi的SFTP章节 和 在Raspberry Pi上设置FTP服务器章节
建立连接
-
确保Windows和树莓派在同一局域网,很简单的操作就是树莓派链接Windows的热点,或者两者连接手机热点
-
获取IP地址(两个办法)
-
在热点发出端查询分配给树莓派终端的 IP
- 如果是手机热点,在热点管理界面找到已连接设备,就能看到 IP,其他热点或者家用WIFI的话,就麻烦自行百度查IP啦
-
在树莓派端自行查询被分配的 IP
- 终端输入
ip address
- 找到 3:wlan0:这一行,再由此行往下找两行,找到 inet 开头的行,会有
inet xxx.xxx.xxx.xxx/yy
的一段字,xxx.xxx.xxx.xxx是树莓派ip地址。
- 终端输入
-
-
打开Windows的终端(cmd),输入
ftp xxx.xxx.xxx.xxx
, xxx.xxx.xxx.xxx是树莓派的IP地址 -
输入Raspi用户名(如果没额外设置一般是 pi )
-
输入Raspi密码(由于密码保护,输入密码时是看不见输入了什么的)
-
连接成功
文件操作
在 ftp> 后
- 使用 ls 来查看当前ftp目录的文件
- 使用 cd 来切换ftp系统目录。
- 使用 mkdir 来新建一个目录(文件夹)。
- 使用 delete 路径+文件名来删除文件。
- 使用 mdelete remote-file 批量删除远程主机文件。
- 使用 rm 路径名来删除文件夹。
- 使用 lcd 设置当前用户工作路径,也就是要把资源下载到本地哪个文件夹。
- !xx 是跳出ftp模式,在命令行中执行xx命令,比如说使用 lcd 切换到本地另外一个文件夹之后,你想看当前文件夹下有什么文件,就可以使用 !dir 来实现。
- 使用 pwd 命令查看当前路径。
上传文件
-
先在ftp命令行中使用 cd xxx 进入想在树莓派存放文件的路径
-
使用
put
(或者send
,如果想上传多个文件的话使用mput
)路径+文件名
put E:\test.txt send E:\test.txt mput E:\test.txt E:\test1.txt
下载文件
-
先在ftp命令行中使用 cd xxx 进入想在树莓派存放文件的路径
-
使用
get
(下载多个文件用mget
)路径+文件名
来下载文件。下载的文件默认是保存在了Windows的 C:\Users\[用户名] 路径下get ./test.txt mget ./test.txt ./test1.txt
断开连接
- ftp命令行直接输入bye即可
安装OpenCV-Python
由于不同的Python版本也会导致代码的细微区别(大部分情况是没区别的)
终端输入Python -V
查看 Python 版本, 本人使用的是 3.9.2 版
以后需要在命令行输入的指令我就不强调 “在终端输入” 这5个字了
正片开始
-
安装opencv库,有两个方法,选一即可
- pip install opencv-python(挺慢的,20多M下载了一个多小时,不过似乎这个能下载最新版)
- sudo apt install python3-opencv (换源后相当快,几分钟就搞定)
-
我记得安装完opencv时,会自动下载numpy库,所以可以跳过此步,如果后续写程序报错了再回来安装下numpy库
- pip install numpy
-
在终端输入 python,运行 python
-
输入
import cv2
,回车, 如果没有报错,则证明opencv安装完毕 -
输入 cd ~/Desktop,进入“桌面”
-
在文本编辑器 nano 中写好python程序测试文件
输入 nano demo.py,写入以下程序
# 示例代码 import cv2 as cv import numpy as np import timecap = cv.VideoCapture(0) # 实例化摄像头采集器 time.sleep(1) # 程序等待一秒,等摄像头初始化完毕_, img = cap.read() # 捕捉一帧图像cv.imwrite("demo.jpg", img) # 保存在绝对路径
-
保存并退出 nano 编辑器,输入
python demo.py
-
执行完毕后,Desktop路径下应该是生成了 demo.jpg照片,说明摄像头也成功工作了
至此,恭喜你可以在树莓派上做视觉算法的学习了