定义的PiCamera camera.shutter与查询的camera.exposure_speed不匹配

时间:2018-10-31 07:54:09

标签: python raspberry-pi3 camera-calibration exposure

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

picamera API文档-PiCamera API document指出:

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

尽管有上述说明,但在将shutter_sepeed定义为10秒后,exposure_speed返回0-两个可变项不相等。 如下面的代码所示:

` 从picamera导入PiCamera 用PiCamera(分辨率=(1024,768),framerate =分数(1,6),sensor_mode = 3)作为相机:

    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

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

1 个答案:

答案 0 :(得分: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))