home  |  suche  |  kontakt/johner  |  institut 
studierende  |  tech-docs  |  mindmailer 

Festlegung des Strukturelements

Genau wie bei der Erosion, wird zu Beginn ein Strukturelement zur Bestimmung der Nachbarpixel eines Bildpixel festgelegt. Der eigentliche Algorithmus lässt sich mit beliebigen Strukturelementen durchlaufen.

Bildpixel neu berechnen

Für jeden Pixel im Originalbild werden nacheinander die Nachbarpixel, entsprechend dem Strukturelement, ausgewählt. Aus diesen Pixeln, sowie dem Originalpixel wird dann der hellste Pixelwert bestimmt und an die Stelle des ursprünglichen Pixel, in das neue Bild kopiert.

protected BufferedImage dilateImage(BufferedImage image) {
	int w = image.getWidth();
	int h = image.getHeight();
	int[] pixelsIn = FilterHelper.getSingleton().getPixels(image);
	int[] pixelsOut = new int[pixelsIn.length];

	for (int p = 0; p < radius; p++) {
		if (p > 0) {
			pixelsIn = pixelsOut;
			pixelsOut = new int[pixelsIn.length];
		}
		for (int x = 0; x < w; x++) {

			for (int y = 0; y < h; y++) {


				int[] neighbors = getNeighbors(pixelsIn, x, y, w, h);
				int replaceColor = getBrightestColor(neighbors);
				pixelsOut[y * w + x] = replaceColor;

			}
		}

	}
	return FilterHelper.getSingleton().getImage(pixelsOut, w, h, image.getType());
}

Wiederholung

Bis auf die Auswahl des hellsten Pixel, funktioniert der gesamte Algorithmus identisch. Auch bei der Dilatation kann mehrmals iteriert werden.

To view this content, you need to install Java from java.com


>weiter zu Opening