Responder a: Linhas delimitadoras

#37187
Dalton Vargas
Moderador

    Olá Pedro!

    Cada linha é definida usando 2 pontos de coordenadas, o ponto onde a linha irá iniciar e o ponto onde a linha irá terminar. O ponto inicial são as coordenadas representadas como tuplas de dois valores, ou seja, valor da coordenada X , valor da coordenada Y. Para o ponto final também são coordenadas X e Y.

    Para traçar linhas na vertical, basta passar as coordenadas dos pontos na vertical.

    Por exemplo usando a função cv2.line() desenhe uma linha do ponto A(x1, y1) ao ponto B(x2, y2), onde A e B representam quaisquer dois pontos na imagem. Olhe para o canto superior esquerdo da imagem, você encontrará a origem do sistema de coordenadas xy.

    • O eixo x representa a direção horizontal ou as colunas da imagem.
    • O eixo y representa a direção vertical ou as linhas da imagem.

    O primeiro parâmetro que devemos alimentar na função é a imagem na qual queremos desenhá-la.

    O segundo parâmetro que devemos especificar é onde a linha começa. Isso é especificado através do atributo pt1 (representando o ponto 1). Queremos que nossa linha, neste exemplo, comece no ponto (100.300).

    O terceiro parâmetro que devemos especificar é onde a linha termina. Isso é especificado através do atributo pt2 (representando o ponto 2). Neste exemplo, queremos que nossa linha termine em (400.300). Isso resulta em um comprimento horizontal de 300.

    Exemplo

    Agora que você tem as linhas delimitadoras na vertical, então precisa adaptar o algoritmo para analisar os movimentos que transitam verticalmente, ou seja, que se movem da esquerda para a direita ou vice-versa. Por exemplo se o objeto estiver se movendo da direira para a esquerda, quando ele cruzar a linha limite de saída você pode considerar como parâmetro a coordenada y do objeto detectado para definir quando ele cruzou a linha (quando um objeto se move na vertical, da direita para a esquerda, o valor da coordenada y vai diminuindo, já se o movimento for ao contrário então o valor da coordenada y do objeto detectado vai aumentando).

    • Esta resposta foi modificada 1 ano, 6 meses atrás por Dalton Vargas.