Filtros Realce Pratica

Filtros Realce Pratica

Introdução aos Filtros de Realce em Visão Computacional

Apresentação do Professor Clayton

  • O professor Clayton dá as boas-vindas aos alunos e introduz o tema do vídeo: a implementação prática dos filtros de realce, especificamente os filtros de Sobel e Laplaciano, além da variação High Boost.

Utilização do Colab

  • O professor menciona que está utilizando um Google Colab para as implementações e recomenda assistir ao vídeo anterior sobre como montar o Google Drive para melhor entendimento.

Implementação do Filtro de Sobel

Conversão da Imagem para Escala de Cinza

  • Antes de aplicar o filtro, é necessário converter a imagem colorida para escala de cinza. Se a imagem for colorida, uma nova matriz chamada "Grey image" é criada; caso contrário, a imagem é utilizada diretamente.

Aplicação do Filtro

  • O filtro de Sobel é aplicado nas direções X e Y usando a biblioteca OpenCV. A detecção das bordas ocorre separadamente em cada direção.

Combinação das Bordas

Cálculo da Magnitude do Gradiente

  • As imagens resultantes dos filtros aplicados nas direções X e Y são combinadas através da magnitude do gradiente. Isso envolve somar os quadrados das duas imagens e extrair a raiz quadrada dos valores.

Normalização da Imagem Resultante

  • Os valores obtidos na matriz são normalizados para o intervalo entre 0 e 255 antes de serem convertidos para um formato inteiro adequado (8 bits sem sinal).

Visualização da Imagem com Bordas

Exibição da Imagem Final

  • A imagem resultante, chamada "Edge image", contém apenas as bordas extraídas pelo filtro Sobel. Essa imagem possui um único canal de cor e permite identificar claramente as bordas presentes na imagem original.

Aplicações Futuras das Bordas

Segmentação e Realce

  • As bordas detectadas podem ser utilizadas em etapas posteriores no sistema de visão computacional, como segmentação ou realce. O professor discute como somar os valores dos pixels originais com os valores das bordas pode manter ou alterar esses pixels dependendo dos seus valores iniciais.

Realce de Imagens e Operações com Pixels

Soma de Valores de Pixels

  • A soma de um valor alto (255) com um valor médio (220) resulta em saturação, limitando o pixel a 255. Isso indica que a intensidade do pixel na imagem original se torna ainda mais clara.
  • Quando um pixel escuro (valor 50) é somado a um valor próximo de zero, sua intensidade não muda significativamente. No entanto, ao somar com um valor alto (100), a intensidade aumenta para 150, tornando o pixel mais claro.

Realce das Bordas

  • A soma dos pixels da imagem original com os valores das bordas realça as bordas, aumentando seus valores e contribuindo para uma maior nitidez da imagem.
  • Para realizar essa operação em uma imagem colorida, é necessário garantir que todos os canais estejam alinhados; assim, a imagem em escala de cinza deve ser convertida para RGB.

Operações Aritméticas com OpenCV

  • O método add da biblioteca OpenCV é utilizado para somar os valores dos pixels da imagem original com aqueles da imagem contendo apenas bordas.
  • Após realizar a soma, o resultado é armazenado e exibido na interface gráfica. O filtro aplicado destaca consideravelmente as bordas.

Filtros Laplacianos e Convolução

  • O filtro laplaciano também serve para detectar bordas e pode ser combinado com a imagem original para realçar essas características.
  • Ao utilizar filtros como o laplaciano ou mediana, apenas o tamanho do kernel precisa ser especificado; os coeficientes são geridos internamente pela função utilizada.

Implementação do Filtro Laplaciano

  • Um kernel específico pode ser utilizado manualmente no filtro laplaciano. A convolução é realizada usando a função Filter2D, que aplica o kernel à imagem original.
  • O resultado da convolução gera uma nova imagem focada nas bordas detectadas. Essa saída é então devolvida à interface gráfica para visualização final.

Visualização Final

  • Após aplicar o filtro aguçamento laplaciano e carregar a imagem resultante na interface gráfica, observa-se que as bordas foram acentuadas de maneira significativa.

Realce de Bordas com Filtros Laplacianos

Aplicação do Filtro de Sobel e Laplaciano

  • O filtro de Sobel é utilizado para detectar bordas em uma imagem, onde as bordas são realçadas ao somar os valores da matriz resultante com a imagem original.
  • A imagem utilizada no filtro laplaciano também é colorida, possuindo três canais, diferentemente do filtro de Sobel que foi aplicado em escala de cinza.
  • Ao somar os valores das bordas detectadas com a imagem original, as intensidades nas bordas aumentam, melhorando o contraste entre as bordas e o fundo.

Implementação do Filtro Laplaciano

  • O processo envolve somar as duas imagens (a original e a filtrada), retornando o resultado para a interface gráfica.
  • Após aplicar o filtro laplaciano, observa-se um aumento no ruído ao redor dos objetos na imagem comparado ao filtro de Sobel.

Redução de Ruído

  • Para reduzir o ruído antes da aplicação do filtro laplaciano, recomenda-se usar um filtro de mediana ou outro método de suavização.
  • A aplicação do filtro da mediana antes do laplaciano ajuda a visualizar melhor os detalhes sem tanto ruído.

Comparação com Filtro High Boost

  • O filtro High Boost é uma variação do laplaciano que destaca ainda mais as bordas. Ele utiliza um parâmetro adicional que aumenta a intensidade das bordas quando positivo.
  • Se o parâmetro for negativo, ele terá um efeito inverso. No caso atual, está configurado para ser maior que zero para realçar as bordas.

Resultados e Observações

  • Ao aplicar o filtro High Boost com valor 1, observa-se um destaque muito maior nas bordas em comparação ao laplaciano.
  • O aumento na intensidade dos pixels nas regiões das bordas também altera o contraste geral da imagem.
Video description

Exemplos práticos de filtros de realce implementados em python