概述
关于opencv-python库在树莓派上调用摄像头的问题
- 关于opencv-python库在树莓派上调用摄像头的问题
- 背景
- 问题:cv2.VideoCapture()函数参数问题
- 调用图中摄像头时
- 调用手机摄像头时
- 关于cv2.CAP_DSHOW
- 碎碎念
- 参考
背景
参加学院内比赛时用到了树莓派3B+,系统是Raspberry Pi OS。程序源码是在Windows环境下写的,跑起来毫无问题,但是在树莓派上就开始问题百出。这里分享一下我在使用opencv库调用摄像头时发现了一些坑
问题:cv2.VideoCapture()函数参数问题
调用图中摄像头时
cv2.VideoCapture()
这个函数无论是在书里还是网上讲的大多都是
这并没有错。但在树莓派上调用时需要更改参数,改为
cap = cv2.VideoCapture(1)
笔者没搞清楚为啥,翻了下文档也没搞懂摄像头的顺序咋查,官方文档放在参考里了,有需要的同志可以去看看
调用手机摄像头时
摄像头是后来才买的,一开始是用队友的手机连树莓派充当摄像头。调用时用cv2.VideoCapture(0)
就行,不用改成1。
关于cv2.CAP_DSHOW
笔者的电脑在用cv2.VideoCapture(0)
时,程序结束后会报个很迷的错。
[ WARN:0] global C:UsersappveyorAppDataLocalTemp1pip-req-build-6lylwdczopencvmodulesvideoiosrccap_msmf.cpp (435) `anonymous-namespace’::SourceReaderCB::~SourceReaderCB terminating async callback
原因未知,没在官方文档中找到。改成
cv2.VideoCapture(0,cv2.CAP_DSHOW)
结束时就不会报错了。满迷惑的。
但是在树莓派上运行时不能加cv2.CAP_DSHOW
,不然就会报错,甚至打不开摄像头。
碎碎念
有幸拿到了二等奖,本来是没打算参加的,临时有了主意才拉个队友一起参加。整个作品的制作时间没超过三天,紧赶慢赶还是赶上了。非常感谢我的队友的技术支持和学长的帮助。
参考
图一原帖链接
关于VideoCapture()
最后
以上就是光亮钢铁侠为你收集整理的关于opencv-python库在树莓派上调用摄像头的问题关于opencv-python库在树莓派上调用摄像头的问题的全部内容,希望文章能够帮你解决关于opencv-python库在树莓派上调用摄像头的问题关于opencv-python库在树莓派上调用摄像头的问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复