Python-用raspberry pi相机拍照

Python-taking a picture with raspberry pi camera

我编写了此代码以在检测到运动时拍照,但是当我 运行 代码打印 'picture taken' 但不保存照片时。 我知道我的相机工作正常,因为我在 LX 终端中使用 raspistill 命令对其进行了测试。我也试过更改要保存文件的路径。 如果您能看到我哪里出错了,将不胜感激。 谢谢

import RPi.GPIO as GPIO
import time
import picamera



GPIO.setmode(GPIO.BCM)
GPIO.setup(4, GPIO.IN, GPIO.PUD_DOWN)

cam = picamera.PiCamera()
time.sleep(1)
if GPIO.input(4):
    cam.capture('/home/pi/Eaglecam/surveillance.jpg')
print('picture taken')
  1. 尝试将打印语句放在if GPIO.input(4)的范围内,看看是否成功接收到摄像头的信号。
  2. 可能不是原因,但您应该在完成后关闭相机。使用 camera.close() 或使用 with picamera.PiCamera() as camera:
  3. 初始化相机

来自 documentaion 的示例:

import time
import picamera

with picamera.PiCamera() as camera:
    camera.resolution = (1024, 768)
    camera.start_preview()
    # Camera warm-up time
    time.sleep(2)
    camera.capture('foo.jpg')