Python 自动检测树莓Pi摄像机
我有一个问题,是否有办法检测Raspi摄像头HW模块?我正在用Python编写一个项目,我需要验证摄像头硬件模块是否连接到RPi,因为我需要将同一个Python项目复制到多个RPi,但其中一些RPi不会连接摄像头。我使用的是Picamera SW模块,但我在想,如果相机存在于/dev树中的某个位置,则导入此类模块,现在是否有人知道这是可能的,或者是实现这一点的方法Python 自动检测树莓Pi摄像机,python,raspberry-pi,Python,Raspberry Pi,我有一个问题,是否有办法检测Raspi摄像头HW模块?我正在用Python编写一个项目,我需要验证摄像头硬件模块是否连接到RPi,因为我需要将同一个Python项目复制到多个RPi,但其中一些RPi不会连接摄像头。我使用的是Picamera SW模块,但我在想,如果相机存在于/dev树中的某个位置,则导入此类模块,现在是否有人知道这是可能的,或者是实现这一点的方法 提前感谢好的,我在谷歌搜索了一些后发现的解决方案是命令vcgencmd,它用于检测摄像机是否连接,因此通过发出Python来执行子进
提前感谢好的,我在谷歌搜索了一些后发现的解决方案是命令vcgencmd,它用于检测摄像机是否连接,因此通过发出Python来执行子进程,我已经获得了所需的结果 O.S.命令“vcgencmd get_camera”给出输出:
supported=0 detected=0
因此,通过使用子流程python调用:
import subprocess
c = subprocess.check_output(["vcgencmd","get_camera"])
int(camdet.strip()[-1]) #-- Removes the final CR character and gets only the "0" or "1" from detected status
if (c):
print "Camera detected"
else:
print "not detected"
希望这对其他人有用,欢迎任何更简单的建议解决方案我用它来检查picamera是否可用,基于上一篇文章。 如果使用值1获得支持和检测,则可以使用picamera
#!/usr/bin/python
import subprocess
#--next line returns something like supported=1 detected=1
#--if get supported and deteted valued at 1 you have a picamera available
commandResult = subprocess.check_output("vcgencmd get_camera", shell=True)
如果相机未连接,初始化picamera类时是否会引发错误?或者它什么都不做。。。如果你试图拍摄一张没有摄像头的图像。。。图像大小是0还是什么?嗨,Joran,实际上我最初的想法是,正如您所描述的,在启动python项目之前,使用O.S.命令“raspistill”拍摄快照。有一件事是可以肯定的,那就是.jpeg不会出现,忘了它的大小吧,问题是当我尝试使用Python时,它会在尝试拍摄快照时出现异常,我真正需要的只是检测它是否存在的条件,现在我已经实现了一个有效的解决方案,我会将其发布在主线程中,非常感谢你的回答。