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
Instrutor

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 3 meses, 3 semanas atrás por Dalton Vargas.
  • Esta resposta foi modificada 3 meses, 3 semanas atrás por Dalton Vargas.