digitale_filter_-_bildoperatoren
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
digitale_filter_-_bildoperatoren [2024/01/20 13:40] – [Der selbe Formalismus ein wenig formaler :-)] torsten.roehl | digitale_filter_-_bildoperatoren [2024/01/20 14:35] (aktuell) – [Die Faltung im Detail] torsten.roehl | ||
---|---|---|---|
Zeile 25: | Zeile 25: | ||
|{{ : | |{{ : | ||
| Orginal-Bild (Quelle, I = Input) | | Orginal-Bild (Quelle, I = Input) | ||
- | |Der zu verändernde Bildpunkt befindet sich in der Mitte, umgeben von 8 Nachbarpixeln, | + | |Der zu verändernde Bildpunkt befindet sich in der Mitte, umgeben von 8 Nachbarpixeln, |
Zeile 40: | Zeile 40: | ||
| @orange: lokale Operation | | @orange: lokale Operation | ||
==== Die Faltung im Detail ==== | ==== Die Faltung im Detail ==== | ||
- | Es wird jetzt gezeigt, wie, ausgehend von einem lokalen Bildbereich und einer Maske, ein neuer Bildpunkt berechnet wird. In späteren Abschnitten wird im wesentlichen | + | Es wird jetzt gezeigt, wie, ausgehend von einem lokalen Bildbereich und einer Maske, ein neuer Bildpunkt berechnet wird. In späteren Abschnitten wird im Wesentlichen |
* Der Wert jedes Pixels im Bildbereich wird mit dem entsprechenden Wert der Maske multipliziert. Auf diese Weise ergeben sich 9 Terme. | * Der Wert jedes Pixels im Bildbereich wird mit dem entsprechenden Wert der Maske multipliziert. Auf diese Weise ergeben sich 9 Terme. | ||
Zeile 72: | Zeile 72: | ||
\begin{equation} O(i, | \begin{equation} O(i, | ||
- | Die Formel kann direkt aus dem obigen | + | === Herleitung === |
+ | Die Formel kann direkt aus dem Beispiel hergeleitet werden, indem statt konkreter Zahlen verallgemeinerte Koordinaten und Gewichte verwendet werden. O(i,j) bedeutet, dass der Filter M auf den Bildpunkt mit den Koordinaten i,j angewandt wird. O(i,j) ist der neue Grauwert. Wir beschränken uns hier auf die Auswertung von Graubildern, | ||
Zeile 80: | Zeile 81: | ||
\[ M(x,y) = \begin{pmatrix} m_1 & m_2 & m_3 \\ m_4 & m_5 & m_6 \\ m_7 & m_8 & m_9 \end{pmatrix}\] | \[ M(x,y) = \begin{pmatrix} m_1 & m_2 & m_3 \\ m_4 & m_5 & m_6 \\ m_7 & m_8 & m_9 \end{pmatrix}\] | ||
+ | < | ||
- | * Beispiele für I(x,y) und M(x, | + | * Während I(x,y) relative Angaben enthält, um verschiedene Bildpunkte zu repräsentieren, |
- | I(x,y) = w5 (Wert an der Position x,y) | + | |
- | I(x-1,y-1) = w1 (Wert an der Position x-1,y-1) | + | |
- | M(1,-1) = m3 (Filterwert an der Stelle | + | |
- | M(0,0) = m5 | + | |
- | M(1,1) = m9 | + | |
+ | Wenn I(x,y) =$w_5$ den Wert an der Position x,y repräsentiert dann gilt (auf das Beispiel bezogen): | ||
+ | * I(x,y) = $w_5=5$ //(Wert an der Position x,y)// | ||
+ | * I(x-1,y-1) = $w_1=1$ //(Wert an der Position x-1, | ||
+ | Für die Matrix M gilt dann folgendes: | ||
+ | * $M(1,-1) = m_3=1$ // | ||
+ | * $M(0,0) = m_5=3$ | ||
+ | * $M(1,1) = m_9=1$ | ||
+ | </ | ||
+ | |||
+ | Nach dem obigen Beispiel gilt dann: | ||
+ | |||
+ | \[ \begin{split} O(i,j) = m_1\cdot w_1 + m_2\cdot w_2 + m_3\cdot w_3\\ + m_4\cdot w_4 + m_5\cdot w_5 + m_6\cdot w_6 \\+ m_7\cdot w_7 + m_8\cdot w_8 + m_9\cdot w_9 \end{split} \] | ||
+ | |||
+ | (Die Werte für I werden eingesetzt) | ||
+ | |||
+ | \[ \begin{split} = m_1\cdot I(i-1,j-1) + m_2\cdot I(i,j-1) + m_3\cdot I(i+1,j-1) \\+ m_4 \cdot I(i-1,j) + m_5\cdot I(i,j)+ m_6\cdot I(i+1,j) \\ + m_7\cdot I(i-1,j+1) + m_8\cdot I(i,j+1) + m_9\cdot I(i+1,j+1) \end{split} \] | ||
+ | |||
+ | (Die Werte für M werden eingesetz) | ||
+ | |||
+ | \[ \begin{split} = M(-1,-1) \cdot I(i-1,j-1) + M(0, | ||
+ | |||
+ | (Summenzeichen für die erste Komponente benutzen - Laufvariable heißt x) | ||
+ | |||
+ | \[ \begin{split} = \sum_{x=-1}^1 \{ M(x,-1) \cdot I(i+x, | ||
+ | |||
+ | (Summenzeichen auch für die zweite Komponente benutzen - Laufvariable heißt y) | ||
+ | |||
+ | \[ \begin{split} = \sum_{y=-1}^1 | ||
+ | |||
+ | Das war es, diese Formel ist mit der Eingangsformel identisch. | ||
===== Zusammenfassung ===== | ===== Zusammenfassung ===== | ||
Zeile 93: | Zeile 120: | ||
Um einen digitalen Filter anzuwenden, sind folgende Schritte abzuarbeiten: | Um einen digitalen Filter anzuwenden, sind folgende Schritte abzuarbeiten: | ||
+ | - Ein digitaler 3x3-Filter muss zur Verfügung stehen | ||
+ | - Der Filter wird über ein Bildbereich gelegt (Faltung) und ein neuer Bildpunkt wird berechnet. | ||
+ | * Dieser Bildpunkt wird zwischengespeichert bzw. in ein neues Bild geschrieben. | ||
+ | - Der Filter wird über den nächsten Bildbereich gelegt, sodass der nächste Bildpunkt berechnet werden kann. | ||
- | * Ein digitaler 3x3-Filter muss zur Verfügung stehen | + | Auf diese Weise werden alle neuen Bildpunkte berechnet und in ein neues Bild geschrieben. |
- | * Der Filter wird über ein Bildbereich gelegt (Faltung) und ein neuer Bildpunkt wird berechnet. Dieser Bildpunkt wird zwischengespeichert bzw. in ein neues Bild geschrieben. | + | |
- | * Der Filter wird über den nächsten Bildbereich gelegt, sodass der nächste Bildpunkt berechnet werden kann. Auf diese Weise werden alle neuen Bildpunkte berechnet und in ein neues Bild geschrieben. | + | |
<WRAP center round info 100%> | <WRAP center round info 100%> |
digitale_filter_-_bildoperatoren.1705758030.txt.gz · Zuletzt geändert: 2024/01/20 13:40 von torsten.roehl