high_fps.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 hohe FPS
#
# Dieses Beispiel zeigt, wie die Framerate der Global-Shutter-Kamera extrem
# hoch gemacht werden kann. Dazu müssen Sie die Auflösung auf einen niedrigen Wert setzen, sodass Pixel-Binning
# auf der Kamera aktiviert wird, und dann die maximale Belichtungszeit reduzieren.
#
# Bei einer Auflösung von 320x240 oder weniger liest die Kamera Pixel 2x schneller aus. Bei
# einer Auflösung von 160x120 oder weniger liest die Kamera Pixel 4x schneller aus. Dies geschieht aufgrund
# des Pixel-Binnings, das automatisch aktiviert wird, um die Auslesegeschwindigkeit zu erhöhen.
#
# Auch wenn sich die Auslesegeschwindigkeit erhöhen kann, muss die Kamera das Bild dennoch für die angeforderte
# Zeit belichten, sodass Sie die maximale Auslesegeschwindigkeit nur erreichen, wenn Sie auch die Belichtungszeit reduzieren.
# Dies führt jedoch zu einem dunklen Bild, sodass Sie für hohe FPS SEHR VIEL Licht benötigen.
import csi
import time
csi0 = csi.CSI()
csi0.reset() # Sensor zurücksetzen und initialisieren.
csi0.pixformat(csi.GRAYSCALE) # Pixelformat auf GRAYSCALE setzen
csi0.framesize(csi.QQVGA) # Framegröße auf QQVGA (160x120) setzen
csi0.snapshot(time=2000) # Warten, bis die Einstellungen wirksam werden.
clock = time.clock() # Ein Clock-Objekt erstellen, um die FPS zu verfolgen.
csi0.auto_exposure(True, exposure_us=5000) # verkleinern, um schneller zu werden
while True:
clock.tick() # Aktualisiert die FPS-Uhr.
img = csi0.snapshot() # Nimmt ein Bild auf und gibt es zurück.
print(clock.fps()) # Hinweis: Die OpenMV Cam läuft etwa halb so schnell, wenn sie
# mit der IDE verbunden ist. Die FPS sollten sich nach dem Trennen erhöhen.