Digital Signal Processing Reference
In-Depth Information
6.6.2 Gauß-Filter
6.7 Aufgaben
In der ImageJ-Klasse ij.plugin.filter.GaussianBlur ist ein einfaches Gauß-
Filter implementiert, dessen Radius ( σ ) frei spezifiziert werden kann.
Dieses Gauß-Filter ist naturlich mit separierten Filterkernen implemen-
tiert (s. Abschn. 6.3.3). 4 Hier ist ein Beispiel fur dessen Anwendung:
import ij.plugin.filter.GaussianBlur;
1
...
2
public void run(ImageProcessor I) {
3
GaussianBlur gb = new GaussianBlur();
4
double radius = 2.5;
5
gb.blur(I, radius);
6
}
7
6.6.3 Nichtlineare Filter
Ein kleiner Baukasten von nichtlinearen Filtern ist in der ImageJ-
Klasse ij.plugin.filter.RankFilters indexMedianfilter implementiert, ins-
besondere Minimum-, Maximum- und gewohnliches Medianfilter. Die
Filterregion ist jeweils (annahernd) kreisformig mit frei wahlbarem Ra-
dius. Hier ein entsprechendes Anwendungsbeispiel:
import ij.plugin.filter.RankFilters;
1
...
2
public void run(ImageProcessor I) {
3
RankFilters rf = new RankFilters();
4
double radius = 3.5;
5
rf.rank(I, radius, RankFilters.MIN);
// Minimum Filter
6
// Maximum Filter
rf.rank(I, radius, RankFilters.MAX);
7
// Median Filter
rf.rank(I, radius, RankFilters.MEDIAN);
8
}
9
6.7 Aufgaben
Aufg. 6.1. Erklaren Sie, warum das Custom Filter“ in Adobe Photo-
shop (Abb. 6.6) streng genommen kein lineares Filter ist.
Aufg. 6.2. Berechnen Sie den maximalen und minimalen Ergebniswert
eines linearen Filters mit nachfolgender Filtermatrix H ( i, j )beiAnwen-
dung auf ein 8-Bit-Grauwertbild (mit Pixelwerten im Bereich [0 , 255]).
Gehen Sie zunachst davon aus, dass dabei kein Clamping der Resultate
erfolgt.
4 Zur Implementierung in ImageJ ist anzumerken, dass die in der Methode
blur() generierten Filterkerne relativ zum angegebenen Radius zu klein
dimensioniert werden, und es dadurch zu erheblichen Fehlern kommt.
Search WWH ::




Custom Search