Filtros Espaciais & Convoluções 2D (SpatialFilters.cs)
Diferente das operações pontuais, a Filtragem Espacial calcula o novo valor de um pixel considerando a vizinhança de pontos ao seu redor (geralmente uma janela de ou pixels).
O arquivo SpatialFilters.cs reúne os operadores lineares e de ordenação.
1. O que é uma Convolução 2D?
Seção intitulada “1. O que é uma Convolução 2D?”A Analogia da Lupa de Mistura:
Seção intitulada “A Analogia da Lupa de Mistura:”Imagine colocar uma pequena lupa de quadradinhos sobre a imagem. A lupa lê a cor dos 9 pixels vizinhos, multiplica cada um pelo peso indicado na matriz (Kernel) e soma tudo para descobrir a cor do quadradinho central:
Janela da Imagem: Kernel K (3x3):[ p00 p01 p02 ] [ w00 w01 w02 ][ p10 p11 p12 ] * [ w10 w11 w12 ][ p20 p21 p22 ] [ w20 w21 w22 ]
Novo Pixel Central = (p00*w00 + p01*w01 + ... + p22*w22) / Divisor + Bias2. Filtro da Média (Box Blur)
Seção intitulada “2. Filtro da Média (Box Blur)”Substitui cada ponto pela média aritmética simples dos seus vizinhos:
3. Filtro Gaussiano 2D (Gaussian Blur)
Seção intitulada “3. Filtro Gaussiano 2D (Gaussian Blur)”O filtro Gaussiano dá mais importância ao pixel central e diminui o peso suavemente conforme nos afastamos, seguindo a Curva de Sino Normal 2D:
Matriz Gaussiana Discreta :
Seção intitulada “Matriz Gaussiana Discreta 3×33 \times 33×3:”4. Máscara de Desfoque & Nitidez (Unsharp Masking)
Seção intitulada “4. Máscara de Desfoque & Nitidez (Unsharp Masking)”Como Deixar uma Imagem Mais Nítida?
Seção intitulada “Como Deixar uma Imagem Mais Nítida?”- Desfocamos uma cópia da imagem original com o Filtro Gaussiano.
- Subtraímos a cópia borrada da imagem original para isolar apenas os contornos finos:
- Somamos esses contornos de volta com um fator de ganho :
5. Filtro da Mediana (Eliminação de Ruído Sal & Pimenta)
Seção intitulada “5. Filtro da Mediana (Eliminação de Ruído Sal & Pimenta)”A Analogia da Votação Democrática:
Seção intitulada “A Analogia da Votação Democrática:”Quando a imagem tem pontinhos brancos ou pretos aleatórios (ruído Sal & Pimenta), a média borra o defeito. O Filtro da Mediana faz algo mais inteligente:
- Pega os 9 números da vizinhança;
- Organiza em ordem crescente (
Array.Sort); - Escolhe o número que ficou exatamente no meio (o 5º número).
Vizinhanca com Ruido Branco (255): [12, 14, 15, 13, 255, 14, 15, 12, 13]Valores Ordenados: [12, 12, 13, 13, 14, 14, 15, 15, 255] ^ Mediana = 14 (Ruido eliminado!)Próximo Passo: Explore os Operadores de Gradiente e o Algoritmo Canny de 5 Etapas.