Auto Focus Example
# This work is licensed under the MIT license.
# Copyright (c) 2013-2024 OpenMV LLC. All rights reserved.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Auto Focus Example
#
# This example shows off how to auto-focus on cameras that support the feature.
import csi
import time
csi0 = csi.CSI()
csi0.reset() # Reset and initialize the sensor.
csi0.pixformat(csi.RGB565) # Set pixel format to RGB565 (or GRAYSCALE)
csi0.framesize(csi.QVGA) # Set frame size to QVGA (320x240)
csi0.snapshot(time=2000) # Wait for settings take effect.
clock = time.clock() # Create a clock object to track the FPS.
try:
# The camera will now focus on whatever is in front of it.
csi0.ioctl(csi.IOCTL_TRIGGER_AUTO_FOCUS)
except:
raise (Exception("Auto focus is not supported by your sensor/board combination."))
while True:
clock.tick() # Update the FPS clock.
img = csi0.snapshot() # Take a picture and return the image.
print(clock.fps()) # Note: OpenMV Cam runs about half as fast when connected
# to the IDE. The FPS should increase once disconnected.