linear_polar_off_center.py

# Dieses Werk ist unter der MIT-Lizenz lizenziert.
# Copyright (c) 2013-2026 OpenMV LLC. Alle Rechte vorbehalten.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Beispiel für außermittige lineare Polar-Abbildung
#
# Dieses Beispiel demonstriert die Neuprojektion des Bildes mittels einer linearen Polar-
# transformation, die auf einem benutzerdefinierten Punkt zentriert ist, anstatt auf der
# Bildmitte. Dies ist nützlich, wenn die optische Achse des Objektivs nicht
# mit dem Sensormittelpunkt übereinstimmt (z. B. bei einem Fisheye-Objektiv, das mit
# einem Offset-Adapter montiert ist), sodass die Polartransformation auf den
# tatsächlichen optischen Mittelpunkt neu zentriert werden kann.
#
# Übergeben Sie die Schlüsselwortargumente `x` und `y`, um das Polarzentrum festzulegen. Beide
# verwenden standardmäßig die Bildmitte, wenn sie weggelassen werden.

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.

# Zentrieren Sie die Polartransformation 20 Pixel nach rechts und 10 Pixel nach unten
# gegenüber der Sensormitte. Passen Sie diese Werte an Ihr Objektiv an.
CENTER_X_OFFSET = 20
CENTER_Y_OFFSET = 10

clock = time.clock()  # Verfolgt die FPS.

while True:
    clock.tick()  # Erfasst die vergangenen Millisekunden zwischen den Aufrufen von snapshots().
    img = csi0.snapshot()
    cx = (img.width() // 2) + CENTER_X_OFFSET
    cy = (img.height() // 2) + CENTER_Y_OFFSET
    img.linpolar(reverse=False, x=cx, y=cy)

    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.

results matching ""

    No results matching ""