安装了一天的树莓派OpenCV环境还是没有安装好,经过不断的试错,最后终于找到了一个特别适合小白上手,实用且快速的方法。首先声明,此教程仅适合小白食用。所有需要的工具和文件的链接放在文末。
我参考了南寒天一的博客,链接如下: https://linuxer.top/archives/opencv-raspi-img.html 这个系统镜像文件是基于树莓派官方raspios-buster-arm64桌面版镜像制作,内核版本为5.4.72,OpenCV版本为4.5.0,默认开启ssh和vnc,已更换清华源,4B支持USB启动,第一次开机自动扩容。并且可以兼容树莓派3B、3B+、4B。
使用已搭建好的第三方系统镜像文件
- 给树莓派安装系统
首先在window系统里安装链接中的imager1.5的exe可执行文件,安装好之后点开这个软件: 打开后就是这样的一个界面: 点击CHOOSE OS选择Use custom进入后,选择下载好的树莓派Opencv-4.5.0镜像中的 raspios-buster-opencv-4.5.0-arm64.img 这个文件确认。(百度网盘上下载好的如果不是img点缀结尾的需要解压一下)
再点击第二个CHOOSE SD CARD选择好安装的路径,也就是你的SD卡,安装之前最好格式化一下。最后WRITE写入,等待进度条跑完,系统就安装好啦!!!
配置树莓派初始环境
如果想用笔记本电脑来扩展树莓派的屏幕,需要进行一些基础性配置。
-
1、首先对内存卡进行操作,安装好系统后的SD卡在电脑上会显示只有200多兆,这是正常的。 -
2、打开boot文件夹,进入cmdline这个文件夹,用记事本打开,在头部加入一个静态ip地址 例:ip=192.168.137.100 -
注意:在这个ip地址最后要打一个空格。 -
3、然后新建一个记事本文档,在勾选显示文件扩展名的前提下,更改文件名为ssh,不加后缀。 -
4、再或者,可以提前配置一下wifi密码。在boot分区创建wpa_supplicant.conf文件。根据需要可以配置多个wifi连接信息,将ssid和password替换为真实值即可。当然,也可以等下进入桌面再配置。
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CN
network={
ssid="无线ssid"
psk="无线密码"
key_mgmt=WPA-PSK
priority=1
}
- 接下去就可以将SD卡插入树莓派,用网线连接笔记本。
- 电脑进入控制面板对网络链接进行配置,先将除以太网之外的网禁用,只保留以太网的正常使用。对以太网进行设置,鼠标右键,属性,把版本6(IPv6)关闭,只保留协议版本4,选中版本4→属性,在属性菜单中进行设置,“使用以下的IP地址”,输入IP地址:192.168.137.101,只要不和树莓派刚刚设置的ip地址相同即可,点击子网掩码自动补齐,默认网关不需要设置,后面都不需要。
注意:如果出现IPV4内的更改不成功,可以进入cmd进行配置。 - 检查IP地址
检查笔记本的静态IP地址。打开cmd命令提示符,输入:ipconfig就可以查看。 检查树莓派的IP地址。输入ping 192.168.137.100(之前设置的树莓派的静态ip)。如果回车后显示 时间<1ms表示刚刚设置的ip是正确的。此时树莓派和笔记本电脑已经联网,可以互通了。 - 4、远程控制树莓派
需要一个下载PuTTY的软件(这是一个独立的exe程序,百度网盘链接里有),打开后输入树莓派设置好的ip地址,22,ssh这些都不用改。点击open会跳出一个警告,说明这个远程控制终端已经正常工作,点击→是,默认用户名:pi 密码:raspberry(注:输入密码是不显示的) - 5、设置打开图形界面
切换到管理员用户(根用户root),输入:sudo su→回车会显示root@raspberrypi: 进入树莓派自带的设置命令,raspi-config→回车 选中Interfacing options→VNC→yes 选中advanced options→resolution→1024×768→键盘最左侧的tab键→Finish - 6、下载一个VNC Viewer软件,网址:realvnc.com
输入树莓派设置好的ip地址,链接进入就可以进入树莓派的内部。 →next箭头设置国家和语言→重置密码(6位以上的密码)→next→restart - 7、查看树莓派是否在运行,回到cmd,输入ping 192.168.137.100 -t 就会一直对他进行访问。
测试OpenCV是否安装成功
- 点击桌面左上角的黑色图标
根据以上查阅版本号,如果不报错且显示正确版本号,就说明你已经安装成功啦!!!
最后再来串代码测试一下
import numpy as np
import cv2
def main():
print("OpenCV Version:{}".format(cv2.__version__))
# 0: use CSI camera,1:use USB camera
cap = cv2.VideoCapture(0)
if(not cap.isOpened()):
print("can't open this camera")
while(True):
ret, FrameImage = cap.read()
if ret == True:
# change to gray image
GrayImage = cv2.cvtColor(FrameImage, cv2.COLOR_BGR2GRAY)
# blur the image
BlurImage = cv2.blur(GrayImage,(7,7))
# use canny to detect contour
CannyImage = cv2.Canny(BlurImage,3,9)
# show the image
cv2.imshow('Camera Capture',CannyImage)
#Press Q to quit
if (cv2.waitKey(1)) == ord('q'):
cap.release()
break
else:
break
if __name__ == '__main__':
print(__doc__)
main()
# Release resource
cv2.destroyAllWindows()
运行后的效果就是这样:
最后的最后再提一点无关本次安装的问题
如果通过自己去配置OpenCV环境,出现依赖问题,如果显示的提示中有64,那么说明你的系统版本是32位,这个时候可能就需要重新安装一个64位的系统重新搭配。如果是其他的依赖问题,可以用aptitude命令来解决,aptitude本来是debian的默认软件。 首先:
sudo apt-get update && sudo apt-get dist-upgrand
再安装aptitude:
sudo apt-get install aptitude
然后再用aptitude来代替apt-get安装软甲:
sudo aptitude instaall xxx xxx是需要安装的内容
然后根据提示,出现y/n,一般是n,直到出现xxx>>>xxx这种情况再输入y,回车
总结
这是我第一次写博客,为了安装在树莓派搭建OpenCV的环境,历经两天的时间,期间出现了各种错误,对最后的编译还是很头疼的事情,最后发现用这个方法是简单的操作,站在前人的基础上。 最后新人多多关照,你们的点赞是我努力更新的动力,如有不足,希望各位大佬评论区批评指正!
镜像下载链接:https://pan.baidu.com/s/1le1tZS0T42B1l1Qa-VZEqw 提取码:cutx 工具下载链接:https://pan.baidu.com/s/1NlAuBRjV0IkslbkhfiwVsw 提取码:jyxv
|