Digital Signal Processing Reference
In-Depth Information
BinaryProcessor
10.5 Implementierung
morphologischer Filter
Daneben bietet die Klasse BinaryProcessor (eine Unterklasse von
ByteProcessor ) mit den Methoden
void outline()
void skeletonize()
spezielle morphologische Operationen, die ausschließlich fur Binarbilder
definiert sind. Die Methode outline() implementiert die Extraktion
von Randern mit dem Strukturelement einer 8er-Nachbarschaft, wie in
Abschn. 10.2.7 beschrieben.
Die in der Methode skeletonize() implementierte Operation be-
zeichnet man als Thinning“, das ist eine iterative Erosion, mit der
Strukturen auf eine Dicke von 1 Pixel reduziert werden, ohne sie da-
bei in mehrere Teile zu zerlegen. Dabei muss, abhangig vom aktuellen
Bildinhalt innerhalb der Filterregion (ublicherweise von der Große 3 × 3),
jeweils entschieden werden, ob tatsachlich eine Erosion durchgefuhrt wer-
den soll oder nicht. Die Operation erfolgt in mehreren Durchlaufen so
lange, bis sich im Ergebnis keine Anderungen mehr ergeben (s. beispiels-
weise [30, S. 535], [48, S. 517]). Die konkrete Implementierung in ImageJ
basiert auf einem e zienten Algorithmus von Zhang und Suen [91]. Ab-
bildung 10.23 zeigt ein Beispiel fur die Anwendung von skeletonize() .
Die Verwendung der Methoden outline() und skeletonize() setzt
ein Objekt der Klasse BinaryProcessor voraus, das wiederum nur aus
einem bestehenden ByteProcessor erzeugt werden kann. Dabei wird an-
genommen, dass das ursprungliche Bild nur Werte mit 0 (Hintergrund)
und 255 (Vordergrund) enthalt. Das nachfolgende Beispiel zeigt den Ein-
satz von outline() innerhalb der run() -Methode eines ImageJ-Plugins:
1 import ij.process.*;
2 ...
3
4
public void run(ImageProcessor ip) {
BinaryProcessor bp
5
= new BinaryProcessor((ByteProcessor)ip);
6
bp.outline();
7
8 }
Der neue BinaryProcessor bp legt ubrigens keine eigenen Bilddaten an,
sondern verweist lediglich auf die Bilddaten des ursprunglichen Bilds ip ,
sodass jede Veranderung von bp (z. B. durch den Aufruf von outline() )
gleichzeitig auch ip betrifft.
Weitere morphologische Filter
Neben den in ImageJ direkt implementierten Methoden sind einzelne
Plugins und ganze Packages fur spezielle morphologische Filter online 4
4 http://rsb.info.nih.gov/ij/plugins
Search WWH ::




Custom Search