Median Filter auf ein Image anwenden 3x3?

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.


xThomas1999x 
Beitragsersteller
 10.11.2024, 16:52

es ist ein gewichteter Median Filter, falls das Hilft.

Destranix  11.11.2024, 09:50
@xThomas1999x

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).