Bildverbesserung
Bildverbesserung
Bildverbesserung
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Bildverbesserung</strong><br />
Punkt- und Maskenoperationen<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
<strong>Bildverbesserung</strong><br />
Untenstehendes Bild wurde in zwei Stufen bearbeitet:<br />
1. Kontrastanhebung (Intensitätstransformation)<br />
2. Entfernung der Störungen (Maskenoperation)<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
<strong>Bildverbesserung</strong><br />
• Intensitätstransformationen oder<br />
Punktoperationen<br />
– Threshold<br />
– Fensterung<br />
– Skalierung<br />
– Histogramm-Operationen<br />
• Maskenoperationen<br />
– Glättung<br />
– Kantenverstärkung<br />
– Statistische Filter<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Punktoperation<br />
• Jedem Bildpunkt wird ein neuer Grauwert<br />
zugeordnet, d.h. aus dem Bild R wird ein neues Bild<br />
S errechnet.<br />
{ r | i = 1..<br />
N}<br />
, S = { s | i = 1..<br />
N}<br />
R =<br />
i<br />
f : R → S<br />
s = T ( r )<br />
i<br />
i<br />
i<br />
• Für jeden Bildpunkt muss eine eindeutige Zuordnung<br />
existieren.<br />
• Der neue Grauwert wird nur aufgrund des alten<br />
bestimmt.<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Darstellung der Punktoperation<br />
s i<br />
T(r i)<br />
r i<br />
Alle Bildpukte werden<br />
entsprechend s i=T(r i)<br />
transformiert.<br />
Im Graph werden unten<br />
die Grauwerte des Bildes R<br />
aufgetragen, die transformierten<br />
Werte werden<br />
an der orangen Linie<br />
abgelesen.<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Einfache Intensitätstransformation:<br />
Kontrastumkehr<br />
s = max(<br />
R)<br />
−<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder<br />
i<br />
r<br />
i
Beispiele für<br />
Intensitätstransformatonen<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Double<br />
Thresholding<br />
Window<br />
Formel?<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Kompression des<br />
Dynamikbereiches<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Fensterung<br />
Grauwerte werden auf ein Intervall [r w1,r w2] verteilt.<br />
Werte kleiner r w1 werden auf s min transformiert.<br />
Werte größer r w2 werden auf s max transformiert.<br />
⎧<br />
⎪s<br />
T ( r)<br />
= ⎨<br />
⎪ r<br />
⎪⎩<br />
max<br />
w2<br />
s<br />
− s<br />
− rw1<br />
s<br />
min<br />
min<br />
max<br />
( r − r<br />
w1<br />
)<br />
s max<br />
r<br />
w1<br />
r<br />
r<br />
smin rw1 ≤<br />
<<br />
w2<br />
r<br />
r<br />
≤<br />
w1<br />
<<br />
r<br />
r<br />
w2<br />
r w2<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Selektive<br />
Dehnung des<br />
Kontrasts<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Histogramm<br />
• Das Histogramm stellt die Häufigkeitsverteilung der<br />
Grauwerte im Bild dar<br />
• n i ist die Anzahl der Pixel mit Grauwert r i<br />
n<br />
n i<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder<br />
r<br />
∑<br />
i<br />
n<br />
i<br />
n<br />
M<br />
=<br />
M<br />
∑<br />
i = ∑<br />
i i<br />
p<br />
i<br />
= 1
Histogramme<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Histogramm: Kenngrößen<br />
MW<br />
N<br />
=<br />
1<br />
M<br />
M<br />
K<br />
∑xi= ∑<br />
i=<br />
1 k = 1<br />
p<br />
k<br />
x<br />
k<br />
STD<br />
=<br />
M=Anzahl der Pixel K=Anzahl der Grauwerte<br />
Mittelwert<br />
2<br />
∑( xi<br />
− MW ) = ∑ pk<br />
( xk<br />
−<br />
M k<br />
Standardabweichung<br />
Grauwert<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder<br />
1<br />
M<br />
MW )<br />
2
Selektive Kontrastverstärkung<br />
• Intensitätstransformation s=T(r) abhängig vom<br />
Histogramm<br />
• Benachbarte Werte im Histogramm => geringer<br />
Kontrast im Bild R => hohe Steigung von T(r) =><br />
hoher Kontrast im Bild S<br />
N<br />
N i<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder<br />
s<br />
r
Bedingungen für Intensitätstrafo T(r)<br />
• Eindeutigkeit<br />
– monoton steigend<br />
• Begrenztheit<br />
– z.B T(r) < 1<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Histogramm Einebnung<br />
• Nichtlineare Intensitätstransformation<br />
• Kontrastanpassung aufgrund der<br />
Häufigkeitsverteilung der Pixel<br />
– Berechnung des Histogramms h(r) über das Bild I<br />
– Normierung von h(r) auf Wahrscheinlichkeiten p(r)=h(r)/N;<br />
N=Anzahl der Pixel<br />
– Bildung des kumulativen Histogramms<br />
s = T(<br />
r)<br />
=<br />
r<br />
∑<br />
i=<br />
1<br />
p(<br />
i)<br />
– Erfüllt Bedingungen für Intensitätstrafo<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Global Histrogram Equalisation<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Histogram-Equalisation<br />
Anpassung an<br />
eine vordefinierteVerteilungsfunktion<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Lokale<br />
Histogramm<br />
Einebnung<br />
•Verschieben<br />
einer Maske<br />
•lokale Auswertung<br />
der<br />
Histogramme<br />
•->Kleine<br />
Strukturen<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Beispiele: Lunge<br />
native weißes-Rauschen Salt&Pepper-Rauschen<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Histogramm-Einebnung<br />
in out<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Thresholding<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Windowing<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Fensterung, Intensity Stretching<br />
Weichteilfenster Knochenfenster<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Masken-Operationen<br />
Vorlesung FH-Hagenberg<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Enhancement: f e=T(f)<br />
Maske wird über<br />
das Bild<br />
geschoben.<br />
Zentraler Punkt<br />
wird als Funktion<br />
der Nachbarn<br />
verändert<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Pseudo-Code<br />
for i=1:N-ki % N,M image size<br />
for j=1:M-kj<br />
val=0;<br />
for k=1:ki % ki,kj kernel size<br />
for l=1:kj<br />
val=val+img(i+k-1,j+l-1)*kernel(k,l);<br />
end<br />
end<br />
imgfilt(i+(ki-1)/2,j+(kj-1)/2)=val;<br />
end<br />
end<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Randprobleme<br />
Rand-<br />
Zone<br />
effektive-<br />
Zone<br />
Maske<br />
Bildmatrix<br />
1. Randzone „0“ setzen<br />
2. Randzone aus „Original“ übernehmen<br />
3. Bild erweitern -> Maske auch in Randzonen aktiv<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Filterfamilien<br />
• Tiefpassfilter<br />
– glätten, hohe Frequenzen werden geschwächt,<br />
niedrige passieren den Filter<br />
–SummeKernel-Elemente =1<br />
• Hochpassfilter<br />
– Verstärkung der Kanten<br />
–SummeKernelelemente = 0<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
• Mittelwertfilter<br />
• Tiefpass<br />
1/9 1/9 1/9<br />
1/9 1/9 1/9<br />
1/9 1/9 1/9<br />
k(<br />
r,<br />
s)<br />
= n*<br />
e<br />
0.01 0.08 0.01<br />
0.08 0.61 0.08<br />
0.01 0.08 0.01<br />
−<br />
r<br />
2<br />
s<br />
2<br />
einfachster Glättungsfilter<br />
s definiert Wirkungsbreite<br />
des Filters<br />
s groß -> Kernel groß -><br />
starke Glättung, langsam<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Tiefpaß-Filter<br />
Weichteilfenster Maske 3x3<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Tiefpaß-Filter<br />
Knochenfenster Maske 3x3<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Tiefpaß-Filter: Maskengröße<br />
3x3 7x7<br />
3x9<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Gradientenfilter<br />
• Verstärkung der Kanten<br />
• starke Intensitätsschwankungen -> Kanten<br />
• -> hohe erste Ableitung (1D)<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Gradient<br />
• Gradient zeigt in Richtung des stärksten Anstieges<br />
• Länge gibt Stärke der Steigung an<br />
• Normal an Tangente der Höhenschichtlinien<br />
Tangente<br />
Gradient<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Digitale Signal & Bildverarbeitung Werner Backfrieder<br />
Gradient-Implementierung<br />
[ ]<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
+<br />
−<br />
+<br />
=<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
∆<br />
∆<br />
≈<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
∂<br />
∂<br />
=<br />
)<br />
,<br />
(<br />
)<br />
1<br />
,<br />
(<br />
)<br />
,<br />
(<br />
)<br />
,<br />
1<br />
(<br />
)<br />
,<br />
(<br />
)<br />
,<br />
(<br />
)<br />
,<br />
(<br />
)<br />
,<br />
(<br />
)<br />
,<br />
(<br />
y<br />
x<br />
f<br />
y<br />
x<br />
f<br />
y<br />
x<br />
f<br />
y<br />
x<br />
f<br />
y<br />
x<br />
f<br />
y<br />
x<br />
f<br />
y<br />
x<br />
f<br />
y<br />
x<br />
f<br />
y<br />
x<br />
f<br />
grad<br />
y<br />
x<br />
y<br />
x<br />
Gradientenfilter berechnet Stärke des Gradienten=Betrag<br />
)<br />
,<br />
(<br />
)<br />
1<br />
,<br />
(<br />
)<br />
,<br />
(<br />
)<br />
,<br />
1<br />
(<br />
2<br />
2<br />
y<br />
x<br />
f<br />
y<br />
x<br />
f<br />
y<br />
x<br />
f<br />
y<br />
x<br />
f<br />
g<br />
g<br />
g<br />
g<br />
g x<br />
x<br />
y<br />
x<br />
−<br />
+<br />
+<br />
−<br />
+<br />
⇒<br />
+<br />
≈<br />
+<br />
=<br />
r
Gradientenfilter<br />
nativ Gradient<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Unsharpen Filter<br />
• Hochpass Filter<br />
• Zusammengesetzter Filter<br />
– Differenz aus Tiefpass-Filter und originalem Bild<br />
– Verschmierungen an Ecken bilden Differenzen<br />
minus<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Unsharpen-Filter<br />
nativ Maske 9x9<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Unsharpen-Enhanced Filter<br />
nativ Gradient<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Sobbel-Filter<br />
nativ Maske 5x5<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Sobbel-Enhanced<br />
Sobbel enhanced<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Median Filter<br />
• Nicht-linearer Filter<br />
• Zum korrigieren von „Ausreißern“<br />
• Salt & Pepper Noise<br />
– Pixel innerhalb der Maske werden sortiert<br />
– Der mittlere Wert (median) ersetzt das Pixel<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Median-Filter<br />
sortieren<br />
Median<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Median<br />
Filter<br />
Steigungen bleiben erhalten<br />
Filter<br />
Spitzen werden abgeflacht<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Median-Filter<br />
Salt&Pepper Noise Median 3x3<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Rank-Filter<br />
• Methode ähnlich dem Medianfilter<br />
• Filterwert ist Minimum oder Maximum<br />
• Es kann auch jede beliebige Position als<br />
Filterwert verwendet werden<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Rank-Filter<br />
nativ Maske 7x7, Rank=1<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder