log_polar_off_center.py

# Questo lavoro è concesso in licenza MIT.
# Copyright (c) 2013-2026 OpenMV LLC. Tutti i diritti riservati.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Esempio di mappatura log-polare decentrata
#
# Questo esempio mostra come riproiettare l'immagine utilizzando una
# centrata su un punto specificato dall'utente anziché sul
# centro dell'immagine. Questo è utile quando l'asse ottico dell'obiettivo non
# si allinea con il centro del sensore (ad es. un obiettivo fisheye montato con
# un adattatore con offset), così la trasformazione polare può essere ricentrata sul
# vero centro ottico.
#
# Passa gli argomenti keyword `x` e `y` per impostare il centro polare. Entrambi
# hanno come valore predefinito il centro dell'immagine se omessi.

import csi
import time

csi0 = csi.CSI()
csi0.reset()  # Inizializza il sensore della fotocamera.
csi0.pixformat(csi.RGB565)  # oppure csi.GRAYSCALE
csi0.framesize(csi.QQVGA)  # oppure csi.QVGA (o altri)
csi0.snapshot(time=2000)  # Lasciare che le nuove impostazioni abbiano effetto.

# Centra la trasformazione polare 20 pixel a destra e 10 pixel in basso
# rispetto al centro del sensore. Regola questi valori in base al tuo obiettivo.
CENTER_X_OFFSET = 20
CENTER_Y_OFFSET = 10

clock = time.clock()  # Traccia gli FPS.

while True:
    clock.tick()  # Traccia i millisecondi trascorsi tra le chiamate a snapshot().
    img = csi0.snapshot()
    cx = (img.width() // 2) + CENTER_X_OFFSET
    cy = (img.height() // 2) + CENTER_Y_OFFSET
    img.logpolar(reverse=False, x=cx, y=cy)

    print(clock.fps())  # Nota: la tua OpenMV Cam funziona a circa metà velocità quando
    # è collegata al computer. Il framerate dovrebbe aumentare una volta scollegata.

results matching ""

    No results matching ""