midpoint_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 Midpoint-Adaptive-Threshold-Filter
#
# Dieses Beispiel demonstriert die Midpoint-Filterung mit adaptiver Schwellenwertbildung.
# Wenn midpoint(threshold=True) gesetzt ist, wendet die Methode midpoint() eine adaptive Schwellenwertbildung auf das Bild an,
# indem der Midpoint-Wert der Pixel um ein Pixel herum, abzüglich eines Offsets, mit diesem Pixel verglichen wird.
import csi
import time
csi0 = csi.CSI()
csi0.reset() # Kamerasensor initialisieren.
csi0.pixformat(csi.RGB565) # or csi.GRAYSCALE
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 erste Argument ist die Kernelgröße. N entspricht einem ((N*2)+1)^2
# Kernelgröße. Z. B. 1 == 3x3-Kernel, 2 == 5x5-Kernel usw. Hinweis: Sie
# sollten niemals einen Wert größer als 2 benötigen. Das Argument "bias"
# ermöglicht die Auswahl zwischen Min- und Max-Mischung. 0.5 == Midpoint-Filter,
# 0.0 == Min-Filter und 1.0 == Max-Filter. Beachten Sie, dass der Min-Filter
# Bilder dunkler macht, während der Max-Filter Bilder heller macht.
img.midpoint(1, bias=0.5, 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.