linear_polar_off_center.py

# Este trabalho está licenciado sob a licença MIT.
# Copyright (c) 2013-2026 OpenMV LLC. Todos os direitos reservados.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Exemplo de Mapeamento Polar Linear Descentralizado
#
# Este exemplo demonstra a reprojeção da imagem usando uma transformação
# polar linear centrada em um ponto especificado pelo usuário, em vez do
# centro da imagem. Isso é útil quando o eixo óptico da lente não
# se alinha com o centro do sensor (por exemplo, uma lente olho de peixe montada com
# um adaptador deslocado), de modo que a transformação polar possa ser recentralizada no
# verdadeiro centro óptico.
#
# Passe os argumentos nomeados `x` e `y` para definir o centro polar. Ambos
# assumem o centro da imagem por padrão quando omitidos.

import csi
import time

csi0 = csi.CSI()
csi0.reset()  # Inicializa o sensor da câmera.
csi0.pixformat(csi.RGB565)  # ou csi.GRAYSCALE
csi0.framesize(csi.QQVGA)  # ou csi.QVGA (ou outras)
csi0.snapshot(time=2000)  # Aguarda as novas configurações fazerem efeito.

# Centraliza a transformação polar 20 pixels à direita e 10 pixels abaixo
# do centro do sensor. Ajuste esses valores para sua lente.
CENTER_X_OFFSET = 20
CENTER_Y_OFFSET = 10

clock = time.clock()  # Rastreia FPS.

while True:
    clock.tick()  # Rastreia os milissegundos decorridos entre 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())  # Nota: Sua OpenMV Cam roda cerca de metade da velocidade enquanto
    # conectada ao seu computador. O FPS deve aumentar após a desconexão.

results matching ""

    No results matching ""