Filtros Suavizacao Pratica
Implementação Prática de Filtros de Suavização
Introdução ao Vídeo
- O professor Cliton dá as boas-vindas aos alunos e apresenta o tema do vídeo, que é a implementação prática dos filtros de suavização na disciplina de Deão Computacional da UTFPR.
- Menciona que a parte teórica já foi abordada em um vídeo anterior e que os materiais para a prática estão disponíveis em uma pasta compactada no Moodle.
Preparação do Ambiente
- O arquivo principal utilizado é chamado "janela principal p ipynb", onde será feita a montagem do Google Drive e o carregamento dos módulos necessários.
- A interface gráfica simples foi criada para exemplificar os conceitos discutidos na aula, permitindo a seleção de imagens armazenadas no Google Drive.
Carregamento e Leitura de Imagens
- O professor explica que, inicialmente, não há função implementada para ler as imagens, mas o código completo está disponível no Moodle.
- Para realizar a leitura das imagens, utiliza-se a biblioteca OpenCV (cv2), que é amplamente utilizada em visão computacional.
Processamento da Imagem
- Ao carregar uma imagem com OpenCV, pode-se usar uma flag chamada "unchanged" para manter as características originais da imagem durante a leitura.
- Se a imagem for colorida (shape maior que dois), ela será convertida do formato BGR (Blue Green Red) para RGB (Red Green Blue).
Verificação e Redimensionamento
- Após implementar a leitura da imagem, o professor verifica se tudo está funcionando corretamente ao abrir uma imagem carregada com sucesso.
- Existe um método específico em "filtros ppy" para redimensionar imagens grandes; ele verifica se a imagem é colorida antes de calcular novas dimensões.
Cálculo do Novo Tamanho
- O novo tamanho da imagem é calculado multiplicando as colunas pela proporção desejada definida na interface gráfica.
- A nova largura e altura são definidas com base nesse cálculo percentual, permitindo ao usuário decidir como deseja redimensionar sua imagem.
Manipulação de Imagens e Filtros em Python
Redimensionamento de Imagens
- O redimensionamento da imagem é realizado com sucesso, utilizando valores padrão de 50. Existe a opção de restaurar a imagem ao tamanho original.
Conversão para Escala de Cinza
- Antes de converter uma imagem colorida para escala de cinza, é importante verificar se a imagem possui mais de duas dimensões (image shape > 2).
- A conversão é feita usando o método
cv2.cvtColor, alterando a flag paraRGB to Greypara realizar a transformação correta.
Aplicação do Filtro da Média
- O filtro da média é aplicado à imagem carregada, utilizando um kernel que pode ser definido pelo usuário (ex: 3x3, 5x5).
- A função
cv2.bluré utilizada para aplicar o filtro, onde o tamanho do kernel deve ser passado como uma tupla.
- Ao testar diferentes tamanhos de kernel (ex: 11x11), observa-se uma suavização das bordas na imagem.
Implementação do Filtro Gaussiano
- O filtro gaussiano também é um filtro linear que utiliza média ponderada, proporcionando um efeito menos intenso que o filtro da média.
- O desvio padrão é inicialmente definido como zero; assim, a função
cv2.GaussianBlurcalcula automaticamente o valor baseado no tamanho do kernel fornecido.
Aplicação do Filtro Mediana
- O filtro mediana utiliza o método
cv2.medianBlur, que requer apenas o valor do kernel sem necessidade de passar uma tupla.
- Um exemplo prático foi feito aplicando um kernel maior (11x11), demonstrando a suavização através deste método.
Considerações Finais sobre Filtros
- Embora não tenham sido inseridos comentários no código durante a apresentação para evitar prolongar o vídeo, todo o código está disponível e comentado no material complementar.
- No próximo vídeo será abordado como os filtros se comportam na remoção de ruídos específicos, como "Sal e Pimenta".