adaptive_histogram_equalization.py
# Dieses Werk ist unter der MIT-Lizenz lizenziert.
# Copyright (c) 2013-2023 OpenMV LLC. Alle Rechte vorbehalten.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Adaptive Histogrammausgleichung
#
# Dieses Beispiel demonstriert, wie die adaptive Histogrammausgleichung zur Verbesserung
# des Bildkontrasts eingesetzt wird. Die adaptive Histogrammausgleichung teilt das Bild
# in Regionen auf und gleicht dann das Histogramm in diesen Regionen aus, um
# den Bildkontrast im Vergleich zu einer globalen Histogrammausgleichung zu verbessern. Zusätzlich
# können Sie eine Clip-Grenze angeben, um zu verhindern, dass der Kontrast überschießt.
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()
# Ein clip_limit < 0 liefert eine normale adaptive Histogrammausgleichung,
# die zu erheblichem Kontrastrauschen führen kann ...
# Ein clip_limit von 1 bewirkt nichts. Für beste Ergebnisse wählen Sie einen etwas höheren Wert
# als 1, wie im Beispiel unten. Je höher der Wert, desto näher kommen Sie wieder an
# die standardmäßige adaptive Histogrammausgleichung mit starken Kontrastschwankungen heran.
img = csi0.snapshot().histeq(adaptive=True, clip_limit=3)
print(clock.fps())