Filtr geometrického průměru - Geometric mean filter
The filtr geometrického průměru je proces filtrování obrazu určený k vyhlazení a snížení šumu obrazu.[1] Je založen na matematický geometrický průměr. Výstupní obrázek G (x, y) geometrického průměru je dán vztahem
Kde S (x, y) je původní obrázek a maska filtru je m x n pixelů.
Každý pixel výstupního obrazu v bodě (x, y) je dán součinem pixelů v masce geometrického průměru zvýšenou na sílu 1 / min. Například při použití velikosti masky 3 x 3 bude pixel (x, y) ve výstupním obrazu produktem S (x, y) a všech 8 jeho okolních pixelů zvýšeno na 1/9.
Použití následujícího původního obrázku s pixely (x, y) ve středu:
Dává výsledek: (5 * 16 * 22 * 6 * 3 * 18 * 12 * 3 * 15) ^ (1/9) = 8,77.
aplikace
K odfiltrování se nejčastěji používá filtr geometrického průměru Gaussovský hluk. Obecně to pomůže vyhladit obraz s menší ztrátou dat než u aritmetický průměr filtr.[1]
Příklad kódu
Následující kód ukazuje použití filtru geometrického průměru na obrázek pomocí MATLAB.
1 % Aplikuje filtr geometrického průměru na obrazový vstupní šum, který přidal gaussovský šum 2 3 [m, n] = velikost(input_noise); 4 výstup = nuly(m, n); % výstupní sada obrázků s hodnotami zástupných znaků všech nul 5 val = 1; % proměnná pro uchování nové hodnoty pixelu 6 7 pro i = 2: m - 2% smyčky skrz každý pixel v původním obrázku 8 pro j = 2: n-2% vypočítá geometrický průměr okna 3x3 kolem pixelu 9 p = input_noise(i-1, j-1);10 q = input_noise(i-1, j);11 r = input_noise(i-1, j+1);12 s = input_noise(i, j-1);13 t = input_noise(i, j);14 u = input_noise(i, j+1);15 proti = input_noise(i+1, j-1);16 w = input_noise(i+1, j);17 X = input_noise(i+1, j+1);18 19 val = (p*q*r*s*t*u*proti*w*X) ^ (1/9);20 výstup(i, j) = val; % nastavuje výstupní pixel na vypočítaný geometrický průměr21 val = 1; % reset hodnoty pro další pixel22 konec23 konec


Reference
- ^ A b Gonzalez, Rafael (2002). Digitální zpracování obrazu 3. vydání. Prentice Hall. 232–233. ISBN 0201180758.