mode_adaptive_threshold_filter.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
#
# Beispiel für Modusfilter mit adaptivem Schwellenwert
#
# Dieses Beispiel demonstriert die Modusfilterung mit adaptiver Schwellenwertbildung.
# Wenn mode(threshold=True) gesetzt ist, wendet die Methode mode() eine adaptive Schwellenwertbildung auf das Bild an,
# indem der Modus der Pixel um ein Pixel herum, abzüglich eines Offsets, mit diesem Pixel verglichen wird.
# Vermeiden Sie die Verwendung des Modusfilters auf RGB565-Bildern. Er wird an Bildkanten Artefakte verursachen ...
import csi
import time
csi0 = csi.CSI()
csi0.reset() # Kamerasensor initialisieren.
csi0.pixformat(csi.GRAYSCALE) # oder csi.RGB565
csi0.framesize(csi.QQVGA) # oder csi.QVGA (oder andere)
csi0.snapshot(time=2000) # Neue Einstellungen wirksam werden lassen.
clock = time.clock() # Verfolgt die FPS.
while True:
clock.tick() # Erfasst die vergangenen Millisekunden zwischen den Aufrufen von snapshots().
img = csi0.snapshot() # Nimmt ein Bild auf und gibt es zurück.
# Das einzige Argument des Median-Filters ist die Kernelgröße; sie kann
# entweder 0, 1 oder 2 sein, für einen 1x1-, 3x3- bzw. 5x5-Kernel.
img.mode(1, threshold=True, offset=5, invert=True)
print(clock.fps()) # Hinweis: Ihre OpenMV Cam läuft etwa halb so schnell, während
# sie mit Ihrem Computer verbunden ist. Die FPS sollten sich erhöhen, sobald die Verbindung getrennt wird.