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
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.
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.