0

Within the Raspberry Pi, defined camera.shutter does not match with queried camera.exposure_speed.

The picamera API document-PiCamera API document states:

Exposure_speed- Retrieves the current shutter speed of the camera. When queried, this property returns the shutter speed currently being used
by the camera. If you have set shutter_speed to a non-zero value, then exposure_speed and shutter_speed should be equal. However, if shutter_speed is set to 0 (auto), then you can read the actual shutter speed being used from this attribute. The value is returned as an integer representing a number of microseconds. This is a read-only property.

Despite described above, after I defined shutter_sepeed to 10 seconds, exposure_speed returns 0 -the two vairables are not equal. as can be seen in my code below:

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')

In response:

>>> 
===== 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

The last two are not equal which does not make any sense. Thoughts?

joaquin
  • 82,968
  • 29
  • 138
  • 152
icypy
  • 3,062
  • 5
  • 25
  • 27

1 Answers1

1

IIRC, the camera.exposure_speed attribute does not update until after you've taken an image at the requested shutter_speed setting.

If you try printing the settings after capture, does that work?

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))
Jaime M
  • 161
  • 6