triggered_mode.py

# 本作品采用MIT许可证授权。
# 版权所有 (c) 2013-2023 OpenMV LLC。保留所有权利。
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# 全局快门触发模式示例
#
# 此示例展示了如何将全局快门相机设置为触发模式。在触发模式下,
# snapshot()可以精确控制相机像素开始积分的时刻,从而让拍照
# 与某些外部运动同步。由于相机同时捕获所有像素
# (它是全局快门相机而非卷帘快门相机),图像中的运动
# 只会在积分时间内被捕获,而不是积分时间乘以
# 图像行数。此外,触发模式下传感器噪声也会降低,因为相机
# 会在曝光完成后才读出各行,从而获得更高质量的图像。
#
# 话虽如此,最大帧率会降低2到3倍,因为相机不再连续
# 生成帧,而且您必须等待积分完成后
# 才能读出帧。

import csi
import time

csi0 = csi.CSI()
csi0.reset()  # 重置并初始化传感器。
csi0.pixformat(csi.GRAYSCALE)  # 将像素格式设置为灰度
csi0.framesize(csi.VGA)  # 将帧大小设置为VGA (640x480)
csi0.snapshot(time=2000)  # 等待设置生效。
clock = time.clock()  # 创建一个时钟对象来跟踪FPS。

csi0.ioctl(csi.IOCTL_SET_TRIGGERED_MODE, True)

while True:
    clock.tick()  # 更新FPS时钟。
    img = csi0.snapshot()  # 拍照并返回图像。
    print(clock.fps())  # 注意:OpenMV摄像头在连接至IDE时运行速度会降低约一半。
    # 断开连接后,帧率应会提升。

results matching ""

    No results matching ""