Gente, quero aplicar esses filtros numa vídeo em escala de cinza na fonte!
vocês tem alguma dica, ou algum material que possa me ajudar a aplicar o melhor Filtro e Kernel?
O video original esta na aba "Frame"
Gente, quero aplicar esses filtros numa vídeo em escala de cinza na fonte!
vocês tem alguma dica, ou algum material que possa me ajudar a aplicar o melhor Filtro e Kernel?
O video original esta na aba "Frame"
Olá Vitor! Tudo bem?
O desafio da detecção de movimento em imagens noturnas é o ruído (granulação), que acaba sendo interpretado como movimento pelo código (o ruído "vaza" na subtração de frames). É indicado aplicar os filtros em momentos estratégicos do seu pipeline de processamento: suavizar antes da subtração e limpar a "sujeira" depois.
Essa etapa deve ser aplicada no frame atual (frameGray) antes de você fazer a subtração. O objetivo é eliminar o ruído para que ele não seja detectado como movimento.
cv2.GaussianBlur): É o mais comum e recomendado. É usado para reduzir o ruído geral de baixa luminosidade, suavizando o frame. Tente um kernel ímpar como (5, 5) ou (7, 7). frame_suavizado = cv2.GaussianBlur(frameGray, (5, 5), 0)
cv2.medianBlur): Se você notar ruído do tipo "sal e pimenta" (pontos brancos isolados muito fortes). Ele preserva as bordas um pouco melhor.Se o objeto em movimento estiver muito escuro, tente realçá-lo logo após converter para tons de cinza.
cv2.equalizeHist): Distribui a intensidade dos pixels, aumentando o contraste em áreas escuras.Use essa técnica para eliminar os pontinhos de ruído que sobraram na sua máscara de movimento.
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (3, 3))
mask_limpa = cv2.morphologyEx(mask_binaria, cv2.MORPH_OPEN, kernel)
# Use 'mask_limpa' para encontrar os contornos
Espero ter ajudado.
Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!