0

在 Raspberry Pi 中,定义的 camera.shutter 与查询的 camera.exposure_speed 不匹配。

picamera API 文档-PiCamera API 文档指出:

Exposure_speed - 检索相机的当前快门速度。查询时,此属性返回相机当前使用的快门速度
。如果您已将 shutter_speed 设置为非零值,则 exposure_speed 和 shutter_speed 应该相等。但是,如果 shutter_speed 设置为 0(自动),那么您可以从该属性中读取正在使用的实际快门速度。该值以表示微秒数的整数形式返回。这是一个只读属性。

尽管如上所述,在我将 shutter_sepeed 定义为 10 秒后,exposure_speed 返回 0 - 这两个变量不相等。从我下面的代码中可以看出:

from picamera import PiCamera
with PiCamera(resolution=(1024,768), framerate=Fraction(1,6), sensor_mode=3) as camera:
    exp_sec = int('10')
    camera.shutter_speed = exp_sec * 10**6 # micros
    sleep(30)
    print('camera_shutter_speed='+str(camera.shutter_speed))
    print('camera_exposure_speed:'+str(camera.exposure_speed))                
    camera.iso = 1600              # 100-1600
    camera.exposure_mode = 'off'   # lock all setting parameters
    fn_png = str(time.strftime("%Y-%m-%d-%H-%M-%S"))+'.png
    camera.capture(fn_png, format='png')

作为回应:

>>> 
===== RESTART: /home/pi/Documents/test_scripts/cap_one_image.py =====
made new direc
it is time to take a shot
0
camera_shutter_speed=9999959
camera_exposure_speed= 0

最后两个不相等,这没有任何意义。想法?

4

1 回答 1

1

IIRC,您以请求的设置拍摄图像camera.exposure_speed之前,该属性不会更新。shutter_speed

如果您在捕获后尝试打印设置,是否有效?

exp_sec=int('10')
camera.shutter_speed=exp_sec*10**6 # micros
sleep(30)
print('camera_shutter_speed='+str(camera.shutter_speed))
print('camera_exposure_speed:'+str(camera.exposure_speed))                
camera.iso=1600 #100-1600
camera.exposure_mode='off' # lock all setting parameters
fn_png=str(time.strftime("%Y-%m-%d-%H-%M-%S"))+'.png'
camera.capture(fn_png, format='png')
print('camera_shutter_speed='+str(camera.shutter_speed))
print('camera_exposure_speed:'+str(camera.exposure_speed))
于 2018-12-13T01:02:23.727 回答