/Filtros-CV

Aplicação em streamlit para análise de filtros e como alteram uma imagem

Primary LanguagePython

Filtros-CV

Aplicação em streamlit para análise de filtros e como alteram uma imagem

Comparação de Filtros

Esta aplicação foi o primeiro projeto apresentado de forma mais simples na MasterClass de Visão Computacional disponibilizada pelo Carlos Melos. No desenvolvimento do projeto acrescentei algumas controles por slide. O tamanho do Kernel do filtro gaussiano. Dessa forma, foi possivel analisar como as suas dimensão influênciam na suavização causada na imagem, quanto maior o tamanho do kernel, maior o desfoque podemos ver a comparação abaixo:

Original Kernel (9x9) Kernel (15x15)

Acima temos, respectivamente a imagem original, após aplicação do filtro gaussiano com kernel (9x9) e com Kernel (15x15). Vale Ressaltar que foi utilizado o borderType=cv2.BORDER_DEFAULT, em algumas comparações que fiz, percebi que a escolha desse parâmetro gera uma menor conservação de bordas em comparação com cv2.BORDER_CONSTANT, mas melhor que os cv2.BORDER_TRANSPARENT e cv2.BORDER_ISOLATED. O critério que utilizei foi qual dos parâmetros gerariam, uma maior facilidade em distinguir as trocas de cores e elementos em diferentes pontos da imagem após um alto desfoque.

Detector de Bordas

De mesmo modo, criei uma aplicação semelhante para analisar o comportamento do algoritimo Canny para detecção de bordas e como ele se comporta com a variação dos tresholds impostos, bem como com a variação do kernel usado no filtro gaussiano aplicado antes do algoritmo para redução de ruídos. Você pode entender um pouco mais sobre o funcionamento do método neste link. Abaixo temos a imagem após a aplicação do algoritmo

Original Canny

Na imagem acima foram aplicados um kernel (15x15) no filtro gaussiano e borderType=cv2.BORDER_CONSTANT, afim de manter uma maior quantidade de bordas. No tresholding inferior um valor de igual à 30 e o superior igual à 40.

Conclusão

O projeto proposto foi bastante interessante, pude compreender mais sobre o funcionamento de certos filtros, bem como suas utilidades no âmbito da visão computacional. Essa aplicação possui outros filtros como o grayScale, sépia, sketch, controle de contraste, saturação, entre outros. Compilem o código localmente na maquina de vocês (streamlit run main.py) e me digam o que acharam para podermos progredir juntos hahah! Grande Abraço!! Qualquer algo a ser acrescentado, alguma dúvida, bem como críticas serão totalmente bem vindas!;)

Aplicação

Original

Contatos

Instagram
ricksonencaut@gmail.com
LinkedIN