树莓派4B (Raspberry pi 32 bit)安装uv4l驱动,解决opencv无法获取CSI摄像头图像问题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

环境描述:       树莓派4B (Raspberry pi 32 bit)安装uv4l驱动,解决opencv无法获取CSI摄像头图像问题_第1张图片

问题描述:我希望用opencv调用csi摄像头(最开始我只有USB摄像头,可是我无论怎么调用都无法出图像,就算用print(img)也显示None) 可是我无论如何都无法调用图像,报错显示函cv2.imshow()函数传入的图像尺寸有问题(因为压根就没有获取到图像,用print(video.isOpened())判断返回false)                   错误返回信息:error: (-215)size.width>0&&size.height>0

问题原因:opencv的cv2.VideoCapture函数无法识别树莓派的原装摄像头,安装uv4l驱动后即可解决(usb摄像头问题也可以解决)

注意:(我默认你的树莓派已经可以识别到摄像头了,并且可以用指令拍照,但是无法用opencv调用摄像头

解决问题:(有基础的UU,可以直接试着我提供的指令执行,很快就可以执行完毕)

第一步:在树莓派终端分别运行下面这两个命令

$ curl https://www.linux-projects.org/listing/uv4l_repo/lpkey.asc | sudo apt-key add -
$ echo "deb https://www.linux-projects.org/listing/uv4l_repo/raspbian/stretch stretch main" | sudo tee /etc/apt/sources.list.d/uv4l.list

执行后的效果树莓派4B (Raspberry pi 32 bit)安装uv4l驱动,解决opencv无法获取CSI摄像头图像问题_第2张图片

执行了这些操作检查你的源配置列表(sources.list)看看有没有加入deb https://www.linux-projects.org/listing/uv4l_repo/raspbian/stretch stretch main“(国内很多博客都是教用sudo nano /etc/apt/sources.list命令进入源修改列表,然后手动添加具体可以参考   sources.list怎么保存和修改-百度经验 (baidu.com),我上面给出的指令可以直接添加,不需要手动) 树莓派4B (Raspberry pi 32 bit)安装uv4l驱动,解决opencv无法获取CSI摄像头图像问题_第3张图片

 (国内很多文章都是互相抄,其他文章的这个网站的密钥都已经失效了,根本下载不了UV4l驱动

第二步:更新系统并获取和安装软件包,运行下面的命令

$ sudo apt-get update
$ sudo apt-get install uv4l uv4l-raspicam
$ sudo apt-get install uv4l-raspicam-extras

树莓派4B (Raspberry pi 32 bit)安装uv4l驱动,解决opencv无法获取CSI摄像头图像问题_第4张图片

 由于我已经安装好了,就会直接显示我已经是最新版的,如果你没有没有正确的步骤,则安装失败,(大多少都是那个源网站的问题,英语及格的可以参考下面的网站Installation for ARM (Raspberry Pi) – (advanced) Projects (linux-projects.org))

树莓派4B (Raspberry pi 32 bit)安装uv4l驱动,解决opencv无法获取CSI摄像头图像问题_第5张图片

 第三步:开启uv4l服务

sudo service uv4l_raspicam restart

 第四步:uv4l参数设置

uv4l --driver raspicam --auto-video_nr --width 640 --height 480 --encoding jpeg 

树莓派4B (Raspberry pi 32 bit)安装uv4l驱动,解决opencv无法获取CSI摄像头图像问题_第6张图片

成功了

接下来你就用print(img),若有数据则是成功的,(如果你的树莓派没有用屏幕,是用SSH连接电脑的,你是无法调用cv2.imshow()来显示图像,反而报错。你需要神器MobaXterm这款软件来帮你,就可以正常在你电脑上显示出摄像头图像了) 

谢谢大家,若上面的步骤有错误,欢迎私信QQ3258221348,(抵制收费)

你可能感兴趣的:(树莓派,opencv,python,人工智能)