Filtros Suavizacao Pratica

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 para RGB to Grey para 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.GaussianBlur calcula 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".
Video description

Exemplos práticos de filtros de suavização utilizando Python