Forum: Digitale Signalverarbeitung / DSP / Machine Learning Randwertebehandlung bei Filterung


von JBK (Gast)


Lesenswert?

Bei der Glättung eines Datensatzes komme ich zu dem Problem, dass die 
Taps der Filter an den Rändern ins Leere greifen. Wie löst man das 
Problem?

Vom Prinzip her sieht es für ein TAP5 ja so aus:

A   B   C   D   E   F   G   H   I   J   K   L   M

X   X  A-E B-F C-G   .....             H-M  X   X

Ein einstufiges Filter würde so an beiden Rändern für (N-1)/2 keine 
Werte zeigen, bzw bei der Fütterung mit Nullen geglättete / geschätze 
Werte.

Ein zweistufiges Filter schleppt aber die gefälschten Informationen 
schon in (N-1) Pixel und so fort

Wie wird das gemacht?

Randpixel weglassen und Sonderfilterverschrift, also Fallunterscheidung, 
oder Fütten mit Dummies? - Wie?

von Hans (Gast)


Lesenswert?

JBK schrieb:
> Fütten mit Dummies?

Da wirst Du immer "gefälschte" Informationen haben, egal, wie du es 
anstellst. Ich würde sagen, man muss den Filter so auslegen, dass er die 
Daten am Rand anders behandelt.

Die Frage stellt sich z.B. bei der Bildverarbeitung.

von JBK (Gast)


Lesenswert?

Hans schrieb:
> man muss den Filter so auslegen, dass er die
> Daten am Rand anders behandelt.

Was bedeutet, dass man mehrere Filtervorschriften braucht. Der Filter 
ragt ja je nach Bearbeitungsposition mehr und mehr über den Rand hinaus.

von Max G. (l0wside) Benutzerseite


Lesenswert?

JBK schrieb:
> Hans schrieb:
>> man muss den Filter so auslegen, dass er die
>> Daten am Rand anders behandelt.
>
> Was bedeutet, dass man mehrere Filtervorschriften braucht. Der Filter
> ragt ja je nach Bearbeitungsposition mehr und mehr über den Rand hinaus.

Eine Möglichkeit wäre, die Daten in Randnähe zu spiegeln und das 
Ergebnis als Eingang des Filters zu nehmen. Eine zweite Möglichkeit, 
dass das Filterergebnis einfach kleiner als das Ausgangsbild wird.

Insgesamt scheint es mir deutlich sinnvoller, das Ausgangsmaterial zu 
modifizieren, als lauter Filtervarianten für Einzelfälle zu generieren. 
Spätestens in den Ecken wird es dann richtig unübersichtlich.

Max

von JBK (Gast)


Lesenswert?

Wie wird es denn bei einem TV-Bild gemacht, wenn z.B. geschärft wird?

von O.H. (Gast)


Lesenswert?

Gute Frage. Wer weiss da etwas oder kann Literatur benennen?

von Hagen R. (hagen)


Lesenswert?

logisch betrachtet würde ich bei einem Schärfefilter davon ausgehen das 
man das Bild am Rand virtuell um die Breite (-1 Pixel) der Schärfematrix 
erweitert und mit Grauwerten gleichmäßig auffüllt. Das sollte einen 
Schärfefilter überhaupt nicht stören da dieser nur dort schärfen/glätten 
kann wo das Bild nicht gleichmäßig gefüllt ist. Nach der Filterung 
schneidet man diesen virtuellen Rand wieder ab.

Geuß Hagen

von Weihnachtsmann (Gast)


Lesenswert?

Ich bin nicht sicher, ob das stimmt. Das Schärfefilter agiert ja in alle 
Richtungen, erhöht also den Zentralwert nach Massgabe beider Gradienten. 
Wenn man Grauwerte einspeist, bekommt der Filter keine Information, was 
sicher nicht falsch ist, jedoch kann man dann den Rand auch gleich 
weglassen. Bei anderen Filtern, wie dem Median oder Mittelwert würde es 
überdie versagen und der sich einstellende Wert verflachen.

Die einzige Möglichkeit, ein Bild bei Unkenntnis des realen Inhalts 
fortzusetzen, ist eine geeignete Extrapolation unter Berücksichtigung 
der existenten Kantenverläufe. Also Kanten detektiren und an den 
Randpunkten spiegel, um sie als Strahl fortzusetzen. Das kommt einen 
Auslaufen des Filters zum Rand hin gleich.

von Thomas (Gast)


Lesenswert?

Das Zauberwort heißt "padding".
Google mal nach: padding image processing
Es gibt da verschiedene Methoden.

von Jaromir (Gast)


Lesenswert?

"padding" ist ja nur "Auffüllen". Richtig interessant ist die Generation 
von neuen Signalanteilen, die die fehlenden ersetzen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.