genx320_histogram_mode_calibration.py
# Эта работа лицензирована по лицензии MIT.
# Copyright (c) 2013-2024 OpenMV LLC. All rights reserved.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Этот пример демонстрирует калибровку «горячих» пикселей
# с использованием событийной камеры genx320 от Prophesee.
import csi
import time
csi0 = csi.CSI(cid=csi.GENX320)
csi0.reset()
csi0.pixformat(csi.GRAYSCALE)
csi0.framesize((320, 320))
csi0.brightness(128) # Обычно оставляйте 128 (значение по умолчанию).
csi0.contrast(16) # Увеличьте, чтобы изображение выглядело более контрастным.
# Частота кадров по умолчанию — 50 FPS. Вы можете изменить её в диапазоне примерно от 20 FPS до 350 FPS.
csi0.framerate(50)
# Сначала покажите некалиброванное изображение.
csi0.snapshot(time=5000)
CAL_EVENT_COUNT = 10000 # Количество событий для сбора при калибровке.
CAL_SIGMA = 0.5 # Стандартное отклонение для обнаружения «горячих» пикселей.
disabled_pixels = csi0.ioctl(csi.IOCTL_GENX320_CALIBRATE, CAL_EVENT_COUNT, CAL_SIGMA)
print(f'Disabled {disabled_pixels} hot pixels.')
clock = time.clock()
while True:
clock.tick()
img = csi0.snapshot()
# img.median(1) # устранение шума.
print(clock.fps())