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