rotation_correction.py

# Este trabalho está licenciado sob a licença MIT.
# Copyright (c) 2013-2023 OpenMV LLC. Todos os direitos reservados.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Correção de Rotação
#
# Este exemplo demonstra como usar rotation_corr() para manipular a janela
# de cena que sua OpenMV Cam enxerga.

import csi
import time

# Graus por quadro para rotacionar...
X_ROTATION_DEGREE_RATE = 5
Y_ROTATION_DEGREE_RATE = 0.5
Z_ROTATION_DEGREE_RATE = 0
X_OFFSET = 0
Y_OFFSET = 0

ZOOM_AMOUNT = 1  # Valores mais baixos afastam o zoom - valores mais altos aproximam o zoom.
FOV_WINDOW = 60  # Entre 0 e 180. Representa o campo de visão da cena
# ao rotacionar a imagem no espaço 3D. Quanto mais próximo de
# zero, mais retas as linhas ficam à medida que a janela
# se afasta da imagem sendo rotacionada no espaço 3D. Um valor
# grande aproxima a janela da imagem no espaço 3D, o que
# resulta em maior distorção de perspectiva e, às vezes,
# na imagem em 3D interceptando a janela da cena.

csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565)
csi0.framesize(csi.QVGA)
csi0.snapshot(time=2000)
clock = time.clock()

x_rotation_counter = 0
y_rotation_counter = 0
z_rotation_counter = 0

while True:
    clock.tick()

    img = csi0.snapshot().rotation_corr(
        x_rotation=x_rotation_counter,
        y_rotation=y_rotation_counter,
        z_rotation=z_rotation_counter,
        x_translation=X_OFFSET,
        y_translation=Y_OFFSET,
        zoom=ZOOM_AMOUNT,
        fov=FOV_WINDOW,
    )

    x_rotation_counter += X_ROTATION_DEGREE_RATE
    y_rotation_counter += Y_ROTATION_DEGREE_RATE
    z_rotation_counter += Z_ROTATION_DEGREE_RATE

    print(clock.fps())

results matching ""

    No results matching ""