Rotação/Inclinação do objeto

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

Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #19250
    Jones Granatyr
    Moderador

    Olá professor, primeiramente muito obrigado pelo excelente conteudo disponibilizado.

    Estou em um projeto em que gostaria de detectar a rotação de um objeto no decorrer de um video, o meu projeto tbm envolve a o deslocamento em uma 3° dimensão no caso o eixo z, e isso acho que funcinaria calculando o tamanho do objeto, visto que quando ele está mais longe da camera ele se torna menor (no caso a box dele) e quando está mais perto ele se torna maior, mas no caso da rotação, quando o objeto rotaciona não consigo  pensar em  parametros para medir e calcular o angulo de rotação do mesmo, isso é possivel usando o opencv.

    #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 3 anos, 7 meses atrás por Dalton Vargas.
    • Esta resposta foi modificada 3 anos, 7 meses atrás por Dalton Vargas.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Você deve fazer login para responder a este tópico.