Table Of ContentAlfred Nischwitz | Max Fischer | Peter Haberäcker | Gudrun Socher
Computergrafik und Bildverarbeitung
Alfred Nischwitz | Max Fischer
Peter Haberäcker | Gudrun Socher
Computergrafik und
Bildverarbeitung
Band II: Bildverarbeitung
3., neu bearbeitete Auflage
Mit 268 Abbildungen
STUDIUM
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der
Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über
<http://dnb.d-nb.de> abrufbar.
Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgend -
einer Art verbunden. Der Autor übernimmt infolgedessen keine Verantwortung und wird keine daraus
folgende oder sonstige Haftung übernehmen, die auf irgendeine Art aus der Benutzung dieses
Programm-Materials oder Teilen davon entsteht.
Höchste inhaltliche und technische Qualität unserer Produkte ist unser Ziel. Bei der Produktion und
Auslieferung unserer Bücher wollen wir die Umwelt schonen: Dieses Buch ist auf säuref reiem und
chlorfrei gebleichtem Papier gedruckt. Die Einschweißfolie besteht aus Polyäthylen und damit aus
organischen Grundstoffen, die weder bei der Herstellung noch bei der Ver brennung Schadstoffe
freisetzen.
1. Auflage 2004
Diese Auflage erschien unter dem Titel „Masterkurs Computergrafik und Bildverarbeitung“
2., verbesserte und erweiterte Auflage 2006
3. Auflage 2011
Ab der 3. Auflage erscheint das Buch in zwei Bänden
Alle Rechte vorbehalten
© Vieweg+Teubner Verlag|Springer Fachmedien Wiesbaden GmbH 2011
Lektorat: Christel Roß | Maren Mithöfer
Vieweg+Teubner Verlag ist eine Marke von Springer Fachmedien.
Springer Fachmedien ist Teil der Fachverlagsgruppe Springer Science+Business Media.
www.viewegteubner.de
Das Werk einschließlich aller seiner Teile ist urheberrechtlich ge schützt. Jede
Verwertung außerhalb der engen Grenzen des Ur heber rechts ge set zes ist ohne
Zustimmung des Verlags unzuläs sig und straf bar. Das gilt ins be sondere für
Vervielfältigungen, Über setzun gen, Mikro verfil mungen und die Ein speiche rung
und Ver ar beitung in elek tro nischen Syste men.
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk
berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im
Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher
von jedermann benutzt werden dürften.
Umschlaggestaltung: KünkelLopka Medienentwicklung, Heidelberg
Druck und buchbinderische Verarbeitung: AZ Druck und Datentechnik, Berlin
Gedruckt auf säurefreiem und chlorfrei gebleichtem Papier
Printed in Germany
ISBN 978-3-8348-1712-9
Vorwort zur 3. Auflage
Wir freuen uns, dass wir als vierte Co-Autorin fu¨r die Weiterentwicklung dieses Buchs
unsereKolleginProf.Dr.GudrunSochergewinnenkonnten.SiehatsichinersterLinieim
Bildverarbeitungsteil eingebracht und dort fu¨r frischen Wind gesorgt.
Mit der 3. Auflage wurde das Format dieses Werkes grundlegend ge¨andert: es wurde in
zwei B¨ande aufgeteilt. Dies ist der Tatsache geschuldet, dass das Buch ansonsten deutlich
u¨ber1000Seitenstarkgewordenw¨are.Somith¨attederVerkaufspreisinRegionenvordrin-
gen mu¨ssen, bei dem der Verlag davon ausging, dass er fu¨r Kunden eine zu hohe Schwelle
fu¨r eine Kaufentscheidung darstellen wu¨rde. Außerdem sind Bu¨cher mit u¨ber 1000 Seiten
auch nicht mehr besonders handlich. Die Grundidee dieses Werkes, n¨amlich dem engen
Zusammenhang zwischen Computergrafik und Bildverarbeitung (siehe Kapitel 2) dadurch
Rechnungzutragen,dassmanbeideBereicheineinemWerkdarstellt,trittdurchdieAuf-
teilung in zwei B¨ande zwar wieder etwas in den Hintergrund. Um diese Grundidee jedoch
im Bewusstsein zu halten, bleibt der Titel des Werkes Computergrafik und Bildverar-
”
beitung“ fu¨r beide B¨ande erhalten. Es gibt weiterhin Referenzen zwischen beiden B¨anden
(gekennzeichnet durch ein vorangestelltes Band I oder II vor der jeweiligen Referenz) und
die Inhaltsangabe des jeweils anderen Bandes findet sich am Ende jeden Bandes wieder,
so dass man zumindest einen U¨berblick u¨ber das gesamte Werk in jedem Band erh¨alt. Es
empfiehlt sich in jedem Fall die Anschaffung beider B¨ande, da sich nach unserer Erfah-
rung Kenntnisse in der Bildverarbeitung positiv auf das Verst¨andnis der Computergrafik
auswirken und umgekehrt.
Inhaltlichergabensichdiegr¨oßtenA¨nderungeninBandI Computergrafik“.DerGrund
”
dafu¨risteinKulturbruchbeideroffenenProgrammierschnittstelleOpenGL,dieindiesem
WerkalsGrundlagefu¨rdieEinfu¨hrungindieComputergrafikgew¨ahltwurde.ImJahr2009
wurdedas alte“OpenGLals deprecated“erkl¨art(dasbedeutetsovielwie abgeku¨ndigt“)
” ” ”
und die damit verbundenen Befehle stehen nur noch in einem sogenannten Compatibility
”
Profile“ zur Verfu¨gung. Gleichzeitig wurde das neue“ OpenGL in Form eines Core Pro-
” ”
files“ eingefu¨hrt. In diesem Buch werden die beiden Profile nebeneinander dargestellt, so
dass auch Leser, die mit dem alten OpenGL vertraut sind, einen leichten U¨bergang zum
neuen OpenGL finden. Außerdem bietet das alte OpenGL h¨aufig einen leichteren Zugang
zu bestimmten Themen der Computergrafik, so dass auch OpenGL-Einsteiger von den di-
daktischen Vorteilen einer parallelen Darstellung von Compatibility“ und Core Profile“
” ”
profitieren. In diesem Sinne wurden alle Kapitel aus dem Computergrafik-Teil vollst¨andig
u¨berarbeitet. Neu dazugekommen ist ein Kapitel u¨ber das komplexe Thema Schatten, so-
vi
wie ein Kapitel u¨ber die allgemeine Programmierung von Grafikkarten mit CUDA und
OpenCL.
DieinhaltlichenA¨nderungenimBandII Bildverarbeitung“warendagegennichtsogra-
”
vierend. Das Kapitel Grundlagen wurde um einen Abschnitt u¨ber den CIELab-Farbraum
erg¨anzt.NeuisteinKapitelu¨berdieRekonstruktionfehlenderFarbwertebeiDigitalkame-
ras (Demosaicing), sowie ein Kapitel u¨ber Korrespondenzen in Bildern. Die Literaturhin-
weise wurden aktualisiert und durch neue Zitate erweitert.
Weiterhin konnten einige Fehler aus der 2. Auflage korrigiert werden. Dafu¨r danken
wir den kritischen Lesern ganz herzlich. Außerdem m¨ochten wir uns ganz besonders bei
unserem Korrekturleser Paul Obermeier bedanken, der auch wichtige inhaltliche Anst¨oße
gab.
Alfred Nischwitz, Max Fischer, Gudrun Socher, Peter Haber¨acker, 02. M¨arz 2011
Vorwort zur 2. Auflage
AllergutenDingesindDrei.IndiesemSinnefreuenwiruns,dasswiralsdrittenCo-Autor
fu¨r die Weiterentwicklung dieses Buchs unseren Kollegen Prof. Dr. Max Fischer gewin-
nen konnten. Damit wurde der Tatsache Rechnung getragen, dass die sehr dynamischen
undimmerengerzusammenwachsendenGebietederComputergrafikundBildverarbeitung
eines weiteren Autors bedurften, um ad¨aquat abgedeckt zu werden.
Inhaltlich wurde der Charakter der 1. Auflage beibehalten. An einer Reihe von Stel-
len wurden jedoch Erg¨anzungen und Aktualisierungen vorgenommen. So ist im Kapi-
tel 2 ein neuer Abschnitt u¨ber Bildverarbeitung auf programmierbarer Grafikhardware“
”
hinzugekommen, in Band II Kapitel 7 wurde der neuerdings h¨aufig verwendete Canny-
”
Kantendetektor“ eingefu¨gt, und in Band II Kapitel 23 wurde eine Anwendung des Run-
”
Length-Coding“ im Umfeld der Objektverfolgung in Echtzeitsystemen erg¨anzt. Die Lite-
raturhinweise wurden aktualisiert und durch neue Zitate erweitert.
Weiterhin konnten zahlreiche Fehler aus der 1. Auflage korrigiert werden. Dafu¨r sei
den kritischen Lesern ganz herzlich gedankt, die sich die Mu¨he gemacht haben, uns zu
schreiben. Ganz besonders m¨ochten wir uns an dieser Stelle bei Fr. Dipl.-Math. Beate
Mielke bedanken, die alleine fu¨r ca. 2 aller Fehlermeldungen zust¨andig war.
3
Alfred Nischwitz, Max Fischer, Peter Haber¨acker, 22. Juli 2006
Vorwort
Moderne Computer sind in unserer Zeit weit verbreitet. Sie werden kommerziell und pri-
vat zur Bew¨altigung vielschichtiger Aufgaben eingesetzt. Als Schnittstelle zur Hardware
dienen grafische Betriebssysteme, mit denen der Benutzer bequem mit dem System kom-
munizieren kann. Die meisten Anwendungen pr¨asentieren sich ebenfalls in grafischer Form
und begleiten so den Anwender bei der Erledigung seiner Aufgaben.
Viele benu¨tzen dabei das Computersystem wie ein praktisches Werkzeug und freuen
sich, wenn alles gut funktioniert, oder ¨argern sich, wenn es nicht funktioniert. Mancher
wird sich aber doch fragen, was hinter der grafischen Oberfl¨ache steckt, wie z.B. ein Com-
puterspiel oder ein Bildbearbeitungspaket zu einer Digitalkamera gemacht wird, welche
Verfahren dabei ablaufen und welche Programmiersysteme dazu verwendet werden. An
diesen Personenkreis wendet sich das vorliegende Buch.
Bei der Implementierung zeitgem¨aßer Anwendungen nimmt die Programmierung der
Computergrafik und Bildverarbeitung einen wesentlichen Teil ein. In den letzten Jahren
sinddiesebeideBereicheimmerst¨arkerzusammengewachsen.DieserEntwicklungversucht
das vorliegende Buch gerecht zu werden.
Der erste Teil des Buches ist der Computergrafik gewidmet. Es werden die wichtig-
sten Verfahren und Vorgehensweisen erl¨autert und an Hand von Programmausschnitten
dargestellt. Als grafisches System wurde OpenGL verwendet, da es alle Bereiche abdeckt,
sichalsweltweiterStandardetablierthat,plattformunabh¨angigundkostenlosist,undmit
modernen Grafikkarten bestens zusammenarbeitet.
Der zweite Teil befasst sich mit digitaler Bildverarbeitung, die mit ihren Verfahren
die Grundlage fu¨r praktische Anwendungen von bildauswertenden und bildgenerierenden
Systemen in vielen Bereichen bildet. Der Bildverarbeitungsteil ist als Zusammenfassung
von zwei Bu¨chern entstanden, die von einem der beiden Autoren vorlagen. Zun¨achst war
geplant, diese Zusammenfassung ausschließlich u¨ber das Internet und auf CD-ROM anzu-
bieten. Die permanente Nachfrage ließ es aber doch sinnvoll erscheinen, sie in dieses Buch
zu integrieren. Das Buch wendet sich also an Interessenten, die sich in dieses Gebiet einar-
beiten und praktische Erfahrungen sammeln m¨ochten. Deshalb wurde, soweit m¨oglich, auf
die Darstellung der oft komplizierten mathematischen Hintergru¨nde verzichtet und h¨aufig
eine eher pragmatische Vorgehensweise gew¨ahlt. Zur Vertiefung wird das Buch durch ein
Internetangebot erg¨anzt. Hier findet der Leser U¨bungsaufgaben, vertiefende Kapitel und
interaktive Kurse, wie sie auch an Hochschulen angeboten werden. Außerdem wird der
Internetauftritt fu¨r Korrekturen und die Versionsverwaltung verwendet.
Alfred Nischwitz, Peter Haber¨acker, 3. Juni 2004
Inhaltsverzeichnis
1 Einleitung 1
2 Zusammenhang Computergrafik – Bildverarbeitung 6
2.1 Bildverarbeitung auf programmierbarer Grafikhardware . . . . . . . . . . 7
2.2 Simulation von kameragesteuerten Ger¨aten . . . . . . . . . . . . . . . . . 10
2.3 Bilddatencodierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4 Bildbasiertes Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3 Digitale Bilddaten 24
3.1 Prinzipielle Vorgehensweise . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.1 Sensoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.2 Digitalisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.3 Vorverarbeitung der Rohdaten . . . . . . . . . . . . . . . . . . . . 25
3.1.4 Berechnung von Merkmalen. . . . . . . . . . . . . . . . . . . . . . 25
3.1.5 Segmentierung des Bildes . . . . . . . . . . . . . . . . . . . . . . . 26
3.1.6 Kompakte Speicherung der Segmente . . . . . . . . . . . . . . . . 26
3.1.7 Beschreibung der Segmente . . . . . . . . . . . . . . . . . . . . . . 26
3.1.8 Synthese von Objekten . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.9 Ableitung einer Reaktion . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.10 Schlussbemerkung zu Abschnitt 3.1 . . . . . . . . . . . . . . . . . 27
3.2 Unterabtastung und Quantisierung . . . . . . . . . . . . . . . . . . . . . . 27
3.3 Digitalisierung von Schwarz/Weiß-Bilddaten . . . . . . . . . . . . . . . . 31
3.4 Digitalisierung von Grautonbildern . . . . . . . . . . . . . . . . . . . . . . 35
3.5 Farbbilder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.5.1 Farbe: Physikalische Aspekte . . . . . . . . . . . . . . . . . . . . . 41
3.5.2 Farbe: Physiologische Aspekte . . . . . . . . . . . . . . . . . . . . 41
3.5.3 Das CIE-Farbdreieck . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.5.4 Das RGB-Farbmodell . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.5.5 Das CMY-Farbmodell . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.5.6 Das YIQ-Farbmodell . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5.7 Das HSI-Farbmodell . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5.8 Das CIE-Lab-Farbmodell . . . . . . . . . . . . . . . . . . . . . . . 51
3.5.9 Mathematisches Modell fu¨r Farbbilder . . . . . . . . . . . . . . . . 57
x
3.6 Multispektral- und mehrkanalige Bilder . . . . . . . . . . . . . . . . . . . 57
3.7 Bildfolgen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.8 Weitere mathematische Modelle fu¨r Bilder. . . . . . . . . . . . . . . . . . 64
3.8.1 Bilder als relle Funktionen zweier reeller Variablen . . . . . . . . . 64
3.8.2 Bilder als (diskrete) Funktionen
zweier diskreter Variablen . . . . . . . . . . . . . . . . . . . . . . . 65
3.8.3 Bilder als Zufallsprozesse . . . . . . . . . . . . . . . . . . . . . . . 65
3.9 Bildliche Reproduktion
von digitalisierten Bildern . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.9.1 Ger¨ate zur Bilddarstellung . . . . . . . . . . . . . . . . . . . . . . 69
3.9.2 Ausdrucken der Grauwerte . . . . . . . . . . . . . . . . . . . . . . 70
3.9.3 Ausgabe von logischen Bildern . . . . . . . . . . . . . . . . . . . . 72
3.9.4 Zeilendruckerausgabe von Grauwertbildern . . . . . . . . . . . . . 73
3.9.5 Halbtonverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.10 Datenreduktion und Datenkompression . . . . . . . . . . . . . . . . . . . 77
3.11 Charakterisierung digitalisierter Bilder . . . . . . . . . . . . . . . . . . . . 78
3.11.1 Mittelwert und mittlere quadratische Abweichung . . . . . . . . . 78
3.11.2 Histogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.11.3 Entropie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.11.4 Grauwertematrix (co-occurrence-Matrix) . . . . . . . . . . . . . . 85
4 Modifikation der Grauwerte 87
4.1 Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.2 Grundlagen der Grauwerttransformation. . . . . . . . . . . . . . . . . . . 88
4.3 Lineare Skalierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.4 A¨quidensiten (gray level slicing) . . . . . . . . . . . . . . . . . . . . . . . 94
4.5 Erzeugen von Bin¨arbildern . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.6 Logarithmische und exponentielle Skalierung . . . . . . . . . . . . . . . . 107
4.7 Ebnen der Grauwerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.8 Grauwertskalierung mit Hochpassfilterung . . . . . . . . . . . . . . . . . . 114
4.9 Kalibrierung der Grauwerte . . . . . . . . . . . . . . . . . . . . . . . . . . 116
4.10 Berechnung einer neuen Grauwertmenge . . . . . . . . . . . . . . . . . . . 120
4.11 Rekonstruktion des h¨ochstwertigen Bit. . . . . . . . . . . . . . . . . . . . 122
4.12 Differenzbildung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
5 Operationen im Ortsbereich 126
5.1 Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
5.2 Grundlagen: Filteroperationen im Ortsbereich. . . . . . . . . . . . . . . . 128
5.3 Gl¨atten der Grauwerte eines Bildes. . . . . . . . . . . . . . . . . . . . . . 131
5.4 Differenzenoperatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
5.5 Elimination isolierter Bildpunkte . . . . . . . . . . . . . . . . . . . . . . . 141
5.6 Elimination gest¨orter Bildzeilen . . . . . . . . . . . . . . . . . . . . . . . 142
5.7 Bildakkumulation bei Bildfolgen . . . . . . . . . . . . . . . . . . . . . . . 144
xi
6 Mathematische Morphologie 145
6.1 Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
6.2 Grundlagen: Mathematische Morphologie . . . . . . . . . . . . . . . . . . 145
6.3 Median Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
6.4 Dilatation und Erosion im Bin¨arbild . . . . . . . . . . . . . . . . . . . . . 151
6.5 Morphologie im Grauwertbild . . . . . . . . . . . . . . . . . . . . . . . . . 153
7 Kanten und Linien 157
7.1 Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
7.2 Grundlegendes u¨ber Kanten und Linien . . . . . . . . . . . . . . . . . . . 157
7.3 Einfache Verfahren zur Kantenextraktion . . . . . . . . . . . . . . . . . . 162
7.4 Parallele Kantenextraktion . . . . . . . . . . . . . . . . . . . . . . . . . . 163
7.5 Gradientenbetrag und Gradientenrichtung . . . . . . . . . . . . . . . . . . 168
7.6 Der Canny-Kantendetektor . . . . . . . . . . . . . . . . . . . . . . . . . . 174
7.7 Kanten und Linien mit
morphologischen Operationen. . . . . . . . . . . . . . . . . . . . . . . . . 178
7.7.1 Extraktion des Randes von Segmenten. . . . . . . . . . . . . . . . 178
7.7.2 Verarbeitung von Linien . . . . . . . . . . . . . . . . . . . . . . . 180
7.8 Skelettierung mit morphologischen Operationen. . . . . . . . . . . . . . . 180
7.9 Skelettierung mit der Euler’schen Charakteristik . . . . . . . . . . . . . . 187
7.10 Relaxation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
7.11 Houghtransformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
7.12 Verallgemeinerte Houghtransformation . . . . . . . . . . . . . . . . . . . . 200
7.12.1 Parametrisierung der Referenzstruktur. . . . . . . . . . . . . . . . 200
7.12.2 Akkumulierende Abbildung der Merkmalspunkte . . . . . . . . . . 201
7.12.3 Auswertung des Akkumulators . . . . . . . . . . . . . . . . . . . . 201
7.13 Erweiterte Houghtransformation . . . . . . . . . . . . . . . . . . . . . . . 202
7.13.1 Erweiterte Houghtransformation der Randpunkte . . . . . . . . . . 202
7.13.2 Erweiterung auf ߬achenhaft gegebene Segmente. . . . . . . . . . . 207
7.14 Sequentielle Kantenextraktion,
Linienverfolgung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
7.15 Abschließende Bemerkungen
zu Kanten und Linien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
8 Operationen im Frequenzbereich 215
8.1 Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
8.2 Lineare Approximation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
8.3 Trigonometrische Approximationsfunktionen . . . . . . . . . . . . . . . . 218
8.4 Diskrete zweidimensionale Fouriertransformation . . . . . . . . . . . . . . 220
8.5 Digitale Filterung im Ortsfrequenzbereich . . . . . . . . . . . . . . . . . . 222
8.6 Zusammenhang mit dem Ortsbereich . . . . . . . . . . . . . . . . . . . . 224
8.7 Logarithmische Filterung . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
8.8 Inverse und Wiener Filterung . . . . . . . . . . . . . . . . . . . . . . . . . 230