Median Filter auf ein Image anwenden 3x3?
Guten Tag,
ich verstehe folgende Aufgabe in meiner Uni nicht:
Wenden Sie das Median-Filter W2 aus Aufgabe a) auf die Positionen links oben und in der Mitte des Bildes I an. Beachten Sie das Randproblem in geeigneter Weise.
W2= [ 1, 2, 1] I= [ 3, 7, 6]
[ 2, 5, 2] [ 6, 255, 9]
[ 1, 2, 1] [ 5, 7, 12]
Ich hoffe das mir da irgendjemand helfen kann. Weil ich auch im Internet keine wirkliche Lösung gefunden habe.
Danke schonmal im vorraus.
1 Antwort
Aus dem Bild soll ein neues Bild entstehen. Dafür werden mehrere Datenpunkte des Bildes mittels des Filters kombiniert.
Wie genau das hier zu tun ist dürfte davon abhängen, was unter "Media-Filter" zu verstehen ist.
Was genau in dem Bild "links oben" oder "mitte" sein soll, lässt sich nicht aus den gegebenen Informationen erkennen, da das Bild lediglich als eindimensionaler Array von Farben angegeben wurde.
Das dachte ich mir schon. Problem aber: Warum sind das drei Gewichte, obwohl der Filter zweidimensional sein sollte (da sonst die Angaben "links oben "und "in der Mitte" keinen Sinn ergeben).
Zur Anwendung des Filters an und für sich siehe aber:
https://de.wikipedia.org/wiki/Vektor-Medianfilter
Der Gewichtete Median ist das x_j, welches das kleinste Ergebnis für die Summe über die Filterwerte ergibt:
min sum(w_i * norm(x_j - x_i));
w_i sind die gewichte aus der Filtermatrix. x_i sind die Eingangswerte, auf denen der Filter agiert. x_j ist der gesuchte Wert der Eingangswerte, der die Summe minimiert.
Was das Randproblem angeht: Du musst den Filter so setzen, dass das mittlere Gewicht auf dem Datenpunkt liegt, für den du ein Ergebnis haben möchtest. Teile der gewichte können dabei außerhalb des Datensatzes liegen. Du musst für die Teile des Filters außerhalb des Datensatzes sinnvolle Werte annehmen (z.B. alles 0 oder so etwas).
es ist ein gewichteter Median Filter, falls das Hilft.