Klausur WS09 Aufgabe 7. Filter

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Klausur WS09 Aufgabe 7. Filter
ich habe die Filtermaske G = ¼*[(1,-2,1);(1,-4,2);(1,-2,1)
und soll eine 5x5 Matrix Filtern dabei sollen deren Randpunkte nicht berechnet werden.

Input ist: (12 8 4 8 12);
(16 12 8 8 12);
(20 16 12 12 12);
(16 12 8 8 12);
(12 8 4 8 12)

ich verstehe leider nicht wie ich auf das Ergebnis der diskreten Faltung komme da keine Zwischenergebnisse angegeben sind.

vielen Dank


Der Kernel ist ungerade. Deswegen gibt es einen Mittelpunkt. Da die Randpixel nicht beachtet werden sollen, fängst du damit an, den Filter so auf die Matrix zu legen, dass er oben links bündig abschließt.
Jetzt multiplizierst du alle Werte von “Input” mit dem überlagernden Wert im Kernel. z.B: (1/4) * 12 für den Wert in der linken oberen Ecke. Nachdem du das auch mit den anderen 8 Werte gemacht hast, bildest die die Summe der 9 Teilergebnisse und schreibst den gefilterten Wert in eine neue Matrix an die Stelle, die mit dem Mittelpunkt des Kernels überlagert wurde.

Das ganze nochmal als Formel für diesen einen Schritt:
Ergebnis_{1,1} = Input_{0,0} * Kernel_{0,0} + Input_{0,1} * Kernel_{0,1} + … + Input_{2,2} * Kernel_{2,2}

und für den nächsten Schritt(Pixel):
Ergebnis_{1,2} = Input_{0,1} * Kernel_{0,0} + Input_{0,2} * Kernel_{0,1} + … + Input_{2,3} * Kernel_{2,2}

Die Ergebnismatrix(Bild) hat dann folgende Form:
(0 0 0 0 0);
(0 * * * 0);
(0 * * * 0);
(0 * * * 0);
(0 0 0 0 0);


Ok vielen vielen Dank habs jetzt verstanden und die plötzlich stimmen die Ergebnisse :smiley: :slight_smile: