Olá, Vanessa! Tudo bem com você?
Atualmente, a linha ROI é definida como uma linha horizontal com a função cv2.line()
, que recebe como parâmetros o frame e dois pontos que definem a linha. Os pontos são definidos por coordenadas (x, y), sendo (25, linha_ROI) o ponto de início e (1200, linha_ROI) o ponto final. Como a coordenada y (linha_ROI) é a mesma para ambos os pontos, isso resulta em uma linha horizontal.
Para criar uma linha inclinada, você pode alterar as coordenadas y dos pontos de início e fim. Por exemplo, se você quiser uma linha inclinada para a direita, você pode aumentar o valor de y no ponto final. Veja como ficaria:
cv2.line(frame, (25, linha_ROI), (1200, linha_ROI + 200), (0, 127, 255), 3)
Neste caso, a linha começará no mesmo ponto, mas terminará 200 pixels abaixo no eixo y, criando uma inclinação.
Você também precisará ajustar a condição dentro da função set_info(detec)
para refletir a mudança na linha ROI. Atualmente, a condição verifica se a coordenada y do centroide do carro está num intervalo em torno da linha ROI. Com uma linha inclinada, você pode precisar de uma condição mais complexa que leve em conta tanto x quanto y.
Espero que essa dica possa lhe ajudar e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.