Home › Fóruns › Fórum Rastreamento de Objetos com Python e OpenCV › Detecção ao entrar no ROI
- Este tópico contém 4 respostas, 2 vozes e foi atualizado pela última vez 4 anos, 8 meses atrás por
Jones Granatyr.
- AutorPosts
- 1 de agosto de 2020 às 04:33 #19172
Em um projeto de um veiculo sobre trilhos, o qual eu quero identificar quando um pedestre passa na frente dos trilhos, eu consigo criar um ROI fixo de uma determinada área (visto que esta sobre trilhos eu poderia manter fixo) e se alguem entrar nessa área eu ter uma ação? Fiquei com dúvida se é possivel pré definir o ROI sem ter que abrir o video e selecionar com o mouse
1 de agosto de 2020 às 12:17 #19181Olá Guilherme!
Sim, você pode deixar o ROI estático, apenas inicializando a variável bbox nas posições de x, y, l, a da área de interesse na imagem que você definiu.
Segue exemplo:
bbox = (287, 23, 86, 320)
Espero ter ajudado, fico a disposição!
2 de agosto de 2020 às 23:47 #19225Olá,
Selecionando essa região de interesse é possivel tomar alguma ação caso algum objeto entre nela? Ou a região de interesse seria mais para especificar o que deve ser rastreado?
3 de agosto de 2020 às 07:43 #19226Sim, na verdade é possível fazer as duas coisas que você mencionou.
- A resposta anterior é sobre inicializar o rastreamento passando uma posição pré-definida, sem precisar selecionar com o mouse, conforme você havia questionado;
- Sobre especificar a ROI para “executar alguma ação caso algum objeto entre nela”, por exemplo, usar a detecção de uma pessoa somente em determinada área do vídeo, funciona assim:
- Dentro da estrutura de repetição while, após inicializar a captura do vídeo (ret, frame = cap.read()), você pode definir a ROI assim:
- roi = frame[100:300, 400:600]
- Também pode desenhar um retângulo para marcar as posições da ROI:
- cv2.rectangle(frame, (400, 100), (600, 300), (158, 158, 158), 1)
- Ai é só passar a variável roi como parâmetro para o detector de objetos, segue exemplo:
- deteccao = fullbody_cascade.detectMultiScale(roi, 1.08, 1, minSize=(80,80))
- Dentro da estrutura de repetição while, após inicializar a captura do vídeo (ret, frame = cap.read()), você pode definir a ROI assim:
- Esta resposta foi modificada 4 anos, 8 meses atrás por
Dalton Vargas.
3 de agosto de 2020 às 17:19 #19248Excelente, muito obrigado! Vou tentar!
- AutorPosts
- Você deve fazer login para responder a este tópico.