Responder a: Rotação/Inclinação do objeto

Home Fóruns Fórum Rastreamento de Objetos com Python e OpenCV Rotação/Inclinação do objeto Responder a: Rotação/Inclinação do objeto

#19260
Dalton Vargas
Moderador

    Olá Grace!

    O algoritmo CAMshift retorna a localização de 4 pontos nas posições x e y do objeto rastreado para desenhar a box adaptativa, então basicamente você precisa destes valores para determinar a rotação do objeto, fazendo uma comparação das posições entre os pontos do retângulo para determinar a rotação.

    Por exemplo, analisando a imagem abaixo, se os pontos A e D do retângulo estiverem em uma posição mais acima no eixo y do que os pontos C e B no eixo y, então significa que o objeto girou no sentido horário.

    exemplo

    Também sobre o deslocamento do objeto, a ideia é exatamente como você mencionou acima, pode usar o tamanho do objeto para calcular o deslocamento, ou seja, a proporção do objeto é definida como a proporção da largura da caixa delimitadora e a altura da caixa delimitadora: proporção = largura / altura.

    Separei alguns artigos que podem lhe ajudar, são métodos diferentes dos explicados no curso, mas com soluções específicas para trabalhar com rotação no opencv:

    Geometric Transformations of Images: https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_imgproc/py_geometric_transformations/py_geometric_transformations.html

    Affine Transformations: https://docs.opencv.org/3.4/d4/d61/tutorial_warp_affine.html

    OpenCV Track Object Movement: https://www.pyimagesearch.com/2015/09/21/opencv-track-object-movement/

     

    Espero ter ajudado, fico a disposição

    • Esta resposta foi modificada 4 anos, 4 meses atrás por Dalton Vargas.
    • Esta resposta foi modificada 4 anos, 4 meses atrás por Dalton Vargas.