adaptive_histogram_equalization.py
# Эта работа лицензирована по лицензии MIT.
# Copyright (c) 2013-2023 OpenMV LLC. All rights reserved.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Адаптивное выравнивание гистограммы
#
# Этот пример демонстрирует, как использовать адаптивное выравнивание гистограммы для улучшения
# контрастности изображения. Адаптивное выравнивание гистограммы разбивает изображение
# на области и затем выравнивает гистограмму в этих областях, чтобы улучшить
# контрастность изображения по сравнению с глобальным выравниванием гистограммы. Кроме того,
# можно задать предел отсечения, чтобы контраст не менялся слишком резко.
import csi
import time
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565)
csi0.framesize(csi.QQVGA)
csi0.snapshot(time=2000)
clock = time.clock()
while True:
clock.tick()
# Значение clip_limit < 0 даёт обычное адаптивное выравнивание гистограммы,
# которое может привести к сильному контрастному шуму...
# Значение clip_limit = 1 не даёт эффекта. Для лучшего результата выбирайте значение
# чуть выше 1, как показано ниже. Чем выше значение, тем ближе результат
# к стандартному адаптивному выравниванию гистограммы с сильными перепадами контраста.
img = csi0.snapshot().histeq(adaptive=True, clip_limit=3)
print(clock.fps())