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

Rickson Gomes Monteiro
3 min readFeb 8, 2021

--

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 Melo. 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:

Imagens após aplicação do filtro Gaussiano

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 thresholds 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.

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 sépia, sketch, controle de contraste, saturação, conversão para escala de cinza, 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

Link para projeto no GitHub aqui

Painel da Aplicação

Contatos

Instagram
ricksonencaut@gmail.com
LinkedIN

--

--

Rickson Gomes Monteiro
Rickson Gomes Monteiro

Written by Rickson Gomes Monteiro

Control and Automation Engineering student at CEFET-MG. Enthusiast in the areas of artificial intelligence

No responses yet