资料参考链接:https://www.pyimagesearch.com/2016/11/21/raspbian-opencv-pre-configured-and-pre-installed/
但他好像没有提供资料公开链接。
一个做机器人比赛的朋友想在树莓派上用opencv 和 python 做计算机视觉,自动寻找目标和路线。他们买了资料,我就帮安装,然后讲解应用。资料包括预安装了opencv 和python 的系统,当然还有教学资料,教学用到的代码。
安装
系统部分有7.6g 大,解压后3个文件,分别是readme.pdf, Raspbian3B_4B.img.gz, RaspbianZeroW.img.gz。推荐安装系统软件为BalenaEtcher, 32G mini SD卡。BalenaEtcher的下载链接为:https://www.balena.io/etcher/
下载后运行BalenaEtcher 在windows 下安装并运行。提示选择img。 我的树莓派是3B,所以选择Raspbian3B_4B.img.gz。开始以为2个都要呢,其实是选择一个,对应自己的树莓派系统。我认为不应该压缩,至少分别压缩,因为很大,下载很费时间,其实我只要一个就好。
选择好后,不需要选择sd 卡的地方,我是sd 卡读写器。也不提示要格式化sd卡,所以sd上面有内容要先备份。
点击flash,就开始了,Flash 看上去很快,可是完成后还有flashing ,这个很慢,时间指示也很不对,最后是Validating,这个也慢。估计第一个是准备数据,第二个是写,第三个是读sd然后校验。
完成后显示flash 完成,这时系统弹出不识别,是否格式化,千万不要点格式化,否则白做了。因为sd 卡是Raspbian系统,windows不识别。
测试和设置
把做好的卡插入树莓派,加电,开始连接hdmi 到电视机或其他屏上,系统就启动了。
但是我的显示很不清楚,我也第一次用这个树莓派。眼睛很累的,其实应该
设置系统字体,但应用字体还是小,好像也没设置分辨率的地方。
要控制应用的字体,点应用的菜单Edit,这里放大应用的字体。
字体大了,但边缘都被吃掉了,看不到,朋友给我调节边缘的资料,如下:
- Take a backup of the file /boot/config.txt 备份
sudo cp /boot/config.txt /boot/config.txt.backup
- Open config.txt for editing 编辑
sudo nano /boot/config.txt
- Uncomment the #disable_overscan=1 (Remove the #) 取消注释,我的是注释
- Comment all other overscan parameters 注释掉,我的是取消下面的注释,并调整大小
#overscan_left=10 #overscan_right=10 #overscan_top=15 #overscan_bottom=15
- Save and exit. ( CTRL+X followed by Y to save) 保存
- Reboot 重启动sudo reboot
不断调整这些参数,其实显示器分辨率也可这里设置,这样系统正常状态了。
资料里介绍第一次运行时,调整容量为整个sd 卡。鼠标如下操作:
raspi-config => Advanced => Expand Filesystem
opencv 环境
系统装好了,看看opencv
Raspberry Pi 3B/3B+/4B .img 包含如下环境:
- py3cv4 : Python 3.7 and OpenCV 4.1.1
- py3cv3 : Python 3.7 and OpenCV 3.4.7
- openvino : Python 3.7 and OpenCV 4.1.1-openvino (OpenVINO is an Intel deep learning + hardware-optimized toolkit by Intel)
- coral : Python 3.7 and OpenCV 4.1.1
Raspberry Pi Zero W .img 包含如下环境:
- py3cv4 : Python 3.7 and OpenCV 4.1.1
- py3cv3 : Python 3.7 and OpenCV 3.4.7
怎么选择环境呢?
使用workon 命令:
workon py3cv4
也可以用source
source ~/start_py3cv4.sh
验证opencv 环境
选择环境后就可以验证了。
python 进入python 环境后
import cv2
print(cv2.__version__)
应该显示opencv 的版本号。
我开始不是这么验证的,而是运行了资料里的opencv 样例代码。
资料里介绍设置好wifi 然后下载样例源代码,我不想再下载了,就用u盘。
其实用u盘也不容易,我找到这个 https://blog.csdn.net/c80486/article/details/8545115 学会用u盘,方法如下:
安装 usbmount
sudo apt-get install usbmount
插入U盘,则系统将自动把U盘挂接到 /media/usb0 目录中 (如果有第二个U盘,则挂接到 /media/usb1 中,如此类推),我的情况不是这样, 但 /media/下有个Pi 的目录,是我u盘内容。
环境都好了,下面我们可以开始树莓派下python 的 opencv 应用学习了。