120
Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc. Marc Quirin M.Sc. Version 1.3

Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

Praktikum Industrielle Bildverarbeitung

Bachelor-Studium der Elektrotechnik

Prof. Dr.-Ing. Dietmar Brück

Betreuer: Jannick Morsch M.Sc.Marc Quirin M.Sc.

Version 1.3

Page 2: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc
Page 3: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

Inhaltsverzeichnis

1 Einleitung 11.1 Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Praktikumsvoraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3 Praktikumsdurchführung und Ausarbeitung . . . . . . . . . . . . . . . . 2

2 Einführung in LabVIEW 32.1 LabVIEW Entwicklungsumgebung . . . . . . . . . . . . . . . . . . . . . . 3

2.2 Frontpanel und Blockdiagramm . . . . . . . . . . . . . . . . . . . . . . . 3

2.2.1 Symbol und Anschlussfeld . . . . . . . . . . . . . . . . . . . . . . 4

2.2.2 Bedien- und Anzeigeelemente . . . . . . . . . . . . . . . . . . . . 5

2.3 Anschlüsse, Knoten und Drähte . . . . . . . . . . . . . . . . . . . . . . . . 6

2.4 Datenfluss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.5 Erstellen und Verwendung von SubVIs . . . . . . . . . . . . . . . . . . . 8

2.6 Kommentare und Dokumentation in LabVIEW . . . . . . . . . . . . . . . 10

2.7 Fehlerbehandlung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.8 Programmstrukturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.8.1 Die While- und For-Schleife . . . . . . . . . . . . . . . . . . . . . . 12

2.8.2 Schiebe-Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.8.3 Case und Sequenzstruktur . . . . . . . . . . . . . . . . . . . . . . 14

2.8.4 Ereignisstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.8.5 Lokale und globale Variablen in LabVIEW . . . . . . . . . . . . . 17

2.9 Erstellen von Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.9.1 2D-Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.9.2 Array Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.10 Erstellen von Clustern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.10.1 Cluster Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.11 Zustandsautomat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.11.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.11.2 Anwendung von Zustandsautomaten . . . . . . . . . . . . . . . . 23

2.11.3 Aufbau des Zustandsautomaten . . . . . . . . . . . . . . . . . . . 24

2.11.4 Steuern von Zustandsautomaten . . . . . . . . . . . . . . . . . . . 25

2.11.5 Übergänge bei Zustandsautomaten . . . . . . . . . . . . . . . . . 25

HTW des Saarlandes Industrielle Bildverarbeitung 3

Page 4: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

Inhaltsverzeichnis

3 Praktikumsdurchführung 29

3.1 Erstellung eines Beispielprojektes in LabVIEW . . . . . . . . . . . . . . . 29

3.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.2.1 NI Vision Acquisition Software . . . . . . . . . . . . . . . . . . . . 32

3.2.2 Vision Development Module . . . . . . . . . . . . . . . . . . . . . 32

3.2.3 NI-MAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.3 Programmierung der Anwendung . . . . . . . . . . . . . . . . . . . . . . 34

3.4 Beleuchtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.4.1 Beleuchtungsmethoden . . . . . . . . . . . . . . . . . . . . . . . . 36

3.5 Optische Abbildung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.5.1 Lochkameramodell . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.6 Grauwerttransformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.6.1 Look-Up Tabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.6.2 Lineare Grauwertskalierung . . . . . . . . . . . . . . . . . . . . . 40

3.6.3 Kontrastnormierung mit linearer Skalierung . . . . . . . . . . . . 41

3.7 Statistische Werte eines Grauwertbildes . . . . . . . . . . . . . . . . . . . 41

3.8 Bildarithmetik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.8.1 Bildsubtraktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.8.2 Skalierungsmethode Absolutwert (Betrag) . . . . . . . . . . . . . 42

3.8.3 Skalierungsmethode Positives Clipping . . . . . . . . . . . . . . . 43

3.9 Lineare Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.9.1 Glättungsfilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.9.2 Kantenfilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.10 Nichtlineare Filter (Medianfilter) . . . . . . . . . . . . . . . . . . . . . . . 50

4 Aufgaben 51

4.1 Aufgabe 1: Beleuchtungsmethoden . . . . . . . . . . . . . . . . . . . . . . 51

4.2 Aufgabe 2: Berechnung der Brennweite angepasst auf den Prüfgegenstand 52

4.3 Aufgabe 3: Look-Up Tabelle / Binärbilderzeugung . . . . . . . . . . . . . 52

4.4 Aufgabe 4: Look-Up Tabellen für quadratische Transformation und Qua-dratwurzel Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.4.1 Fragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.5 Aufgabe 5: Lineare Grauwertskalierung . . . . . . . . . . . . . . . . . . . 55

4.6 Aufgabe 6: Kontrastnormierung mit linearer Skalierung . . . . . . . . . . 56

4.7 Aufgabe 7: Statistische Parameter und Histogramm . . . . . . . . . . . . 57

4.8 Aufgabe 8: Skalierungsmethode (Absolutwert) . . . . . . . . . . . . . . . 59

4.9 Aufgabe 9: Skalierungsmethode (Positives Clipping) . . . . . . . . . . . . 60

4 Industrielle Bildverarbeitung HTW des Saarlandes

Page 5: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

Inhaltsverzeichnis

4.10 Aufgabe 10: Mittelwertfilter . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4.10.1 Fragen: Interpretieren Sie das Ergebnisbild nach Anwendungder Filteroperation . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.11 Aufgabe 11: Mittelwertfilter . . . . . . . . . . . . . . . . . . . . . . . . . . 62

4.11.1 Fragen: Überprüfen Sie folgende Aussagen: . . . . . . . . . . . . 62

4.12 Aufgabe 12: Gaußfilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.13 Aufgabe 13: Gaußfilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.14 Aufgabe 14: Einfacher Kantenfilter . . . . . . . . . . . . . . . . . . . . . . 64

4.14.1 Fragen: Interpretieren Sie das Ergebnisbild nach Anwendungder Filteroperationen: . . . . . . . . . . . . . . . . . . . . . . . . . 66

4.15 Aufgabe 15: Laplace-Operator . . . . . . . . . . . . . . . . . . . . . . . . . 66

4.15.1 Fragen: Interpretieren Sie das Ergebnisbild nach Anwendungder Filteroperationen: . . . . . . . . . . . . . . . . . . . . . . . . . 67

4.16 Aufgabe 16: Sobel-Operator . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.16.1 Fragen: Interpretieren Sie das Ergebnisbild nach Anwendungder Filteroperationen: . . . . . . . . . . . . . . . . . . . . . . . . . 69

4.17 Aufgabe 17: Medianfilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

4.17.1 Fragen: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

4.18 Aufgabe 18: Wasserzeichen . . . . . . . . . . . . . . . . . . . . . . . . . . 71

4.18.1 Umsetzung Teilaufgabe1 . . . . . . . . . . . . . . . . . . . . . . . . 72

4.18.2 Umsetzung Teilaufgabe2 . . . . . . . . . . . . . . . . . . . . . . . . 74

4.18.3 Umsetzung Teilaufgabe3 . . . . . . . . . . . . . . . . . . . . . . . . 74

4.18.4 Fragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5 Einführung in die digitale Bildverarbeitung 775.1 Aufgaben- und Einsatzgebiete der Digitalen Bildverarbeitung und Ma-

chine Vision Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.1.1 Strukturierung der Aufgabenfelder . . . . . . . . . . . . . . . . . 77

5.1.2 Lageerkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

5.1.3 Vollständigkeitskontrolle . . . . . . . . . . . . . . . . . . . . . . . 78

5.1.4 Oberflächeninspektion . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.1.5 Klarschriftlesen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.1.6 Bauteilvermessung . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.2 Digitale Bilder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.3 Verarbeitung digitaler Bilder . . . . . . . . . . . . . . . . . . . . . . . . . . 84

5.3.1 Vorverarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

5.3.2 Segmentierung und Merkmalsextraktion . . . . . . . . . . . . . . 84

5.3.3 Bildanalyse und Merkmalsextraktion . . . . . . . . . . . . . . . . 86

5.4 4.4 Die grundlegenden Komponenten von Bildverarbeitungssystemen . 87

HTW des Saarlandes Industrielle Bildverarbeitung 5

Page 6: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

Inhaltsverzeichnis

5.5 Beleuchtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885.5.1 Unkontrolliertes Licht . . . . . . . . . . . . . . . . . . . . . . . . . 885.5.2 Durchleuchtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885.5.3 Silhouetten Projektion . . . . . . . . . . . . . . . . . . . . . . . . . 885.5.4 Auflicht-Beleuchtung . . . . . . . . . . . . . . . . . . . . . . . . . 895.5.5 Diffuse Beleuchtung . . . . . . . . . . . . . . . . . . . . . . . . . . 895.5.6 Hellfeld/Dunkelfeld Beleuchtung . . . . . . . . . . . . . . . . . . . 905.5.7 Schattenprojektion . . . . . . . . . . . . . . . . . . . . . . . . . . . 915.5.8 Strukturiertes Licht . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

5.6 Optische Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935.6.1 C-Mount Objektive . . . . . . . . . . . . . . . . . . . . . . . . . . . 955.6.2 Nahlinsen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975.6.3 Makroobjekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985.6.4 Telezentrische Objektive . . . . . . . . . . . . . . . . . . . . . . . . 985.6.5 Zusammenfassend einige Hinweise zur Auswahl und Anwen-

dung von Objektiven . . . . . . . . . . . . . . . . . . . . . . . . . . 1015.7 Kamera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

5.7.1 Bildakquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025.7.2 Ausgabeeinheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

5.8 4.8 Frame Grabber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055.8.1 Multimedia versus industrielle Bildverarbeitung . . . . . . . . . . 106

6 Industrielle Bildverarbeitung HTW des Saarlandes

Page 7: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

Abbildungsverzeichnis

2.1 LabVIEW-Startfenster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Beispiel eines VIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.3 LabVIEW-Standardsymbol . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.4 LabVIEW-Anschlussfeld . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.5 Auswahl einer Palette (Bedien- und Anzeigeelement) in LabVIEW . . . 52.6 Fixieren einer Palette mit dem Pinnsymbol in LabVIEW . . . . . . . . . . 62.7 Anschlüsse, Knoten und Drähte im Blockdiagramm . . . . . . . . . . . . 72.8 Illustration des Datenflussmodells . . . . . . . . . . . . . . . . . . . . . . 72.9 Zuordnen des Anschlussfeldes . . . . . . . . . . . . . . . . . . . . . . . . 82.10 Anschlussfeld nach Zuordnen . . . . . . . . . . . . . . . . . . . . . . . . . 92.11 Häufig verwendete Datentypen in LabVIEW . . . . . . . . . . . . . . . . 92.12 LabVIEW Symbol-Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.13 Beispiel eines SubVI-Symbols zur Berechnung des Mittelwertes . . . . . 102.14 Vorgefertigte SubVIs in LabVIEW . . . . . . . . . . . . . . . . . . . . . . . 102.15 Kommentare im Blockdiagramm . . . . . . . . . . . . . . . . . . . . . . . 102.16 Fehler-Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.17 While-Schleife . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.18 Endlosschleife . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.19 For-Schleife und Ablaufdiagramm . . . . . . . . . . . . . . . . . . . . . . 132.20 Initialisierung von Schieberegistern . . . . . . . . . . . . . . . . . . . . . . 142.21 Case-Struktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.22 Abwärts- und Aufwärts-Pfeil der Case-Struktur . . . . . . . . . . . . . . 152.23 Anwendung der Case-Struktur . . . . . . . . . . . . . . . . . . . . . . . . 152.24 Nicht Sequenzielle Programmierung . . . . . . . . . . . . . . . . . . . . . 152.25 Sequenzielle Programmierung . . . . . . . . . . . . . . . . . . . . . . . . 162.26 Ereignisstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.27 Konfigurieren eines Ereignis-Cases . . . . . . . . . . . . . . . . . . . . . . 172.28 Ereignisse bearbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.29 Lokale Variable in LabVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . 182.30 Erstellen eines Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.31 Zuweisen des Array-Datentyps . . . . . . . . . . . . . . . . . . . . . . . . 192.32 Anzeige der Elemente eines Arrays . . . . . . . . . . . . . . . . . . . . . . 19

HTW des Saarlandes Industrielle Bildverarbeitung 7

Page 8: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

Abbildungsverzeichnis

2.33 2D Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.34 Erzeugen eines 2d Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.35 Größe eines 2D-Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.36 Initalisierung eines Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.37 Indizieren eines 2D-Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.38 Erstellen eines Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.39 Aufschlüsseln der Elemente eines Clusters . . . . . . . . . . . . . . . . . 222.40 Elemente bündeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.41 Aufbau des Zustandsautomaten . . . . . . . . . . . . . . . . . . . . . . . 252.42 Frontpanel des Anwendungsbeispiels . . . . . . . . . . . . . . . . . . . . 262.43 Eigenschaftsfenster für eine Enum-Konstante . . . . . . . . . . . . . . . . 262.44 Zustandsautomat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.45 Zustandsübergänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.46 Blockdiagrammcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.1 User Interface zum Laden und speichern eines Bildes . . . . . . . . . . . 293.2 Erstellen eines Projektes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.3 LabVIEW Projekt-Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.4 Hinzufügen eines VIs im LabVIEW Projekt-Explorer . . . . . . . . . . . . 313.5 Vision and Motion Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.6 Bildverarbeitungspalette . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.7 Darstellung und Konfiguration einer kamera im NI-MAX . . . . . . . . . 333.8 Auswahl eines Displays zur Darstellung eines Bildes . . . . . . . . . . . 343.9 Auswahl der NI-IMAQdx Funktionen . . . . . . . . . . . . . . . . . . . . 343.10 Blockdiagramm zur Darstellung eines Live Bildes . . . . . . . . . . . . . 353.11 Image management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.12 Auflicht (a), Durchlicht (b) . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.13 Hellfeld und Dunkelfeld . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.14 Lochkameramodell. Es ist die Projektion eines Würfels aus dem Objek-

traum auf die Bildebene veranschaulicht . . . . . . . . . . . . . . . . . . . 383.15 Bezeichnung an einer Linse . . . . . . . . . . . . . . . . . . . . . . . . . . 383.16 Spreizung der Grauwerte zur Kontrastverbesserung . . . . . . . . . . . . 413.17 Prinzip eines linearen Filters . . . . . . . . . . . . . . . . . . . . . . . . . . 453.18 Behandlung von Randpunkten bei der Filterung . . . . . . . . . . . . . . 473.19 Prinzip des Median-Operators . . . . . . . . . . . . . . . . . . . . . . . . 50

4.1 Möglichkeit einer diffusen Beleuchtung . . . . . . . . . . . . . . . . . . . 514.2 Beispiel des Frontpanels Look-Up Tabelle (Binär) . . . . . . . . . . . . . . 534.3 Quadratische Look-Up-Table . . . . . . . . . . . . . . . . . . . . . . . . . 544.4 Beispiel der Linearen grauwertskalierung . . . . . . . . . . . . . . . . . . 56

8 Industrielle Bildverarbeitung HTW des Saarlandes

Page 9: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

Abbildungsverzeichnis

4.5 Beispiel des Frontpanels der Kontrastnormierung mit linearer Skalierung 57

4.6 Beispiel des Frontpanels der statistischen Parameter . . . . . . . . . . . . 58

4.7 Beispiel Dialogfeld der Subtraktion mittels Absolutwert . . . . . . . . . . 59

4.8 Originalbild, zur Anwendung eines 3x3 Mittelwertfilters . . . . . . . . . 60

4.9 Beispiel eines Dialogfeldes 3x3 Mittelwertfilter . . . . . . . . . . . . . . . 61

4.10 Originalbild, zur Verwendung eines 3x3 Mittelwertfilters . . . . . . . . . 62

4.11 Originalbild, zur Verwendung eines 3x3 und 5x5 Gaußfilters . . . . . . . 63

4.12 Originalbild, zur Verwendung eines 3x3 und 5x5 Gaußfilters . . . . . . . 63

4.13 Originalbild, zur Verwendung eines 3x3 Kantenfilters . . . . . . . . . . . 64

4.14 Kantenfilter, Skalierungsmethode Positive Werte . . . . . . . . . . . . . . 65

4.15 Kantenfilter, Skalierungsmethode Relative Werte . . . . . . . . . . . . . . 65

4.16 Originalbild, zur Verwendung eines 3x3 Laplace-Operators . . . . . . . . 66

4.17 Laplace-Operator, Skalierungsmethode positive Werte . . . . . . . . . . . 67

4.18 Originalbild, zur Verwendung eines 3x3 Sobel-Operators . . . . . . . . . 68

4.19 Sobel-Operator, Skalierungsmethode Relative Werte . . . . . . . . . . . . 69

4.20 Originalbild, zur Verwendung eines 3x3 Medianfilters . . . . . . . . . . . 69

4.21 Beispiel Dialogfeld 3x3 Medianfilter . . . . . . . . . . . . . . . . . . . . . 70

4.22 Testbild "Lenna", mit Wasserzeichen und einer vorher definierten Trans-parenz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

4.23 Benutzeroberfläche für Aufgabe 18. . . . . . . . . . . . . . . . . . . . . . . 72

4.24 Originalbild links oben, Wasserzeichen rechts oben und codiertes Bildunten links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

4.25 Decodiertes Bild mit verstecktem Wasserzeichen. . . . . . . . . . . . . . . 75

5.1 Aufgabengebiete von industriellen Bildverarbeitungssystemen . . . . . 78

5.2 Aufbau eines digitalen Bildes . . . . . . . . . . . . . . . . . . . . . . . . . 81

5.3 Hexadezimale Darstellung eines Bildausschnittes . . . . . . . . . . . . . 82

5.4 Vergleich analoges und digitales Bild . . . . . . . . . . . . . . . . . . . . . 83

5.5 Schnitt durch ein Bild dessen Intensität sinusförmig variiert (a). (b) zei-gen zehn unendlich schmale Den Abtastwerte an unterschiedlichen Po-sitionen. Den Abtastwert über den Abstand zwischen zwei Abtastungenhaltend, führt zu der üblichen Darstellung (c). . . . . . . . . . . . . . . . 83

HTW des Saarlandes Industrielle Bildverarbeitung 9

Page 10: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

Abbildungsverzeichnis

5.6 Die typischen Schritte einer konturorientierten Segmentierung und Merk-malsextraktion. (b) zeigt die Grauwerte eines Ausschnittes aus (a) alsZahlen zwischen 0 und 9. Der erste Verfahrensschritt hebt die Grau-wertdifferenzen hervor (c), die nachfolgende Aufbesserung säubert undverdünnt die Konturen. Darauf basierend fast die Konturpunktverket-tung die jeweils zu einer Kette gehörenden Konturpunkte in einer Listezusammen (nicht dargestellt). Im letzten Schritt nähert die Konturap-proximation die Kontur durch Geradenstücken (e) an. . . . . . . . . . . . 85

5.7 Der Informationsfluss eines Bildes von der Beleuchtung des ursprüng-lichen Objektes bis zur Bildverarbeitungsanwendung durchläuft ver-schieden Komponenten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

5.8 Wenn ein Objekt mehr oder weniger transparent ist, kann eine Durch-leuchtung dessen innere Struktur aufdecken. Diese ist z.B. eine Methode,Inhomogenitäten in Glas zu detektieren . . . . . . . . . . . . . . . . . . . 88

5.9 Sofern der Umriss eines flachen Objekts von Interesse ist, kommt dieSilhouetten-Projektion zum Einsatz. Das Ergebnis der Silhouetten- Pro-jektion ist ein Grauwertbild, dessen dunkle Pixel das Objekt präsentie-ren, während die hellen Pixel den Hintergrund bilden. . . . . . . . . . . 89

5.10 Auf Grund der wiederholten Reflexionen der Lichtstrahlen an der In-nenseite der Glocke, trifft das Objekt keinerlei direktes Licht. StörendeReflexionen können so nicht entstehen. . . . . . . . . . . . . . . . . . . . 90

5.11 Die Hellfeldbeleuchtung (a) ergibt ein helles Bild, worin die interessan-ten Bereiche des Bildes (hier ein Kratzer) dunkel erscheinen. Die Dun-kelfeldbeleuchtung (b) arbeitet umgekehrt. . . . . . . . . . . . . . . . . . 91

5.12 Wenn die Farbe oder der Grauwert von Objekt und Hintergrund sehrähnlich sind, ist es schwierig den Objektrand zu bestimmen. Voraus-gesetzt, der Hintergrund ist nicht dunkel, vermisst man anstelle desObjektrandes den durch ihn geworfenen Schatten. . . . . . . . . . . . . . 92

5.13 Anwendungsbeispiel mit strukturiertem Licht. . . . . . . . . . . . . . . . 93

5.14 Darstellung der Zusammenhänge optische Achse, Brennebene, Brenn-punkt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

5.15 Das Linsengesetz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

5.16 Die mechanischen Parameter von C- und CS-Mount Objektiven. . . . . . 95

5.17 Objektiv Formate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

5.18 Der Bildwinkel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

5.19 Zusammenhang zwischen ursprünglicher Einstellentfernung des Ob-jektivs, der Nahlinsenkraft und der resultierenden neuen Objektdistanz. 98

5.20 Telezentrisches Objektiv . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

5.21 Funktionsprinzip von Telezentrischen Objektiven. . . . . . . . . . . . . . 99

10 Industrielle Bildverarbeitung HTW des Saarlandes

Page 11: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

Abbildungsverzeichnis

5.22 Zusammenhang zwischen Brennweite, normaler MOD und deren Ver-kleinerung durch Einsatz von Zwischenringen (Alle Maße in mm) . . . . 100

5.23 Aufbau CCD-Kamera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025.24 Spektrale Empfindlichkeit eines CCD-Chips . . . . . . . . . . . . . . . . . 1035.25 CCIR Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1045.26 Grundlegende Struktur eines Frame Grabbers . . . . . . . . . . . . . . . 105

HTW des Saarlandes Industrielle Bildverarbeitung 11

Page 12: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc
Page 13: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

Tabellenverzeichnis

HTW des Saarlandes Industrielle Bildverarbeitung 13

Page 14: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc
Page 15: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

1 Einleitung

1.1 Zielsetzung

Die mathematischen Verfahren und Algorithmen der digitalen Signal- und Bildverar-beitung, (siehe Vorlesung: Signal- und Bildverarbeitung) sollen in diesem Praktikumzur Lösung von Problemen und Aufgabenstellungen der industriellen Bildverarbei-tung z.B. optischen Qualitätskontrolle angewandt werden.

Bei konkreten Sichtprüfaufgaben müssen die verschiedenen Methoden und Verfahrenkombiniert und zusammenwirken, um eine befriedigende Lösung zu erreichen. In die-sem Praktikum sollen die Teilnehmer Erfahrungen bei der konkreten Entwicklung undImplementierung von Bildverarbeitungssoftware, sowie den komplexen Zusammen-hängen zwischen Prüfteil, Beleuchtung, Optik, Kameratechnik und Verarbeitungsrech-ner incl. Frame-Grabber sammeln.Nach der Bearbeitung der Praktikumsaufgaben soll der Teilnehmer in der Lage sein:

• eine Prüfaufgabe detailliert und präzise zu beschreiben, (In einer der Eigenartendes maschinellen Sehens angemessenen Art und Weise).

• den Einfluss der Umgebungsbedingungen, wie z.B. Beleuchtung, Bildaufnahme,mechanisches Umfeld usw. zu berücksichtigen.

• die grundlegenden Komponenten eines Bildverarbeitungssystems (Hard- undSoftware) und deren Wirkungsweise zu beschreiben und zu beurteilen.

• die grundlegenden Beleuchtungsmethoden und ihre typischen Einsatzgebietezu kennen.

• die grundlegenden optischen Aspekte (optische Grundlagen, Linsenformel, Bau-arten von Objektiven und Linsen) zu kennen.

• Bildverarbeitungsalgorithmen problembezogen auszuwählen, zu kombinierenund zu codieren.

HTW des Saarlandes Industrielle Bildverarbeitung 1

Page 16: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

1 Einleitung

1.2 Praktikumsvoraussetzungen

Programmentwicklung

• Kenntnisse in der Bedienung des Betriebssystems Windows.

• Grundkenntnisse in der Programmierung mit LabVIEW.

• Grundkenntnisse der Bildverarbeitungsalgorithmen

Bildverarbeitungsalgorithmen und Methoden:

• Kenntnisse der Funktionalität der Funktionen zur Bildvorverarbeitung (Grau-werttransformation).

• Look-Up-Tabellen.

• Bildarithmetik - z.B. Addition und Subtraktion.

• Lineare Filter - Glättungs- und Kantenfilter.

• Morphologische Filter - Min- Maxfilter, Erosion und Dilatation.

• Anwendung der diskreten Fourier-Transformation z.B. Bilder in Orts-und Fre-quenzraum.

1.3 Praktikumsdurchführung und Ausarbeitung

Die Praktikumsausarbeitung beinhaltet:

• Dokumentation der Parameter der eingesetzten Bildverarbeitungskomponenten,Beleuchtung, Kamera, Objektiv, Abstand - Linse usw.

• Dokumentation, Softwareerstellung und Benutzerinterface.

• Die Dokumentation und die Programme sind in elektrischer Form (auf CD)abzugeben, sowie die Ausarbeitung als Papierform

2 Industrielle Bildverarbeitung HTW des Saarlandes

Page 17: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2 Einführung in LabVIEW

2.1 LabVIEW Entwicklungsumgebung

Im Vergleich zu textbasierten Programmiersprachen (z.B. C++, C usw.) ist LabVIEWeine graphische Programmierumgebung zur Erstellung von Applikationen mit profes-sioneller Benutzeroberfläche. Mit Hilfe von LabVIEW werden anspruchsvolle Mess-,Prüf-, und Regelsysteme entwickelt. Dazu werden grafische Symbole eingesetzt unddurch Drähte miteinander verbunden. Zusätzlich lässt sich die LabVIEW Plattformmit verschiedenen Ziel- und Betriebssystemen verwenden, um die Erweiterung derEinsatzgebiete zu ermöglichen. Die Programme in LabVIEW werden als Virtuelle In-strumente (VIs) bezeichnet, da diese im Grunde ein echtes reales Gerät (Multimeter,Oszilloskop) als virtuelles Instrument darstellen.

VIs bestehen aus einem Frontpanel und einem Blockdiagramm. Auf dem Frontpa-nel werden Bedienelemente platziert und auf das Blockdiagramm der dazugehörigeProgrammcode erstellt. Anders wie bei textbasierten Programmiersprachen wird dieProgrammausführung in LabVIEW durch den Datenfluss bestimmt.

2.2 Frontpanel und Blockdiagramm

Mit einem Doppelklick auf das LabVIEW-Symbol öffnet sich das LabVIEW Startfenster(vgl. Abbildung 2.1). Hier können direkt Dateien geöffnet oder Projekte auf der Basisvon Projektvorlagen erstellt werden. Zusätzlich findet man zahlreiche Informationenzum Umgang mit LabVIEW, sowie die Technische Unterstützung über die NI-Forum-Seite.

Abbildung 2.1: LabVIEW-Startfenster

HTW des Saarlandes Industrielle Bildverarbeitung 3

Page 18: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2 Einführung in LabVIEW

Um ein neues VI zu erstellen gehen Sie auf Datei → Neues VI erstellen. Auf demBildschirm erscheinen zwei Fenster zum einen das Frontpanel und zum anderen dasBlockdiagramm. Das Frontpanel ist die Benutzeroberfläche des VIs. Hier werden alleBedien-, und Anzeigeelemente platziert, die für die Steuerung des Programms not-wendig sind. Beim Einfügen von Bedien-, und Anzeigeelementen erstellt LabVIEWautomatisch einen sogenannten Anschluss im Blockdiagramm. Im Blockdiagrammwerden die Frontpanelobjekte miteinander verdrahtet (vgl. Abbildung 2.2).

Abbildung 2.2: Beispiel eines VIs

2.2.1 Symbol und Anschlussfeld

Symbol und Anschlussfeld ermöglichen die Verwendung und das Anzeigen eines VIsin einem anderen VI. Ein VI, das in einem anderen VI verwendet wird, ähnlich einerFunktion in befehlsorientierten Programmiersprachen, nennt man SubVI. Damit einVI als SubVI verwendet werden kann, muss es ein Symbol und ein Anschlussfeldbesitzen. Für jedes VI wird in der rechten oberen Ecke des Frontpanels und Blockdia-gramms ein Symbol angezeigt.

Ein Beispiel eines Standardsymbols ist unten abgebildet (vgl. Abbildung 2.3). Das VI-Symbol ist die grafische Darstellung eines VIs. Das Symbol kann sowohl Text als auchBilder enthalten. Wenn Sie ein VI als SubVI verwenden, kennzeichnet das Symbol dasSubVI im Blockdiagramm des übergeordneten VIs. Die Zahl auf dem Standardsymbolgibt an, wie viele neue VIs nach dem Start von LabVIEW geöffnet wurden.

Abbildung 2.3: LabVIEW-Standardsymbol

4 Industrielle Bildverarbeitung HTW des Saarlandes

Page 19: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2.2 Frontpanel und Blockdiagramm

Um ein VI als SubVI verwenden zu können, müssen Sie ein Anschlussfeld erstel-len (vgl. Abbildung 2.4). Das Anschlussfeld enthält die Anschlüsse des Symbols, dieähnlich der Parameterliste eines Funktionsaufrufs in befehlsorientierten Programmier-sprachen den Bedien- und Anzeigeelementen des VIs entsprechen. Das Anschlussfeldwird in der rechten oberen Ecke des Frontpanels neben dem VI-Symbol angezeigt. ImBlockdiagramm kann nicht auf das Anschlussfeld zugegriffen werden.

Abbildung 2.4: LabVIEW-Anschlussfeld

2.2.2 Bedien- und Anzeigeelemente

Beim Erstellen eines VIs fügen Sie in das Frontpanel die gewünschten Bedien- undAnzeigeelemente ein, also die Ein- und Ausgänge des VIs. Bedienelemente sind alleEingabeelemente wie Drehknöpfe, Druckschalter oder Drehregler. Zu den Anzeige-elementen zählen zum Beispiel Graphen oder LEDs. Mit Bedienelementen werdenEingabegeräte simuliert und Daten an das Blockdiagramm des VIs gesendet. MitAnzeigeelementen werden Ausgabegeräte simuliert und die vom Blockdiagramm er-fassten oder erzeugten Werte angezeigt.

Abbildung 2.5: Auswahl einer Palette (Bedien- und Anzeigeelement) in LabVIEW

HTW des Saarlandes Industrielle Bildverarbeitung 5

Page 20: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2 Einführung in LabVIEW

LabVIEW stellt eine große Auswahl an Bedien- und Anzeigeelemente für die Erstel-lung einer Applikation zur Verfügung. In Abbildung (2.5) und (2.6) sehen sie einpaar Auswahlmöglichkeiten der numerischen und booleschen Bedien- und Anzeige-elementen. Beim Klicken auf das Frontpanel mit der rechten Maustaste öffnet sich diePalette zur Gestaltung der Frontpanel-Oberfläche.

Um eine Benutzeroberfläche schneller zu erstellen, kann die entsprechende Paletteausgewählt und mit dem Pinnsymbol auf dem Frontpanel fixiert werden. Somit kön-nen Frontpanel-Objekte nacheinander auf das Frontpanel platziert werden.

Abbildung 2.6: Fixieren einer Palette mit dem Pinnsymbol in LabVIEW

2.3 Anschlüsse, Knoten und Drähte

Anschlüsse dienen zum Übertragen von Daten ins Blockdiagramm, die auf dem Front-panel eingegeben werden. Bedien-, und Anzeigeelemente werden im Blockdiagrammdurch Drähte verbunden. Diese sorgen für den Transport von Eingangsdaten.

Knoten bezeichnet man als Subfunktionen oder Operatoren, die für die Realisierungeines Programms benötigt werden. Sie bestehen meistens aus Eingängen und Ausgän-gen. Im unteren dargestellten Bild sind die einzelnen Teile beschriftet (vgl. Abbildung2.7).

6 Industrielle Bildverarbeitung HTW des Saarlandes

Page 21: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2.4 Datenfluss

Abbildung 2.7: Anschlüsse, Knoten und Drähte im Blockdiagramm

1. Anschluss Ausgang

2. Knoten

3. Anschluss Eingang

2.4 Datenfluss

Ein Blockdiagrammknoten kann erst ausgeführt werden, wenn an all seinen EingängenDaten anliegen. In LabVIEW wird die Ausführung eines VIs durch das Datenflussmo-dell bestimmt. In Abbildung (2.8) wird das Prinzip des Datenflussmodells vorgestellt.

Abbildung 2.8: Illustration des Datenflussmodells

HTW des Saarlandes Industrielle Bildverarbeitung 7

Page 22: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2 Einführung in LabVIEW

Zuerst wird der erste Knoten [1] ausgeführt, wenn die Daten (Zahl1 und Zahl2) an sei-nen Eingängen anliegen. Das Ergebnis wird an den Teileingang des zweiten Knotens[2] weitergeleitet, wenn die Ausführung des Knotens beendet ist. Die Multiplikations-funktion kann demnach ausgeführt werden, wenn die Additionsfunktion beendet ist.Dies entspricht dem Datenfluss. In LabVIEW lässt sich der Datenfluss im „HighlightModus“ ansehen.

2.5 Erstellen und Verwendung von SubVIs

Stellen Sie sich vor, Sie würden eine große Applikation entwickeln ohne den Einsatzvon SubVIs. Das hätte zur Folge, dass Ihr Programmcode unübersichtlicher aussehenwürde und keinen wiederverwendbaren Abschnittscode hätte.

Mit SubVIs können Sie Ihre Applikation so gestalten, dass sie effizienter und einfacherzu verstehen ist. SubVIs sind im Grunde VIs, die in einem anderen VI eingesetztwerden können. Betrachten wir folgendes Beispiel, um diesen Begriff noch deutlicherzu schildern. Für das Erstellen des SubVIs sind zwei Schritte erforderlich:

• Zuordnen des Anschlussfeldes

• Gestalten des SubVI-Symbols

Um ein SubVI zu erstellen gehen Sie folgendermaßen vor:

Um die Bedien- und Anzeigeelemente auf dem Frontpanel zuzuordnen, wählt man einAnschluss des angezeigten Musters (vgl. Abbildung 2.9) und klickt danach auf ein Be-dienelement. Wiederholen Sie das gleiche Verfahren für die anderen Anzeigeelemente,indem sie jeweils auf die oben rechts zugeordneten Anschlüsse klicken und danach aufdas entsprechende Anzeigeelement. Nach Zuordnung der Frontpanelobjekte ändertsich die Farbe des zugewiesenen Feldes am Anschluss (vgl. Abbildung 2.10).

Abbildung 2.9: Zuordnen des Anschlussfeldes

8 Industrielle Bildverarbeitung HTW des Saarlandes

Page 23: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2.5 Erstellen und Verwendung von SubVIs

Abbildung 2.10: Anschlussfeld nach Zuordnen

Die Farbe stellt die verschiedenen Datentypen in LabVIEW dar (vgl. Abbildung (2.11)

Abbildung 2.11: Häufig verwendete Datentypen in LabVIEW

In unserem Beispiel, soll der Mittelwert aus zwei Zahlen errechnet werden. Für das Ge-stalten des Symbols klicken Sie mit der rechten Maustaste in das rechts oben angezeigteLabVIEW-Icon und danach auf „Symbol bearbeiten“. Der Symbol-Editor erscheint aufdem Bildschirm (vgl. Abbildung 2.12)

Abbildung 2.12: LabVIEW Symbol-Editor

Im Symbol-Editor können Sie Ihr SubVI-Symbol gestalten. Wählen Sie das in derAbbildung 2.12 eingekreiste Element (1) und markieren sie das Standard-Symbol.Drücken Sie auf die Taste „Entfernen“, um das Symbol zu löschen. Versuchen Sie einaussagekräftiges SubVI zu erstellen, denn das Symbol soll auf graphische Weise dieFunktion des Programms darstellen. Ein Beispiel des SubVI-Symbols zur Berechnungeines Mittelwerts könnte so aussehen (vgl. Abbildung 2.13).

Öffnen Sie ein neues VI und drücken sie die Tastenkombination (Strg + E), um in das

HTW des Saarlandes Industrielle Bildverarbeitung 9

Page 24: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2 Einführung in LabVIEW

Abbildung 2.13: Beispiel eines SubVI-Symbols zur Berechnung des Mittelwertes

Blockdiagramm zu wechseln. Navigieren Sie mit rechtem Mausklick in die Funktions-palette und wählen Sie dort ein SubVI aus (vgl. Abbildung 2.14) .Öffnen Sie das SubVIund schauen Sie sich den Aufbau des VIs an.

Tipp: Beim Erstellen von SubVIs denken Sie bitte immer an den Fehlercluster. MehrInformationen darüber finden Sie im Unterkapitel 2.7.

Abbildung 2.14: Vorgefertigte SubVIs in LabVIEW

2.6 Kommentare und Dokumentation in LabVIEW

Wie jede Programmiersprache haben Sie auch in LabVIEW die Möglichkeit Ihre Pro-gramme zu dokumentieren. Mit einem Doppelklick auf das Blockdiagrammfeld, kön-nen die angezeigten Kommentare mit gelbem Hintergrund eingefügt werden. WennSie ein Draht beschriften wollen, klicken Sie mit der rechten Maustaste auf den Draht(Sichtbare Objekte → Beschriftung) und fügen Sie Kommentare ein (vgl. Abbildung2.15).

Abbildung 2.15: Kommentare im Blockdiagramm

10 Industrielle Bildverarbeitung HTW des Saarlandes

Page 25: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2.7 Fehlerbehandlung

Zusätzlich dazu, können Sie Ihre Frontpanelobjekte kommentieren, so dass beim Aus-führen des VIs die Kommentare angezeigt werden. Dazu gehen Sie folgendermaßenvor:

Klicken Sie mit der rechten Maustaste auf ein Element und wählen Sie Eigenschaften.Danach wechseln Sie in das Register Dokumentation und dort können Sie eine pas-sende Beschreibung zu Ihrem Objekt einfügen und mit OK bestätigen. Diese Art vonKommentaren lassen sich dann anzeigen, wenn Sie die LabVIEW Hilfe aktivieren (Strg+ H) oder auf das Fragezeichen klicken und der Cursor auf das Element platzieren.

2.7 Fehlerbehandlung

Sobald ein VI in LabVIEW wegen einem Programmfehler nicht ausführbar ist, wird derAusführungspfeil zerbrochen dargestellt. Klicken Sie auf den zerbrochenen Pfeil, umdie Fehlerliste anzuzeigen. Hier werden alle im Blockdiagramm auftretenden Fehlerund Warnungen aufgelistet. Mit einem Klick auf den Button „Fehler anzeigen“ wirdim Blockdiagramm die Fehlerstelle „blinkend“ dargestellt. In LabVIEW unterscheidetman zwei Kategorien von Fehlerbehandlungen:

Die automatische Fehlerprüfung

Beim Ausführen eines VIs reagiert LabVIEW per Voreinstellung automatisch auf einenFehler. Das VI wird angehalten und ein Fehlerdialog mit einem Fehlercode erscheintmit der dazugehörigen Meldung. Die automatische Fehlerbehandlung lässt sich in denVI-Eigenschaften deaktivieren.

Die manuelle Fehlerprüfung

Unter manueller Fehlerbehandlung geht es darum, das VI so zu programmieren, dasses bei einem bestimmten Fehlerauftritt den Benutzer informiert. Dazu werden Funk-tionen und Fehlerbehandlungs-VIs verwendet. Zusätzlich dazu werden Fehler-Clusterzum Verwalten von Errors in LabVIEW eingesetzt. Ein Fehler-Cluster (vgl. Abbildung2.16) besteht aus drei Komponenten:

• Der Status vom Datentyp „Bool“ gibt den Wert True aus, wenn ein Fehler aufge-treten ist.

• Der Code zeigt beim Fehlerauftritt ein Integerwert und meistens eine Beschrei-bung der Fehlermeldung an

• Die Quelle, gibt in Form eines Strings den Fehler aus.

HTW des Saarlandes Industrielle Bildverarbeitung 11

Page 26: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2 Einführung in LabVIEW

Abbildung 2.16: Fehler-Cluster

2.8 Programmstrukturen

2.8.1 Die While- und For-Schleife

In Abbildung 2.17 sehen Sie eine While-Schleife in LabVIEW, die durch ein Rahmen mitveränderbarer Größe definiert ist. Sobald ein Unterprogramm von einer While-Schleifeumrahmt ist, wird diese mindestens einmal ausgeführt. Der Schleifenabbruch wirddurch den Bedingungsanschluss bestimmt. In der Palette „Strukturen“ im Blockdia-gramm befindet sich die While-Schleife. Um die While-Schleife auf das Blockdiagrammzu platzieren, muss diese ausgewählt, und bei gedrückter Maustaste aufgezogen wer-den. Der Rahmen der While-Schleife schließt sich um den markierten Bereich sobalddie Maustaste wieder losgelassen wird.

Abbildung 2.17: While-Schleife

Wenn Sie den Bedingungsanschluss mit einer Konstante False verbinden, entstehtbeim Ausführen des VIs eine Endlosschleife (vgl. Abbildung 2.18), die nur mit demAbbruch (Notaus-Taste) des VIs zu stoppen ist. Die Schleifeniteration zählt, wie oft dieSchleife ausgeführt wird.

12 Industrielle Bildverarbeitung HTW des Saarlandes

Page 27: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2.8 Programmstrukturen

Abbildung 2.18: Endlosschleife

Die For-Schleife

Bei einer For-Schleife wird ein Unterprogramm so lange ausgeführt bis die festgelegteAnzahl erreicht ist (vgl. Abbildung 2.19).

Der Zählanschluss bestimmt wie oft die Schleife ausgeführt wird. Der Iterationsan-schluss gibt die Anzahl der Durchläufe an.

Abbildung 2.19: For-Schleife und Ablaufdiagramm

2.8.2 Schiebe-Register

Schieberegister dienen zum Speichern von Daten, wenn Sie zum Beispiel Daten zwi-schen zwei Durchläufen austauschen wollen. Für For- und While-Schleifen können

HTW des Saarlandes Industrielle Bildverarbeitung 13

Page 28: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2 Einführung in LabVIEW

Schiebe-Register verwendet werden. Zum Erstellen von Schieberegistern klicken Siemit der rechten Maustaste auf den linken oder rechten Rand der Schleifen und wäh-len Sie aus dem Menü die Option „Schieberegister hinzufügen“. Sie können auchmehrere Schieberegister für eine Schleife vergeben. Dem Schieberegister kann auchein Startwert gegeben werden (vgl. Abbildung 2.20).

Abbildung 2.20: Initialisierung von Schieberegistern

2.8.3 Case und Sequenzstruktur

Eine Case-Struktur ist wie der Name schon sagt eine Ablaufstruktur in LabVIEW,womit man unterschiedliche Fallunterscheidungen umsetzen kann. Die Case-Strukturwird durch ein Rahmen mit einem Auswahlmenü. im Blockdiagramm gekennzeich-net. Standardmäßig besteht eine Case-Struktur aus zwei Unterdiagrammen (True undFalse). Zusätzlich wird durch ein Case-Selektor festgelegt, welches Unterdiagrammausgeführt wird (vgl. Abbildung 2.21).

Abbildung 2.21: Case-Struktur

14 Industrielle Bildverarbeitung HTW des Saarlandes

Page 29: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2.8 Programmstrukturen

Es wird immer nur ein Unterdiagramm angezeigt. Klicken Sie auf den Aufwärts-oder Abwärts-Pfeil, um die nächste oder vorherige Auswahl anzeigen zu lassen (vgl.Abbildung 2.22)

Abbildung 2.22: Abwärts- und Aufwärts-Pfeil der Case-Struktur

Sie finden die Case-Struktur auf der Funktionspalette im Blockdiagramm und dieselässt sich wie eine While-Schleife im Blockdiagramm aufziehen.

Nehmen wir ein Beispiel, um die Funktion einer Case-Struktur näher zu erläutern. Indiesem Beispiel sollen zwei Zahlen addiert und dividiert werden.

• Öffnen Sie ein neues VI und platzieren Sie zwei numerische Bedienelemente, einboolesches Element und ein numerisches Anzeigeelement, auf das Frontpanel.

• Erstellen Sie, das in Abbildung 2.23 angezeigte Blockdiagramm.

Abbildung 2.23: Anwendung der Case-Struktur

Sequenzstruktur

Sequenzstrukturen dienen zur sequenziellen Ausführung von Programmteilen. SehenSie sich das folgende Programmbeispiel in Abbildung 2.24 an.

Abbildung 2.24: Nicht Sequenzielle Programmierung

HTW des Saarlandes Industrielle Bildverarbeitung 15

Page 30: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2 Einführung in LabVIEW

In diesem Beispiel wird nicht festgelegt, welches Ereignis zuerst ausgeführt wird. Aberes ist durchaus möglich mittels Sequenzstruktur zu entscheiden, ob zuerst die Additi-on, dann die Multiplikation und schließlich das Dialogfeld bearbeitet werden soll (vgl.Abbildung 2.25). Zur Auswahl der Sequenzstruktur gehen Sie, wie in Abschnitt 2.8.1vor.

Abbildung 2.25: Sequenzielle Programmierung

2.8.4 Ereignisstruktur

Mit der Ereignisstruktur können Ereignisse eines VIs verarbeitet werden. Damit kön-nen Benutzeraktionen auf dem Frontpanel mit der Blockdiagrammausführung syn-chronisiert werden. Wenn der Benutzer einen Wert eingibt, dann wird ein Event-Caseausgeführt. Abbildung 2.26 zeigt eine Ereignisstruktur in LabVIEW.

Abbildung 2.26: Ereignisstruktur

Im folgenden Beispiel soll auf ein Ereignis im Frontpanel reagiert werden, welches überein Bedienelement ausgelöst wurde. Ziehen Sie ein Bedienelement in das Frontpanelrein. Zum Konfigurieren der Ereignisstruktur klicken Sie den Rahmen der Strukturmit der rechten Maustaste an und wählen Sie „Ereignisse dieses Cases bearbeiten“(vgl. Abbildung 2.27).

16 Industrielle Bildverarbeitung HTW des Saarlandes

Page 31: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2.8 Programmstrukturen

Abbildung 2.27: Konfigurieren eines Ereignis-Cases

Wählen Sie unter Ereignisquellen das Bedienelement aus. Im rechten Bereich werdenEreignisse angezeigt, die von den links ausgewählten Quellen erzeugt werden können.Auf die Wertänderung des Bedienelements soll das VI reagieren. Das heißt man wähltdas Ereignis „Wertänderung“ aus (vgl. Abbildung 2.28).

Abbildung 2.28: Ereignisse bearbeiten

2.8.5 Lokale und globale Variablen in LabVIEW

Variable dienen zum Speichern und übertragen von Daten zwischen Prozessen.

Stellen Sie sich vor in Ihrer Applikation soll an mehreren Stellen im Programm aufeine Variable zugegriffen werden. Ein Frontpanel-Element verfügt jedoch nur über

HTW des Saarlandes Industrielle Bildverarbeitung 17

Page 32: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2 Einführung in LabVIEW

einen Blockdiagrammanschluss. Mit lokalen und globalen Variable, können Sie Datenan unterschiedlichen Stellen in Ihrem Programm austauschen, ohne direkte Blockdia-grammverbindung. Lokale Variablen sind dabei nur innerhalb eines VIs gültig.

Erstellen einer lokalen Variablen

Eine lokale Variable lässt sich erstellen, indem Sie einen Rechtsklick auf das Front-panelelement oder Blockdiagrammobjekt (Erstellen→ lokale variable) machen. Diezweite Möglichkeit ist eine lokale Variable direkt aus der Palette „Funktionen“ aus-zuwählen. (vgl. Abbildung 2.29 ). Der Variablen muss anschließend noch ein Objektzugewiesen werden.

Abbildung 2.29: Lokale Variable in LabVIEW

Klicken Sie mit der rechten Maustaste auf die Variable und wählen Sie aus dem Menüdie Option Objekt auswählen.

2.9 Erstellen von Arrays

Arrays lassen sich durch Platzieren eines Array-Containers erstellen. In den Containerwerden anschließend die Datenobjekte reingelegt. Sie finden den Array-Container aufder Palette „Array, Matrix“.

• Erstellen Sie ein neues VI

• Klicken Sie mit der rechten Maustaste auf das Frontpanel zur Anzeige der PaletteElemente.

• Navigieren Sie in der Palette Bedienelemente zu Modern→ Array , Matrix, &Cluster und ziehen Sie den Array-Container auf das Frontpanel (vgl. Abbildung2.30).

• Navigieren Sie auf der Palette Bedienelemente zu Modern→ Numerisch undziehen Sie ein numerisches Anzeigeelement in den Array-Container. (vgl. Ab-bildung 2.31).

• Ziehen Sie das Array auf, um sich mehrere Elemente anzeigen zu lassen (vgl.Abbildung 2.32).

18 Industrielle Bildverarbeitung HTW des Saarlandes

Page 33: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2.9 Erstellen von Arrays

Abbildung 2.30: Erstellen eines Arrays

Abbildung 2.31: Zuweisen des Array-Datentyps

Abbildung 2.32: Anzeige der Elemente eines Arrays

HTW des Saarlandes Industrielle Bildverarbeitung 19

Page 34: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2 Einführung in LabVIEW

2.9.1 2D-Array

2D Arrays bestehen aus Zeilen und Spalten. Die einzelnen Elemente werden durchSpalten- und Zeilenindex angesprochen (vgl. Abbildung 2.33).

Abbildung 2.33: 2D Array

Erstellen eines 2D Array

Mit Hilfe zweier ineinander verschachtelter For-Schleifen (vgl. Abbildung 2.34 ) lassensich Zweidimensionale Arrays darstellen. Die äußere Schleife liest die Zeile aus unddie innere Schleife die Spalten.

Abbildung 2.34: Erzeugen eines 2d Arrays

2.9.2 Array Funktionen

LabVIEW stellt zur Bearbeitung von Arrays Funktionen zur Verfügung. Diese befin-den sich in der Palette „Array“ im Blockdiagramm.

Array-Größe: Gibt die Anzahl der Elemente von jeder Dimension aus (vgl. Abbildung2.35).

20 Industrielle Bildverarbeitung HTW des Saarlandes

Page 35: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2.9 Erstellen von Arrays

Abbildung 2.35: Größe eines 2D-Arrays

Array initialisieren: Erzeugt ein n-dimensionales Array, in dem jedes Element vori-nitialisiert wird. Zum Erhöhen der Dimension muss die Funktion mit Hilfe des Po-sitionierwerkzeugs erweitert werden. Die Standarddatentypen für diese polymorpheFunktion sind im Anschlussfeld dargestellt (vgl. Abbildung 2.36).

Abbildung 2.36: Initalisierung eines Arrays

Array indizieren: Gibt ein Element oder Teil-Array am angegebenen Index aus. Wennein n-dimensionales Array an diese Funktion angeschlossen wird, zeigt sie für jedeDimension einen Index-Eingang an. Zum Hinzufügen zusätzlicher Elemente oderTeil-Array-Anschlüsse, kann die Funktion mit der Maus aufgezogen werden. (vgl.Abbildung 2.37). Die Standarddatentypen für diese polymorphe Funktion sind imAnschlussfeld dargestellt. Weitere Array Funktionen finden Sie in der LabVIEW Hilfe(Neues VI→ Hilfe→ LabVIEW-Hilfe→ Inhalt→ VI- und Funktionenübersicht→ VIund Funktionen zur Programmierung→ Array-Funktionen).

Abbildung 2.37: Indizieren eines 2D-Arrays

HTW des Saarlandes Industrielle Bildverarbeitung 21

Page 36: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2 Einführung in LabVIEW

2.10 Erstellen von Clustern

Ein Cluster kann mehrere, auch unterschiedliche, Elemente bündeln. Ein einfachesBeispiel ist unser Fehlercluster, der aus drei unterschiedlichen Datentypen (String,Bool, Integer) besteht. In befehlsorientierten Programmiersprachen sind Cluster mitStrukturen zu vergleichen. Das Zusammenfassen mehrerer Datentypen als Clusterverringert die Anzahl der Verbindungsleitungen und sorgt somit für einen übersicht-licheren Programmcode.

Cluster lassen sich durch platzieren eines Cluster-Containers (vgl. Abbildung 2.38) imFrontpanel erzeugen. Danach werden Datenobjekte oder Elemente in den Containerreingezogen. Sie finden den Cluster-Container auf der Palette „Array, Matrix“.

Abbildung 2.38: Erstellen eines Clusters

2.10.1 Cluster Funktionen

LabVIEW stellt zur Bearbeitung von Cluster bzw. Zugriff auf die Elemente mehrereFunktionen zur Verfügung. Diese befinden sich auf der Palette „Cluster“ im Blockdia-gramm.

Nach Namen aufschlüsseln: Gibt die Cluster-Elemente aus. Die Reihenfolge der Ele-mente innerhalb des Clusters muss nicht beachtet werden. Nachdem Sie die Funktionmit einem Cluster verbunden haben, können Sie bestimmte Elemente auswählen (vgl.Abbildung 2.39).

Abbildung 2.39: Aufschlüsseln der Elemente eines Clusters

22 Industrielle Bildverarbeitung HTW des Saarlandes

Page 37: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2.11 Zustandsautomat

Bündeln: Diese Funktion verbindet einzelne Elemente zu einem Cluster. Sie könnenaußerdem getrennt voneinander verändert werden. Verbinden Sie dazu ein Cluster, mitder Funktion „Elemente Bündeln“. Wenn ein Cluster an die Funktion angeschlossenwird, passt sie sich automatisch ihrer Größe an, so dass für jedes Element ein Ein-gang angezeigt wird. Die Standarddatentypen für diese polymorphe Funktion sind imAnschlussfeld dargestellt (vgl. Abbildung 2.40).

Abbildung 2.40: Elemente bündeln

Weitere Cluster-Funktionen finden Sie in der LabVIEW Hilfe (Neues VI → Hilfe →LabVIEW-Hilfe→ Inhalt→ VI- und Funktionenübersicht→ VI und Funktionen zurProgrammierung→ VIs und Funktionen der Palette, Cluster, Klasse - und Variant-VIsund -Funktionen).

2.11 Zustandsautomat

2.11.1 Definition

Zustandsautomaten sind ein sehr häufig verwendetes und nützliches Entwurfsmusterin LabVIEW. Mit dem Zustandsautomaten kann jeder Algorithmus umgesetzt wer-den, der mit Hilfe eines Zustands- oder Ablaufdiagramms beschrieben werden kann.Zustandsautomaten werden in der Regel für schwierigere Entscheidungsalgorithmenverwendet, z. B. bei der Diagnose oder Prozessüberwachung.

Ein Zustandsautomat besteht aus mehreren Zuständen und einer Übergangsfunktion,die den nächsten Zustand angibt. Endliche Zustandsautomaten kommen in verschie-denen Varianten vor.

2.11.2 Anwendung von Zustandsautomaten

Verwenden Sie Zustandsautomaten immer dann in einer Applikation, wenn das Pro-gramm in deutlich unterscheidbaren Zuständen gegliedert werden kann. Jeder Zu-stand kann zu einem oder mehreren Zuständen oder zum Ende des gesamten Prozes-ses führen. Der nächste Zustand eines Automaten wird anhand von Benutzereingabenoder internen Berechnungen bestimmt. Viele Applikationen haben einen Initialisie-rungszustand. Diesem folgt in der Regel ein Standardzustand, in dem verschiedene

HTW des Saarlandes Industrielle Bildverarbeitung 23

Page 38: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2 Einführung in LabVIEW

Aktionen durchgeführt werden können. Die Aktionen können von vorherigen und ak-tuellen Eingaben oder Zuständen abhängig sein. Der letzte Zustand dient meist zumBeenden des Programms und Löschen von Daten.

Benutzeroberflächen sind häufig nach dem Automatenprinzip programmiert. Die Be-dienschritte an der Benutzeroberfläche werden dabei von verschiedenen Programm-teilen verarbeitet.

Jeder Programmteil entspricht einem Zustand im Automaten. Nach Abarbeitung einesProgrammteils wird entweder zum nächsten Schritt gewechselt oder auf eine Eingabedes Benutzers gewartet. In einer Applikation, die als virtuelles Bedienpult fungierensoll, spielen für den Programmablauf nur Benutzereingriffe eine Rolle.

Das Automatenmodell wird auch bei der Testautomatisierung befolgt. Dabei entsprichtjeder Test einem Zustand. Je nach Ergebnis eines Tests wird ein anderer Zustand auf-gerufen. Das kann fortlaufend der Fall sein, wodurch Sie eine detaillierte Analyse desTestprozesses erhalten. Der Vorteil von Automaten besteht darin, dass die Entwicklungvon LabVIEW-VIs nach der Erstellung des Zustandsdiagramms sehr einfach ist.

2.11.3 Aufbau des Zustandsautomaten

Zur Umsetzung eines Zustandsautomaten in einem LabVIEW-Blockdiagramm sindfolgende Komponenten erforderlich:

• While-Schleife: Führt kontinuierlich die verschiedenen Zustände aus.

• Case-Struktur: Enthält einen Case pro Zustand und die Blockdiagrammabschnit-te für die einzelnen Zustände.

• Schieberegister: Enthält Angaben zum Zustandsübergang.

• Programmcode für die Funktionen des Zustands: Setzt die Funktion des Zu-stands programmtechnisch um.

• Programmcode für den Übergang: Bestimmt den nächsten Zustand.

In Abbildung 2.41 ist der grundsätzliche Aufbau eines Zustandsautomaten in Lab-VIEW zu sehen.

24 Industrielle Bildverarbeitung HTW des Saarlandes

Page 39: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2.11 Zustandsautomat

Abbildung 2.41: Aufbau des Zustandsautomaten

Der Ablauf im Zustandsdiagramm wird im Programm durch eine While-Schleife (1)umgesetzt. Die einzelnen Zustände werden durch Cases in der Case-Struktur (2) darge-stellt. Im Schieberegister (3) der While-Schleife wird der aktuelle Zustand gespeichertund an den Eingang der Case-Struktur übermittelt.

2.11.4 Steuern von Zustandsautomaten

Der Beginn und der Übergang von Zuständen im Automatenmodell werden am bestenmit Enum- Elementen (4) umgesetzt. Enum-Elemente dienen häufig zur Fallunterschei-dung in Programmen, die nach dem Automatenmodell programmiert sind. Wenn derBenutzer allerdings versucht, einem Enum-Element einen Zustand hinzuzufügen odereinen Zustand zu löschen, werden die verbleibenden Verbindungen unterbrochen, diemit Kopien des Enum-Elements verbunden sind. Dies ist das häufigste Problem beider programmatischen Umsetzung von Zustandsautomaten mit Enum-Elementen. Ei-ne Lösung für das Problem besteht darin, eine Enum mit Typdefinition zu erstellen.Dadurch passen sich alle Exemplare des Enum-Elements automatisch an gelöschteoder hinzugefügte Zustände an.

2.11.5 Übergänge bei Zustandsautomaten

Es gibt verschiedene Möglichkeit, die Ausführung der Cases in einem Zustandsauto-maten festzulegen. Wählen Sie daher die Methode, die der Funktion und KomplexitätIhres Zustandsautomaten am besten entspricht. Die einfachste und gebräuchlichsteMethode, zwischen den Zuständen zu wechseln, ist eine einfache Case-Struktur. DieseMethode bietet die am besten erweiterbare und überschaubare Architektur.

Anwendungsbeispiel: im Folgenden Beispiel sollen zwei Zahlen dividiert werden.Die Ausführung der Berechnung erfolgt über die Schaltfläche „Division“. Der Button

HTW des Saarlandes Industrielle Bildverarbeitung 25

Page 40: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2 Einführung in LabVIEW

„Stopp“ beendet das VI.

Erstellen Sie das in Abbildung 2.42 dargestellte Frontpanel und wechseln Sie in dasBlockdiagramm. Wählen Sie eine Enum-Konstante (Rechtsklick im Blockdiagramm→Numerisch). In der Enum-Konstante werden die verschiedenen Zustände eingetragen.Dazu klicken Sie das Element mit der rechten Maustaste an und wählen Sie „Objektebearbeiten“. Tragen Sie die Zustände ein und bestätigen Sie danach mit ok, wie inAbbildung 2.43. angezeigt.

Abbildung 2.42: Frontpanel des Anwendungsbeispiels

Abbildung 2.43: Eigenschaftsfenster für eine Enum-Konstante

Fügen Sie im Blockdiagramm eine While-Schleife, Case- und Ereignisstruktur ein.Verbinden Sie die Enum-Konstante mit der Case-Struktur. Konfigurieren Sie die Be-dienelemente „Division“ und „Stopp“ mit den Ereignissen „Wertänderung“. KlickenSie mit der rechten Maustaste am Rand der Case-Struktur und wählen Sie „Case fürjeden Wert hinzufügen“ (vgl. Abbildung 2.44).

26 Industrielle Bildverarbeitung HTW des Saarlandes

Page 41: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

2.11 Zustandsautomat

Abbildung 2.44: Zustandsautomat

Kopieren Sie die Enum-Konstante und platzieren Sie diese in den Unterdiagrammender Ereignisstruktur. Ändern Sie die Zustände und verbinden Sie die Enum-konstantemit der While-Schleife. Wählen Sie mit einem rechten Mausklick am Rand der While-Schleife die Option „Durch Schieberegister ersetzen“ (vgl. Abbildung 2.45).

Abbildung 2.45: Zustandsübergänge

Vervollständigen Sie Ihr Blockdiagramm wie in Abbildung 2.46 angezeigt. In denUnteren Cases „Exit“ und „Init“ klicken Sie an den Ausgang des Bedienelements „Er-gebnis“ und wählen Sie „Standard verwenden, wenn nicht verbunden“. AktivierenSie die Highlight-Funktion, führen Sie das VI aus und betrachten Sie den Datenflussim Blockdiagramm.

Abbildung 2.46: Blockdiagrammcode

HTW des Saarlandes Industrielle Bildverarbeitung 27

Page 42: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc
Page 43: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3 Praktikumsdurchführung

3.1 Erstellung eines Beispielprojektes in LabVIEW

In diesem Versuch werden die Bildverarbeitungsalgorithmen mit entsprechender Be-nutzeroberfläche in LabVIEW implementiert. Die Verarbeitung von Bildern erfolgtüber das Vision Development Module und die Vision Acquisition Software.

Abbildung 3.1: User Interface zum Laden und speichern eines Bildes

Abbildung 3.1 zeigt das Beispiel einer Benutzeroberfläche zur Darstellung eines Live-bildes.

1. Der Button „Datei laden“ soll ein Bild von der Festplatte oder einem Treiber einerKamera laden.

2. Der Button „Bild speichern“ soll das im Display angezeigte Bild auf der Festplatteabspeichern.

3. Mit dem Button „Standbild/Livebild“ soll zwischen Livebild und Standbild um-geschaltet werden können.

4. Beendet die Anwendung.

5. In diesem Fenster werden die Bilder dargestellt.

HTW des Saarlandes Industrielle Bildverarbeitung 29

Page 44: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3 Praktikumsdurchführung

Starten Sie LabVIEWUm ein neues Projekt zu erstellen, gehen Sie folgendermaßen vor: Gehen Sie auf Datei→ Projekt erstellen (vgl. Abbildung 3.2).

Abbildung 3.2: Erstellen eines Projektes

Wählen Sie „Leeres Projekt“, um ein leeres Projekt anzulegen und klicken Sie auffertigstellen. LabVIEW erstellt ein Projekt, wie in Abbildung 3.3 angezeigt.

Abbildung 3.3: LabVIEW Projekt-Explorer

Wählen Sie Datei→ Speichern, um das Projekt zu speichern.

• Projektname: Kamera.

• Pfad C:→ Users→ userXXX→ Documents→ IBV→ Gruppe XYZ und mit OKbestätigen.

Fügen Sie dem Projekt unter der Rubrik „Mein Computer“ ein neues VI hinzu. Dazuklicken Sie im Projekt-Explorer mit der rechten Maustaste auf Mein Computer→Neu

30 Industrielle Bildverarbeitung HTW des Saarlandes

Page 45: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3.2 Software

→ VI. Klicken Sie auf Datei→ Speichern, und speichern Sie das VI unter dem Namenxyz im Verzeichnis: C:→ Users→ userXXX→ Documents→ IBV→ Gruppe XYZ

LabVIEW fügt im Projekt-Explorer das VI hinzu (vgl. Abbildung 3.4).

Abbildung 3.4: Hinzufügen eines VIs im LabVIEW Projekt-Explorer

Öffnen Sie das VI mit einem Doppelklick. Danach kann die Benutzeroberfläche gestal-tet und im Blockdiagramm der Code erstellt werden.

3.2 Software

Folgende Softwarepaletten werden benötigt, um die Steuerung einer Kamera über die„Vision and Motion“ Palette zu realisieren.

• LabVIEW

• NI Vision Acquisition Software

• NI Development Module

Nach der Installation kann das Modul „Bilderkennung und Motorsteuerung“ aufge-rufen werden (vgl. Abbildung 3.5). Prüfen Sie, ob die Palette schon vorhanden ist.Dazu klicken Sie mit der rechten Maustaste auf ein leeres Feld im Blockdiagrammund wählen „Bilderkennung und Motorsteuerung“, wenn Sie eine deutsche LabVIEWVersion verwenden oder „Vision and Motion“ für die englische Version.

HTW des Saarlandes Industrielle Bildverarbeitung 31

Page 46: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3 Praktikumsdurchführung

Abbildung 3.5: Vision and Motion Palette

3.2.1 NI Vision Acquisition Software

Um Kameras ansprechen zu können, muss das NI Vision Acquisition Paket installiertsein. Es beinhaltet alle wichtigen Treiber.

3.2.2 Vision Development Module

Die Vision Module beinhalten mehrere Funktion für die Bearbeitung von Bildern inLabVIEW. (vgl. Abbildung 3.6).

Benutzen Sie die Funktion „IMAQ Image to Array“, um ein Bild in diskrete Werte zutransformieren. Navigieren Sie dazu auf folgende Palette im Blockdiagramm: Visionand Motion→Vision Utilities→ Pixel Manipulation und wählen Sie dort die Funktion„IMAQ Image to Array“ aus.

Abbildung 3.6: Bildverarbeitungspalette

32 Industrielle Bildverarbeitung HTW des Saarlandes

Page 47: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3.2 Software

3.2.3 NI-MAX

Die Abkürzung MAX steht für Measurement Automation Explorer und dient zur:

• Konfiguration von Hard- und Software der Firma National Instruments.

• Anlegen von Sicherungskopien der Konfigurationsdaten.

• Erstellen und Bearbeiten von Kanälen, Task, Schnittstellen, Skalierungen undvirtuellen Instrumenten.

• Ausführung von Systemdiagnosen.

• Anzeigen von Geräten, die mit dem System verbunden sind.

• Aktualisieren von NI-Software.

Livebild im NI-MAX

Starten Sie den NI-MAX (Start→ NI-MAX in das Suchfeld eingeben und bestätigen).

Erweitern Sie Geräte und Schnittstelle und danach NI-IMAQdx Devices. Hier solltenalle an Ihr System angeschlossenen Kameras sichtbar sein (vgl. Abbildung 3.7).

Abbildung 3.7: Darstellung und Konfiguration einer kamera im NI-MAX

Klicken Sie auf „Snap“, um ein Bild zu erfassen und auf „Grab“ für eine kontinuierlicheBildaufnahme.

HTW des Saarlandes Industrielle Bildverarbeitung 33

Page 48: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3 Praktikumsdurchführung

3.3 Programmierung der Anwendung

Klicken Sie mit der rechten Maustaste auf das Frontpanel und wählen Sie Vision →Image Display (Classic) aus. Platzieren Sie das ausgewählte Element in das Frontpanel(vgl. Abbildung 3.8). Platzieren Sie außerdem einen Fehler Ein- und Ausgang auf demFrontpanel. Wechseln Sie im Blockdiagramm zur „Vision and Motion“ Palette bzw.„Bilderkennung und Motorsteuerung“.

Abbildung 3.8: Auswahl eines Displays zur Darstellung eines Bildes

Wählen Sie dort NI-IMAQdx und positionieren Sie diese auf das Blockdiagramm, wiein Abbildung 3.9 dargestellt.

Abbildung 3.9: Auswahl der NI-IMAQdx Funktionen

Erstellen Sie das In Abbildung 3.10 angezeigte Programm.

1. Öffnet die Kamera, lädt die Kamerakonfigurationsdateien und erstellt eine Refe-rence. Klicken Sie mit der rechten Maustaste auf den Eingang der Funktion und

34 Industrielle Bildverarbeitung HTW des Saarlandes

Page 49: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3.3 Programmierung der Anwendung

erstellen Sie eine Konstante.

2. Konfiguriert und startet die Bildaufnahme.

3. Erfasst das Live-Bild.

4. Die Funktion „IMAQ Create“ ist in der Palette Bilderkennung und Motorsteue-rung→ Vision Utilities→ Image Management (vgl. Abbildung 3.11). Sie reser-viert Speicher für das erzeugte Bild. Dem Bild ist ein Name zu geben. Dazuklicken Sie mit der rechten Maustaste auf den Eingang der Funktion und wäh-len Sie Erstellen→ Konstante. Geben Sie einen Name ein. Als Bilddatentyp wirddefaultmäßig ein Grauwertbild mit der Bittiefe 8 Bit verwendet. Sie können durchAnlegen einer Konstante am entsprechenden Eingang den Datentyp verändern.

5. Gibt die Ressource frei, bzw. schließt die Referenz.

Abbildung 3.10: Blockdiagramm zur Darstellung eines Live Bildes

Abbildung 3.11: Image management

Wechseln Sie wieder auf das Frontpanel zur Darstellung des Live-Bildes. WählenSie am „Session In“ die Kameras aus. Nach dem Starten des VIs wird das Livebildim Frontpanel angezeigt. Falls kein Livebild angezeigt wird, können Sie im Max dieAnsteuerung der Kamera prüfen.

HTW des Saarlandes Industrielle Bildverarbeitung 35

Page 50: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3 Praktikumsdurchführung

3.4 Beleuchtung

3.4.1 Beleuchtungsmethoden

Die Beleuchtung ist eine der wichtigsten Komponenten eines Bildverarbeitungssys-tems. Wurde sie gut gewählt, so kommt es zu einer starken Vereinfachung der weite-ren Bildverarbeitungsschritte und Applikationen werden robuster. Es gibt zur Reali-sierung einer gerichteten Beleuchtung mehrere Möglichkeiten. Wichtig ist zu wissen,dass die Bildverarbeitung von einem hohen Kontrast lebt. Erst wenn Objektpixel undHintergrund genügend getrennt sind, können weitere Informationen extrahiert wer-den, z.B. die Anzahl von Objekten und ihre Flächen. Die Segmentierung profitiertdemnach ebenfalls von einer guten Beleuchtung. Vorder- und Hintergrund lassen sichumso besser trennen, je größer der Kontrast zwischen ihnen ist. Aber auch bei inhomo-genem Hintergrund lässt sich eine Segmentierung anwenden. Solange ein genügendgroßer, lokaler Kontrast zu den Objekten vorhanden ist.

Zwei Methoden einer gerichteten Beleuchtung sind «Auflicht (Abbildung 3.12)(a) »und «Durchlicht». Durchlicht bedeutet, dass sich das Objekt zwischen Kamera undBeleuchtung befindet (Abbildung 3.12)(b). Bei der Auflicht-Methode wird das Objektvon vorne beleuchtet.

Abbildung 3.12: Auflicht (a), Durchlicht (b)

Häufig verwendete Leuchtmittel sind LEDs und Leuchtstoffröhren. Leuchtstoffröhrensind z.B. bei den Durchlichttischen der technischen Zeichner oder für die Betrachtungvon Röntgenaufnahmen eingesetzt.«Durchlicht» und «Auflicht» sind Arten der Posi-tionierung der Lichtquelle. Eine wichtige Rolle bei diesen beiden Methoden spielt die

36 Industrielle Bildverarbeitung HTW des Saarlandes

Page 51: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3.5 Optische Abbildung

richtige Belichtung. Wie bei jeder Beleuchtungsmethode, ist es auch beim Durchlichtsinnvoll, das Bildsignal in den hellen Bereichen nicht in die Sättigung zu treiben, denndadurch kommt es zu einem Informationsverlust. Überbelichtung an den Rändern ei-nes Objektes kann z.B. zu einer Überstrahlung führen. Diese wiederum wirken sich beieiner Flächenberechnung negativ aus. Auflicht und Durchlicht geben die Position derLichtquelle an. Weiterhin unterscheidet man zwischen Dunkelfeld und Hellfeld (Ab-bildung 3.13). Die Dunkelfeldbeleuchtung tritt dann ein, wenn die Lichtquelle einenWinkel > 45

gegenüber der optischen Achse der Kamera aufweist. Eine plane, größereFläche des Objektes erscheint dunkel und die Prägungen darauf hell. Kratzspuren,Kerben und Prägungen treten besonders bei der Hellfeld-Beleuchtung hervor.

Abbildung 3.13: Hellfeld und Dunkelfeld

3.5 Optische Abbildung

3.5.1 Lochkameramodell

Die grundlegendsten Abbildungseigenschaften einer Kamera werden durch das ein-fachste und älteste Model, die Lochkamera, hinreichend genug beschrieben. Aus-gangspunkt ist ein Objektraum, eine Objektivebene und eine Bildebene. Zusätzlichwird das System durch die Bildweite b f (Kamerakonstante) beschrieben, welche denAbstand zwischen Objektivebene und Bildebene angibt. Aufgrund der infinitesimalkleinen Lochblende entspricht die Bildweite der Brennweite.

HTW des Saarlandes Industrielle Bildverarbeitung 37

Page 52: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3 Praktikumsdurchführung

Zudem wird der Abstand eines Raumpunktes zur Objektivebene als Objektweite Cz

bzgl. des Kamerakoordinatensystems C bezeichnet. In der Objektivebene befindet sichdas optische Zentrum C, über das sich alle Punkte im Objektraum mittels Projek-tionsstrahlen auf die Bildebene abbilden lassen. Der zur Objektivebene senkrechteProjektionsstrahl wird optische Achse genannt. Abbildung 3.14 zeigt das Lochkame-ramodell.

Abbildung 3.14: Lochkameramodell. Es ist die Projektion eines Würfels aus dem Objek-traum auf die Bildebene veranschaulicht

Wie oben schon erwähnt, muss das Loch sehr klein sein. Dies würde bedeuten, dassnur ein geringer Lichteinfall auf den Sensor trifft. Deshalb müsste der Sensor überlängere Zeit belichtet werden. Diese langen Belichtungszeiten bringen aber Nachteilemit sich. Alles was sich während dieser Zeit bewegt, zieht eine «Lichtspur» über dasBild, es kommt zu Bewegungsunschärfe. Deshalb ist es wichtig, mehr Licht auf denSensor in kürzerer Zeit zu lassen. Eine reine Vergrößerung des Lochs würde ebenfallszur Unschärfe führen. Sogenannte Zerstreuungskreise treten auf. Abhilfe schafft eineLinse, welche mehr Licht auf den Sensor bündeln kann. Die Abbildung 3.15 zeigt dieBezeichnungen an einer Linse. Mit Hilfe des Strahlensatz lässt sich der geometrischeZusammenhang mit folgender Gleichung beschreiben:

Abbildung 3.15: Bezeichnung an einer Linse

38 Industrielle Bildverarbeitung HTW des Saarlandes

Page 53: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3.5 Optische Abbildung

GB

=gb f

=f

b f − f (3.1)

Hieraus lässt sich nun die Linsengleichung ableiten:

1f

=1b f

+1g (3.2)

Die Abbildung eines Raumpunktes Cp auf einen Bildpunkt Bp in der Bildebene kannmit den obigen beiden Gleichungen hergeleitet werden:

Bu =b f

CZ·CX

Bv =b f

CZ·CY

(3.3)

Das positive Vorzeichen von Bu und Bv bedeutet, dass die Bildebene vor das Kamera-zentrum verlagert wurde, um die mathematische Beschreibung einfacher zu gestalten.

HTW des Saarlandes Industrielle Bildverarbeitung 39

Page 54: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3 Praktikumsdurchführung

3.6 Grauwerttransformation

Nun zurück zur Programmierung. Unter einer lokalen Grauwerttransformation ver-steht man eine Operation der Form

Oi j = f (gi j) (3.4)

Dabei steht Oi j für den Grauwert an den Koordinaten i, j im Ergebnisbild (Output)und gi j für den Grauwert an derselben Stelle im Eingangsbild (Input). Gleichung 3.4besagt somit, dass der Grauwert jeden Bildpunkt im Eingangsbild mittels der selbenFunktion f (gi j) in den Grauwert des entsprechenden Bildpunktes im Ausgangsbildumgerechnet wird.

3.6.1 Look-Up Tabelle

Die Verwendung einer Look-Up-Tabelle zur Grauwerttransformation bedeutet mathe-matisch, dass die Transformationsfunktion f (gi j) in Gleichung 3.4 durch eine Tabellegegeben ist, die für jeden möglichen Grauwert einen Stützpunkt der Funktion angibt,somit jedem Grauwert einen Funktionswert zuordnet. Obwohl sich mit Look-Up-Tabellen verblüffende Effekte erzielen lassen, muss man beachten, dass sie von sta-bilen Beleuchtungsbedingungen und einem gleichbleibenden Erscheinungsbild derPrüfobjekte abhängig sind, wenn brauchbare Ergebnisse erzielt werden sollen.

3.6.2 Lineare Grauwertskalierung

Durch die lineare Skalierung wird die Grauwertverteilung eines Bildes (Input) durcheine lineare Funktion in ein Ergebnisbild (Output) transformiert.

Gleichung der linearen Skalierung einer Grauwerttransformation lautet:

Oi j = C2 · (C1 + gi j) (3.5)

Wobei Oi j dem Grauwert an der Koordinate i, j im Ergebnisbild und gi j dem Grauwertan der gleichen Stelle im Eingangsbild entspricht.

Mit den Koeffizienten C1 = 0 und C2 = 1 ergibt sich eine identische Abbildung. AchtenSie bitte auf korrektes Clipping an den Rändern des Grauwertbereiches. Stellt z.B.das Ergebnis einer Operation einen negativen Grauwert dar, so ist der Grauwert 0 zuverwenden. Alle Ergebnisse größer 255, sind durch den Grauwert 255 zu ersetzen.

40 Industrielle Bildverarbeitung HTW des Saarlandes

Page 55: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3.7 Statistische Werte eines Grauwertbildes

3.6.3 Kontrastnormierung mit linearer Skalierung

Die lineare Skalierung der Grauwerte nach Gleichung 3.6 durch entsprechende Wahlder Koeffizienten als einfache, aber in vielen Fällen sehr wirksame Methode zur Bild-verbesserung benutzt werden. Dabei verwendet man den minimalen und maximalenGrauwert im Bild, um den Bildkontrast zu normieren, so dass der gesamte Grauwert-bereich von 0 bis 255 (bei einem 8 Bit Grauwertbild) ausgeschöpft wird. Mit gmin demminimalen und gmax dem maximalen Grauwert des Eingangsbildes lässt sich überfolgende Funktion eine Kontrastverbesserung erreichen:

Oi j =255

gmax− gmin· (gi j− gmin) (3.6)

Die Subtraktion von gmin verschiebt den minimalen Grauwert des Bildes auf 0, denmaximalen auf gmax - gmin. Die anschließende Multiplikation sorgt dann dafür, dass dermaximale Grauwert des Ergebnisbildes 255 wird (Beispielberechnung vgl. Abbildung3.16).

Abbildung 3.16: Spreizung der Grauwerte zur Kontrastverbesserung

3.7 Statistische Werte eines Grauwertbildes

Unter einem Histogramm versteht man die Darstellung einer Häufigkeitstabelle in ei-nem Diagramm. In einem Grauwerthistogramm werden die Helligkeitseigenschafteneines Bildes dargestellt. Für jeden Grauwert wird im Histogramm eingetragen, wieoft er im Bild vorkommt. In der Regel werden diese Häufigkeiten für jeden Grauwerteinzeln gezählt. Grafisch wird das Histogramm als Balkendiagramm dargestellt. Auf

HTW des Saarlandes Industrielle Bildverarbeitung 41

Page 56: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3 Praktikumsdurchführung

der Abszisse werden die Grauwerte (bei einem 8Bit-Grauwertbild, 256 Grauwerte)und auf der Ordinate die dazugehörigen relativen Häufigkeiten aufgetragen.

ps(g) =ag

MMit g = 0, 1, ..., 255 (3.7)

Dabei sind g die Grauwerte der Grauwertmenge G und ag die absoluten Häufigkeitendes Auftretens der Grauwerte g in Bild S. M ist die Anzahl der Bildpunkte. (Bild S istein einkanaliges Grauwertbild mit L Zeilen und R Spalten, M = L×R).

3.8 Bildarithmetik

Unter Bildarithmetik versteht man die punktweise Verrechnung zweier (od. mehrerer)Bilder miteinander. Der Grauwert eines Pixels im Ergebnisbild hängt von den Grau-werten korrespondierender Pixel in allen Eingangsbildern ab. Da keine Grauwerteaus einer Umgebung der jeweiligen Pixelkoordinaten eine Rolle spielen, ist dies einePunktoperation, allerdings eine inhomogene, da die Transformationsfunktion für je-den Bildpunkt in Abhängigkeit von den korrespondierenden Bildpunkten der übrigenEingangsbilder verschieden sein kann.

3.8.1 Bildsubtraktion

Die Bildsubtraktion ist eine interessante und vielseitig anwendbare Bildoperation. Dahier auch negative Werte auftreten können, stellen sich jedoch neue Probleme - oderergeben sich neue Möglichkeiten, je nach Standpunkt, - für die Ergebnisskalierung. Jenach Effekt, den man erzielen möchte, kann man verschiedene Skalierungsmethodenanwenden.

3.8.2 Skalierungsmethode Absolutwert (Betrag)

Diese Skalierungsmethode verwendet den Absolutwert des Ergebnisses. Das Ergeb-nisbild enthält in diesem Fall die Information, an welchen Stellen sich die Eingangsbil-der unterscheiden und wie stark. Ein möglicher Einsatzfall wäre die Feststellung derAbwesenheit notwendiger Komponenten, wobei nicht spezifiziert ist, ob diese Kompo-nenten hell oder dunkel sind. Sie müssen sich lediglich vom Hintergrund unterschei-den. Ein typisches Beispiel derartiger Anwendungen sind Druckqualitätsprüfungen,bei denen sowohl eine Beschädigung des Drucks festgestellt werden soll, d.h. fehlendeTeile in den gedruckten Zeichen, als auch Farbflecken. Bezogen auf das ReferenzbildSub-Referenz, wird Weiß auf dunkelgrauem Hintergrund gedruckt. Vom aktuellenKamerabild Sub-Kamera wird das Referenzbild subtrahiert. Bei einwandfreiem Druckerscheint das Ergebnisbild homogen dunkel (nicht völlig schwarz, so einheitlich sinddie Helligkeitswerte realer Objekte niemals), da das Kamerabild an dieser Stelle den

42 Industrielle Bildverarbeitung HTW des Saarlandes

Page 57: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3.8 Bildarithmetik

Hintergrundgrauwert aufweist, das Referenzbild jedoch den der hellen Schrift. WasÄhnliches geschieht, wenn im Kamerabild ein zusätzlicher Farbfleck vorhanden ist.Nach der Absolutwertbildung erscheint im Ergebnisbild ein hellerer Fleck. Beide Ar-ten von Fehlern können im Ergebnisbild nach der Subtraktion leicht segmentiert undanalysiert werden.

3.8.3 Skalierungsmethode Positives Clipping

Wenn man sich nur dafür interessiert, wo das erste Bild (Kamerabild) heller war alsdas zweite Bild (Referenzbild), kann man ein Clipping verwenden, das alle negativenErgebnisse auf 0 setzt. In unserem Beispiel müssten dann fehlende Flächen in dengedruckten Zeichen nicht in Erscheinung treten, da dort das abgezogene Referenzbildheller ist, folglich ein negativer Ergebniswert auftritt, der hier vernachlässigt wird.Diese Abbildungsmethode bietet sich an, wenn nur festgestellt werden soll, wo undin welchem Maße das erste Bild (Kamerabild) heller ist als das zweite Bild, d.h. obzusätzliche helle Objekte vorhanden sind oder geforderte dunkle Objekte fehlen.

HTW des Saarlandes Industrielle Bildverarbeitung 43

Page 58: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3 Praktikumsdurchführung

3.9 Lineare Filter

Lineare Filter gehören zu den lokalen Bildoperationen. Unter lokaler Operation ver-steht man eine Vorverarbeitungsfunktion, bei der sich der Grauwert eines Pixels im Er-gebnisbild aus den Grauwerten einer bestimmten Gruppe von Pixel im Ursprungsbildergibt. Diese Gruppe von Pixel wird als Umgebung oder Nachbarschaft bezeichnet,bei Filterungen auch als Operator oder Filtermaske.

Lineare Filter: Der Grauwert g an einer Stelle (x*, y*) im Ergebnisbild ist das Ergebniseiner Abbildung f(), die auf die Grauwerte gi aller Pixel im Eingangsbild angewandtwird, die sich in einer Nachbarschaft N*des Punktes (x*, y*) befinden. Üblicherweiseist der Zielpunkt (x*, y*) ebenfalls Teil dieser Nachbarschaft, notwendig ist dies jedochnicht.

Formal geschrieben:

g(x∗, y∗) = f (gi(x, y)) ((x, y)Elemente von N∗) (3.8)

Durch entsprechende Spezifikation der Abbildungsfunktion f() entstehen völlig ver-schiedenartige Filter. Bei der Durchführung dieser lokalen Operation wird die defi-nierte Nachbarschaft in der Regel punktweise über das Bild verschoben und somitPunkt für Punkt des Ergebnisbildes berechnet.

Lineare Filter erhält man, indem für die Abbildungsfunktion f() in Gleichung 3.8eine gewichtete Summierung der Grauwerte innerhalb der definierten Nachbarschaftverwendet wird:

g(x∗, y∗) =1s

R−1∑r=0

C−1∑c=0

fcr · g(x∗−dx + c, y∗−dy + r) (3.9)

Sprachlich ausgedrückt heißt das: dx und dy sind die Abstände zwischen dem Ziel-punkt und der linken oberen Ecke der Nachbarschaft, des Filteroperators. Dieser Filte-roperator habe R Zeilen (row) und C Spalten (column). Entsprechend ist r der Zeilen-index und c der Spaltenindex des Filteroperators. Somit besagt Formel 3.9, dass jederPunkt innerhalb des Rechteckes der Breite C und der Höhe R, dessen linke obere Eckeam Punkt (x∗−dx, y∗−dy) liegt mit dem zugehörigen Filterkoeffizienten fcr gewichtetund aufsummiert wird. Das Ergebnis wird mit dem Faktor s skaliert. Meist ist s dieSumme aller Filterkoeffizienten, da dann der mittlere Grauwert des Bildes erhaltenbleibt. Abbildung 3.17 zeigt das Prinzip eines einfachen Mittelwertfilters. Der Filterhat die gängige Größe von 3 x 3 Pixeln.

44 Industrielle Bildverarbeitung HTW des Saarlandes

Page 59: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3.9 Lineare Filter

Abbildung 3.17: Prinzip eines linearen Filters

Alle Filterkoeffizienten sind 1, der Zielpunkt liegt in der Mitte. Somit sind:

• R = 3 Anzahl der Zeilen des Operators.

• C = 3 Anzahl der Spalten des Operators.

• dx = 1 Abstand zwischen Zielpunkt und dem linken Operantenrand.

• dy = 1 Abstand zwischen Zielpunkt und oberem Operantenrand.

• s = 9 Summe der Filterkoeffizienten.

Für den Zielpunkt (3, 3) lautet Gleichung 3.10 für diesen speziellen Fall, dass alleFilterkoeffizienten 1 sind:

g(3,3) =19

2∑r=0

2∑c=0

g(3−1 + c,3−1 + r)

=19· [gi(2,2) + gi(2,3) + gi(2,4) + gi(3,2) + gi(3,3) + gi(3,4) + gi(4,2) + gi(4,3) + gi(4,4)]

(3.10)Man erkennt, dass das Ergebnis einfach der Mittelwert der Grauwerte aller neun Punk-te innerhalb des Filteroperators ist. Alle linearen Filter folgen diesem Rechenprinzip.Durch unterschiedliche Filterkoeffizienten lassen sich sehr vielfältige Effekte erzielen.

HTW des Saarlandes Industrielle Bildverarbeitung 45

Page 60: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3 Praktikumsdurchführung

Was geschieht an den Rändern eines Images, Randeffekte?

An den Bildrändern entsteht ein Problem bei der Filterung. Bei der Berechnung desErgebnispunktes (0,0) mit einem quadratischen Filter der Größe 3 x 3 fehlen fünf dererforderlichen neun Punkte, da sie negative Koordinaten hätten. Entsprechendes giltfür alle Punkte in der Nähe des Bildrandes auch bei anderen Operatorgrößen.

Es gibt verschiedene Möglichkeiten, mit diesem Problem umzugehen:

• Verkleinerung des Bildes: Bei dieser Methode verzichtet man völlig auf dieRandpunkte, da keine exakt gültigen Werte vorliegen. Dabei verringert sich dieBildgröße durch die Filterung, was sehr unpraktisch ist, für die nachfolgendenVerarbeitungsschritte.

• Randpunkte festsetzen: In diesem Fall werden alle Randpunkte auf einen festenGrauwert gesetzt, meist 0 (schwarz). Die Bildgröße bleibt dabei erhalten. DerHauptnachteil dieses Verfahrens liegt darin, dass Pseudokanten entstehen, dieeine Segmentierung empfindlich stören können.

• Gültige Randpunkte wiederholen: Dieses Verfahren ersetzt alle nicht gültigenRandpunkte durch den Grauwert des jeweiligen ersten gültigen Punktes desBildes. Beim obigen Beispiel eines 3 x 3 Filters ist der erste Punkt, der sich voll-ständig berechnen lässt, der Punkt mit den Koordinaten (1,1). Dessen Grauwertwird dann auch für die angrenzenden Randpunkte (0,0), (1,0) und (0,1) verwen-det. Entsprechend wird der Grauwert von Punkt (2,1) für Punkt (2,0) benutztusw. In Abbildung 3.18 wird dieses Verfahren dargestellt Die Filterumgebung istin der Abbildung grau angedeutet, die Pfeile bezeichnen die Kopie des Grauwer-tes von einem gültigen Punkt in einen Randpunkt. Auf diese Weise stellt man dieStetigkeit der Grauwertinformation am Rand sicher und erhält in den meistenFällen günstige Bildeigenschaften für die Weiterverarbeitung.

46 Industrielle Bildverarbeitung HTW des Saarlandes

Page 61: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3.9 Lineare Filter

Abbildung 3.18: Behandlung von Randpunkten bei der Filterung

3.9.1 Glättungsfilter

Als Glättungsfilter bezeichnet man allgemein Tiefpassfilter, die zur Unterdrückungvon Rauschen oder feinen Details benutzt werden können. Glättungsfilter beruhenauf Mittelwertbildungen. Da Bildrauschen sich auf einer zufälligen Veränderung desGrauwertes einzelner Punkte äußert, lässt es sich durch Mitteln der Helligkeiten in klei-nen Bildbereichen unterdrücken. Befindet sich beispielsweise auf einer hellen Flächeein dunkler Störpixel, so wird durch die Mittlung die Helligkeit der Fläche ein we-nig abnehmen. Der Grauwert des Störpixels aber wird durch die umliegenden hellenPunkte deutlich angehoben werden und somit weniger deutlich in Erscheinung treten.

Mittelwertfilter / Rechteckfilter

Der einfachste Glättungsfilter ist der Mittelwert oder Rechteckfilter, der die aus derStatistik bekannte Form der Mittelung durchführt.

Alle Grauwerte innerhalb des Operators werden aufsummiert und durch die Anzahlder Operatorpunkte dividiert. Der Gewichtungsfaktor für aus Gleichung 3.9 ist hier 1und kann daher entfallen. Die Filtermaske für einen Mittelwertfilter der Größe 3 x 3sieht wie folgt aus:

Filter[h(x, y)] =19

1 1 11 1 11 1 1

(3.11)

Die Transformationsgleichung für einen Bildpunkt ergibt sich aus der Gleichung 3.9zu:

HTW des Saarlandes Industrielle Bildverarbeitung 47

Page 62: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3 Praktikumsdurchführung

g(x∗, y∗) =19

2∑r=0

2∑c=0

fcr · g(x∗−1 + c, y∗−1 + r) (3.12)

GaußfilterDurch eine Fouriertransformation der Übertragungsfunktion kann man nachweisen,dass ein optimaler Glättungsfilter die Form einer Gaußchen Glockenkurve aufwei-sen muss. Im orts- und wertediskreten Raum eines digitalen Bildes nähert man dieseFunktion mit ganzzahligen Filterkoeffizienten an.

Die Operatoren in Gleichung 3.13 und 3.14 zeigen Gauß-Filtermasken der Größe 3 x 3und 5 x 5.

G =132

1 4 14 12 41 4 1

(3.13)

G =1

121

1 2 3 2 12 7 11 7 23 11 17 11 32 7 11 7 21 2 3 2 1

(3.14)

3.9.2 Kantenfilter

Diese Filter arbeiten nach dem Prinzip der numerischen Differenzierung. Sie hebenUnterschiede im Bild hervor, so z.B. waagerechte oder senkrechte Kanten. Zur Her-stellung von Differenzen enthalten die Operatoren negative Filterkoeffizienten. Dabeientsteht das Problem, dass Ergebniswerte größer sein können als der höchste Grau-wert im angegebenen Grauwertintervall oder negative Werte annehmen können.

Das Prinzip eines Kantenfilters: 0 −1 10 −1 10 −1 1

(3.15)

Die Wirkung dieses Kantenfilters ist die numerische Annäherung des Grauwertgradi-enten in Y - Richtung. Die Skalierung auf den Grauwertbereich von [0, .... , 255] erfolgtdurch Multiplikation mit 1

3 .

48 Industrielle Bildverarbeitung HTW des Saarlandes

Page 63: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3.9 Lineare Filter

Skalierungsmethoden

Um das Problem möglicher negativer Werte eines Bildpunktes zu lösen gibt es ver-schiedene Ansätze:

• Absolutwerte: Der endgültige Grauwert wird durch lineare Skalierung des Be-trages des ursprünglichen Ergebniswertes auf das Grauwertintervall berechnet.Informationen über die Kantenrichtung gehen dabei verloren, da nicht mehr zuerkennen ist, welches Vorzeichen das ursprüngliche Filterergebnis hatte.

• Positive Werte: Nur die Positiven Ergebniswerte werden benutzt und linear aufdas Grauwertintervall skaliert. Damit findet eine Auswahl der Kantenrichtungstatt. Welche Kanten erhalten bleiben, hängt von der Definition des Filteropera-tors ab.

• Negative Werte: Nur die negativen Ergebniswerte werden benutzt, alle positivenErgebnisse werden auf 0 gesetzt. Von den verbleibenden negativen Werten wer-den die Beträge benutzt und auf das Grauwertintervall skaliert. Gegenüber derVerwendung der positiven Werte werden genau die entgegengesetzten Kantenermittelt.

• Relative Werte: Hier werden alle Ergebniswerte zunächst in ein zu Null sym-metrisches Intervall, z.B. [-128, 127], skaliert, und dann in das Intervall [0, 255]additiv verschoben. Alle Bereiche ohne Bildvariationen werden dadurch aufeinen mittleren Grauwert abgebildet und Kanten verschiedener Richtung lassensich dadurch unterscheiden, je nachdem ob sie dunkel oder hell im Ergebnisbilderscheinen.

Laplace-Operator

Die Laplace-Operatoren erfassen alle Kantenrichtungen. Der 3 x 3 und 5 x 5 Laplace-Operator lautet:

0 −1 0−1 4 −10 −1 0

(3.16)

0 0 −1 0 00 −1 −2 −1 0−1 −2 16 −2 −10 −1 −2 −1 00 0 −1 0 0

(3.17)

HTW des Saarlandes Industrielle Bildverarbeitung 49

Page 64: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

3 Praktikumsdurchführung

Sobel-Operator

Bei der Kantenextraktion mit der Sobel-Methode werden Kanten in verschiedenenRichtungen extrahiert. 3 x 3 Sobel-Operator zur Erkennung von senkrechten Kanten:

S1 =14

1 0 −12 0 −21 0 −1

(3.18)

Sobel-Operatoren sind auch mit größeren Abmessungen als 3 x 3 möglich.

3.10 Nichtlineare Filter (Medianfilter)

Bei einfachen Mittelwert- oder Rechteckfiltern führt die Mittelwertbildung zu einerstarken Kantenunschärfe. An solchen Kanten entstehen Helligkeitswerte (Zwischen-werte) der tatsächlich im Bild vorhandenen Grauwerte.

Störpixel führen zu deutlichen Veränderungen des Grauwertes in ihrer Umgebung. ZurReduzierung dieser Effekte verwendet man in der Statistik den Median. Der Medianstellt den Zentralwert einer Zahlenmenge (hier, die durch den Operator bestimmteAnzahl Grauwerte) dar. Sortiert man diese Grauwerte ihrer Größe nach,

g1 ≤ g2 ≤ .... ≤ gn, (3.19)

dann ist der Median definiert als:

g(Median) =

g( n+12 ), für ungerade n

g( n2 ), für gerade n

(3.20)

Abbildung 3.19: Prinzip des Median-Operators

Aufgrund seiner Unempfindlichkeit gegenüber Ausreißern (Störpixel) eignet sich derMedianfilter besonders zur Eliminierung punktförmiger Störungen bei gleichzeitigerErhaltung der Kantenschärfe.

50 Industrielle Bildverarbeitung HTW des Saarlandes

Page 65: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4 Aufgaben

4.1 Aufgabe 1: Beleuchtungsmethoden

Nach dem Sie im vorherigen Unterkapitel gelernt haben wie ein Livebild mit Hilfevon LabVIEW programmiert wird sollen nun Live-Bilder mit unterschiedlichen Be-leuchtungsmethoden dargestellt und interpretiert werden. Verwenden Sie dazu dievor Ihnen liegende Durchlicht-Beleuchtung sowie für das Auflicht den entsprechen-den Strahler von Kaiser RB 300. Probieren Sie die möglichen Methoden Auflicht undDurchlicht im Hellfeld und Dunkelfeld mit einem geeigneten AufnahmegegenstandIhrer Wahl, z.B. Geldmünze, Schlüssel mit Schlagzahlen . . . , aus und beantworten Siedie folgenden Fragen:

• Was bewirkt die Methode „Durchlicht“?

• Wann eignet sich die Methode „Durchlicht“ besonders?

• Wann kommt die Methode „Auflicht“ zum Einsatz?

• Was ist der Unterschied zwischen einer Hellfeld und Dunkelfeld Beleuchtungin der Auflicht-Methode und wie äußern Sie sich in Bezug auf den Prüfgegen-stand?

Ein weiteres Beleuchtungsproblem sind Reflexionen, die an glänzenden Oberflächenauftreten können. Abhilfe schafft hier eine diffuse Beleuchtung. Es gibt verschiedeneRealisierungen. Abbildung 4.1 zeigt mehrere Möglichkeiten.

Abbildung 4.1: Möglichkeit einer diffusen Beleuchtung

HTW des Saarlandes Industrielle Bildverarbeitung 51

Page 66: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4 Aufgaben

4.2 Aufgabe 2: Berechnung der Brennweite angepasst aufden Prüfgegenstand

Zur Lösung eines Bildverarbeitungsproblems gehört nicht nur die Programmierungsondern auch die richtige Wahl der Hardware. Ein wichtiger Punkt ist die Auslegungder Optik. Neben der Blendenzahl ist u.a. auch die Brennweite sehr wichtig. Da mannur selten alle möglichen Objektive mit unterschiedlichen Brennweiten zum Auspro-bieren zur Verfügung hat, ist es vor allem wichtig zu wissen, welche Brennweite dasObjektiv für die Lösung der Bildverarbeitungsaufgabe haben soll. Mit Hilfe des Strah-lensatzes und der Linsengleichung kann die Brennweite berechnet werden.

Gegeben sind folgende Werte:

• Gegenstandsweite g= 35cm

• Bildgröße B→ siehe Datenblatt der Kamera Marlin F-033 auf den letzten Seitender Versuchsbeschreibung

• Gegenstandsgröße G = 6cm→ Außendurchmesser der Alu-Platte

Berechnen Sie die passende Brennweite, so dass der Gegenstand das Bild von dermaximalen Zeilenanzahl her komplett ausfüllt. Verifizieren Sie das Ergebnis mitdem passenden Objektiv.

4.3 Aufgabe 3: Look-Up Tabelle / Binärbilderzeugung

Design, Entwicklung und Codierung einer Bildverarbeitungsapplikation unter MS-Windows mit LabVIEW. Die Anwendungssoftware soll eine Kameraaufnahme miteinem Prüfobjekt mit Hilfe eines Schwellwertes in ein Binärbild umwandeln und dar-stellen.

Folgende Funktionen sollten in der Benutzeroberfläche möglich sein (vgl. Abbildung4.2).

• Laden eines Bildes (Kamerabild).

• Darstellung des Originalbildes im Frontpanel.

• Umschaltmöglichkeit des Kamerabildes von Livebild-Darstellung auf Standbild(Grab) und umgekehrt mit Hilfe eines Steuerelementes Kontrollkästchen odereinfache Buttons im Frontpanel.

52 Industrielle Bildverarbeitung HTW des Saarlandes

Page 67: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4.4 Aufgabe 4: Look-Up Tabellen für quadratische Transformation undQuadratwurzel Transformation

• Eingeben eines Schwellwertes - Wertebereich 0 bis 255. Defaultwert von 128 sollbeim Start der Anwendung angezeigt werden.

• Starten der Transformation über den Button „Ausführen“.

• Darstellung des Ergebnisses in einem 2. Fenster des Frontpanels (Ergebnisbild).

• Über eine Schaltfläche, Button (Speichern) soll das Ergebnisbild in eine Dateigespeichert werden.

• Über eine Schaltfläche, Button (Beenden) soll die Anwendung geschlossen wer-den können.

Abbildung 4.2: Beispiel des Frontpanels Look-Up Tabelle (Binär)

4.4 Aufgabe 4: Look-Up Tabellen für quadratischeTransformation und Quadratwurzel Transformation

Design, Entwicklung und Codierung einer Bildverarbeitungsapplikation unter MS-Windows mit LabVIEW .

Die Anwendungssoftware soll ein Eingangsbild mit Hilfe einer Look-Up-Tabelle (Qua-dratischefunktion und Quadratwurzelfunktion) in ein Ergebnisbild umwandeln unddarstellen.

Folgende Funktionen sollten in der dialogorientierten Anwendungssoftware möglichsein (vgl. Abbildung 4.3).

HTW des Saarlandes Industrielle Bildverarbeitung 53

Page 68: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4 Aufgaben

• Laden eines Bildes (Kamerabild).

• Darstellung des Bildes im Dialogfeld der Anwendung.

• Umschaltmöglichkeit des Kamerabildes von Livebild-Darstellung auf Standbild(Grab) und umgekehrt mit Hilfe eines Steuerelementes Kontrollkästchen odereinfache Buttons im Frontpanel.

• Starten der Transformation über den Button „Ausführen“.

• Darstellung des Ergebnisses in einem 2. Fenster des Frontpanels (Ergebnisbild).

• Über eine Schaltfläche, Button (Speichern) soll das Ergebnisbild in eine Dateigespeichert werden.

• Über eine Schaltfläche, Button (Beenden) soll die Anwendung geschlossen wer-den können.

Abbildung 4.3: Quadratische Look-Up-Table

Benutzen Sie die Funktion „Dateidialog“, um ein Bild aus der Datei einer Festplattezu laden. Dazu klicken Sie mit der rechten Maustaste auf das Blockdiagramm undnavigieren Sie auf Vision and Motion→ Vision Utilities→ Files→ IMAQ ReadFile.

4.4.1 Fragen

• Wie wirken sich diese LUT´s auf dunkle bzw. helle Bildbereiche aus?

• Welche Auswirkungen ergeben sich in Bezug auf den Kontrast des Ergebnis-bildes?

54 Industrielle Bildverarbeitung HTW des Saarlandes

Page 69: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4.5 Aufgabe 5: Lineare Grauwertskalierung

4.5 Aufgabe 5: Lineare Grauwertskalierung

Design, Entwicklung und Codierung einer Bildverarbeitungsapplikation unter MS-Windows mit LabVIEW.

Die Anwendungssoftware soll eine Kameraaufnahme mit einem Prüfobjekt mit Hilfeeiner linearen Skalierung in ein Ergebnisbild umwandeln und darstellen.

Welche Effekte ergeben sich für:

• C1 > 0

• C1 < 0

• |C2| > 1

• |C2| < 1

Beschreiben und erläutern Sie die Ergebnisse!Folgende Funktionen sollen in der dialogorientierten Anwendungssoftware möglichsein (vgl. Abbildung 4.4).

• Laden eines Bildes (Kamerabild).

• Darstellung des Bildes im Dialogfeld der Anwendung.

• Umschaltmöglichkeit des Kamerabildes von Livebild-Darstellung auf Standbild(Grab) und umgekehrt mit Hilfe eines Steuerelementes Kontrollkästchen odereinfache Buttons im Frontpanel.

• Eingabefelder für die Koeffizienten C1 und C2 (Wertebereich von C1 = -255 bis+255); Wertebereich C2 = 0, 0.1, 0.2 . . . 1, 2, . . . 255).

• Starten der Transformation über den Button „Ausführen“.

• Darstellung des Ergebnisses in einem 2. Fenster des Frontpanels (Ergebnisbild).

• Über eine Schaltfläche, Button (Speichern) soll das Ergebnisbild in eine Dateigespeichert werden.

• Über eine Schaltfläche, Button (Beenden) soll die Anwendung geschlossen wer-den können.

HTW des Saarlandes Industrielle Bildverarbeitung 55

Page 70: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4 Aufgaben

Abbildung 4.4: Beispiel der Linearen grauwertskalierung

4.6 Aufgabe 6: Kontrastnormierung mit linearer Skalierung

Design, Entwicklung und Codierung einer Bildverarbeitungsapplikation unter MS-Windows mit LabVIEW.

Die Anwendungssoftware soll von einer Kameraaufnahme oder einem Bild von derFestplatte mit einem Prüfobjekt eine Kontrastverbesserung vornehmen.

Folgende Funktionen sollten in der dialogorientierten Anwendungssoftware möglichsein (vgl. Abbildung 4.5).

• Laden eines Bildes (Kamerabild).

• Darstellung des Bildes im Dialogfeld der Anwendung.

• Umschaltmöglichkeit des Kamerabildes von Livebild-Darstellung auf Standbild(Grab) und umgekehrt mit Hilfe eines Steuerelementes Kontrollkästchen odereinfache Buttons im Frontpanel.

• Über eine Schaltfläche Kontrastverbesserung soll über oben genannte Funktioneine Kontrastverbesserung des Eingangsbildes vorgenommen werden.

• Darstellung des Ergebnisses in einem 2. Fenster des Frontpanels (Ergebnisbild).

• Über eine Schaltfläche, Button (Speichern) soll das Ergebnisbild in eine Dateigespeichert werden.

• Über eine Schaltfläche, Button (Beenden) soll die Anwendung geschlossen wer-den können.

56 Industrielle Bildverarbeitung HTW des Saarlandes

Page 71: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4.7 Aufgabe 7: Statistische Parameter und Histogramm

Abbildung 4.5: Beispiel des Frontpanels der Kontrastnormierung mit linearer Skalierung

4.7 Aufgabe 7: Statistische Parameter und Histogramm

Design, Entwicklung und Codierung einer Bildverarbeitungsapplikation unter MS-Windows mit LabVIEW.

Die Anwendungssoftware soll von einer Kameraaufnahme oder einem Bild von derFestplatte mit einem Prüfobjekt die statistischen Daten wie:

• Anzahl der Pixel eines Bildes,

• arithmetischer Mittelwert,

• häufigster Grauwert,

• minimaler Grauwert,

• maximaler Grauwert,

• die Varianz und

• die Standardabweichung ermitteln und anzeigen.

Weiterhin ist eine grafische Darstellung der Häufigkeitsverteilung eines Histogrammsin einem Dialogfeld anzuzeigen.

Beschreiben und erläutern Sie die Ergebnisse!Folgende Funktionen sollten in der dialogorientierten Anwendungssoftware möglichsein (vgl. Abbildung 4.6).

HTW des Saarlandes Industrielle Bildverarbeitung 57

Page 72: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4 Aufgaben

• Laden eines Bildes (Kamerabild).

• Darstellung des Bildes im Dialogfeld der Anwendung.

• Umschaltmöglichkeit des Kamerabildes von Livebild-Darstellung auf Standbild(Grab) und umgekehrt mit Hilfe eines Steuerelementes Kontrollkästchen odereinfache Buttons im Frontpanel.

• Über eine Schaltfläche „Statistikwerte anzeigen“ sollten die oben genannten Wer-te vom aktuellen Bild in der Anzeige berechnet und angezeigt werden. Befindetsich die Anwendung in der Livebild - Darstellung sollten keine Berechnungendurchgeführt werden können. Beim Laden eines neuen Bildes sind die Statistik-werte im Dialogfeld zurück zu setzen.

• Über eine Schaltfläche „Histogramm anzeigen“ wird ein Balkendiagramm derHäufigkeitstabelle angezeigt.

• Über eine Schaltfläche, Button (Beenden) soll die Anwendung geschlossen wer-den können.

Abbildung 4.6: Beispiel des Frontpanels der statistischen Parameter

58 Industrielle Bildverarbeitung HTW des Saarlandes

Page 73: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4.8 Aufgabe 8: Skalierungsmethode (Absolutwert)

4.8 Aufgabe 8: Skalierungsmethode (Absolutwert)

Design, Entwicklung und Codierung einer Bildverarbeitungsapplikation unter MS-Windows mit LabVIEW (Vision and Motion ).

Die Anwendungssoftware soll eine Bildsubtraktion mit der Skalierungsmethode Ab-solutwert realisieren. Folgende Funktionen sollten in der dialogorientierten Anwen-dungssoftware möglich sein (vgl. Abbildung 4.7).

• Laden zweier Bilder, ( Kamerabild, Referenzbild).

• Darstellung der beiden Bilder im Dialogfeld der Anwendung

• Umschaltmöglichkeit des Kamerabildes von Livebild - Darstellung auf Stand-bild (Grab) und umgekehrt mit Hilfe eines Steuerelementes Kontrollkästchen imDialogfeld.

• Starten der Subtraktion (Kamerabild - Referenzbild) über eine Schaltfläche/ But-ton Ausführen.

• Darstellung des Ergebnisses in einem 3. Fenster des Dialogfeldes (Ergebnisbild).

• Speichern des Ergebnisbildes in eine Datei.

• Über eine Schaltfläche, Button (Beenden)soll die Anwendung geschlossen wer-den können.

• Die Aussagen in diesem Kapitel sind mit dieser Bildverarbeitungssoftware zuuntersuchen, zu erläutern und mit eigenen Erkenntnissen zu dokumentieren.

Abbildung 4.7: Beispiel Dialogfeld der Subtraktion mittels Absolutwert

HTW des Saarlandes Industrielle Bildverarbeitung 59

Page 74: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4 Aufgaben

4.9 Aufgabe 9: Skalierungsmethode (Positives Clipping)

Ergänzen Sie die Anwendungssoftware aus Aufgabe 8 um die Möglichkeit dieses Po-sitive Clipping durchzuführen.

Fügen Sie ein Gruppenfeld mit dem Titel „Funktionen“ in ihr Dialogfeld ein. DiesesGruppenfeld wiederum soll 2 Optionsfelder enthalten, um die Bearbeitung der beidenEingangsbilder nach der Skalierungsmethode „Absolutwert“ und „Pos. Clipping“ zuermöglichen. Nach Betätigen der Schaltfläche „Ausführen“ soll die entsprechendeFunktion Skalierungsmethode durchgeführt werden.

4.10 Aufgabe 10: Mittelwertfilter

Zeigen Sie den Effekt eines 3 x 3 Mittelwertfilters auf ein künstlich verrauschtes Bild(Abbildung 4.8).

Abbildung 4.8: Originalbild, zur Anwendung eines 3x3 Mittelwertfilters

Erstellen Sie eine Bildverarbeitungsapplikation (Design, Entwicklung u. Codierung)unter MS-Windows mit LabVIEW (Vision and Motion). Folgende Funktionen solltenin der dialogorientierten Anwendungssoftware möglich sein (vgl. Abbildung 4.9):

• Laden eines Bildes (über Kamera, oder von Festplatte).

• Darstellung der beiden Bilder im Dialogfeld der Anwendung.

• Umschaltmöglichkeit des Kamerabildes von Livebild - Darstellung auf Standbildund umgekehrt mit Hilfe eines Steuerelementes „Kontrollkästchen“.

• Darstellung und Modifikationsmöglichkeit des Filteroperators.

• Starten der Filteroperation über ein Button Ausführen.

60 Industrielle Bildverarbeitung HTW des Saarlandes

Page 75: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4.10 Aufgabe 10: Mittelwertfilter

• Darstellung des Ergebnisbildes in einem 2. Fenster im Dialogfeld (Ergebnisbild).

• Speichern des Ergebnisbildes über ein Button Speichern.

Abbildung 4.9: Beispiel eines Dialogfeldes 3x3 Mittelwertfilter

4.10.1 Fragen: Interpretieren Sie das Ergebnisbild nach Anwendung derFilteroperation

• Ist das Rauschen stärker oder weniger ausgeprägt?

• Wie wirkt sich die Filteroperation auf die Störpixel aus? Werden Sie verkleinertoder vergrößert? Unterscheiden Sie sich weniger stark vom weißen Hintergrund?

• Nimmt der Kontrast des Bildes zu oder ab?

• Wie wirkt sich die Filteroperation auf die Kanten des Quadrates aus?

• Was passiert durch einen Wechsel von einer 3x3 auf 5x5 Filtermatrix? (theoretischbegründen)!

HTW des Saarlandes Industrielle Bildverarbeitung 61

Page 76: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4 Aufgaben

4.11 Aufgabe 11: Mittelwertfilter

Wenden Sie den 3x3 Mittelwertfilter aus Ihrer oben entwickelnden Bildverarbeitungs-applikation (Aufgabe 10) auf ein Bild mit periodischen Strukturen/ Linien an (Abbil-dung 4.10).

Abbildung 4.10: Originalbild, zur Verwendung eines 3x3 Mittelwertfilters

4.11.1 Fragen: Überprüfen Sie folgende Aussagen:

• Die weit auseinanderliegenden Linien rechts im Bild bleiben als Linien erhalten,sie werden jedoch verbreitert und aufgehellt. Der Ort der Linien lässt sich nachder Filterung nicht mehr präzise lokalisieren.

• Linien, deren Abstand gerade der Breite des Filterkerns entspricht, verschmelzenvollständig. Dies entspricht der Grenzwellenlänge des Filters.

• Linien, deren Abstand geringer ist als die Breite des Filterkerns, werden nichtvollständig unterdrückt. Ihre Amplitude sinkt vielmehr nur um den Faktor 3,d.h. von 255 auf 85.

• Wäre ein solcher Mittelwertfilter geeignet, um z.B. verrauschte Bilder mit Barco-de Informationen zu glätten?

62 Industrielle Bildverarbeitung HTW des Saarlandes

Page 77: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4.12 Aufgabe 12: Gaußfilter

4.12 Aufgabe 12: Gaußfilter

Zeigen Sie den Effekt eines 3x3 und 5x5 Gaußfilters auf ein künstlich verrauschtes Bild(Abbildung 4.11).

Abbildung 4.11: Originalbild, zur Verwendung eines 3x3 und 5x5 Gaußfilters

Interpretieren Sie das Ergebnisbild nach Anwendung der Filteroperation. WelcheUnterschiede ergeben sich gegenüber dem Mittelwertfilter?

4.13 Aufgabe 13: Gaußfilter

Wenden Sie den 3 x 3 und 5 x 5 Gaußfilter aus Ihrer oben entwickelnden Bildverar-beitungsapplikation (Aufgabe 12) auf ein Bild mit periodischen Strukturen / Linien an(Abbildung 4.12).

Abbildung 4.12: Originalbild, zur Verwendung eines 3x3 und 5x5 Gaußfilters

Vergleichen Sie die Ergebnisse mit den Aussagen der Ergebnisinterpretation mitder Anwendung des Mittelwertfilters.

HTW des Saarlandes Industrielle Bildverarbeitung 63

Page 78: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4 Aufgaben

4.14 Aufgabe 14: Einfacher Kantenfilter

Zeigen Sie den Effekt eines 3x3 Kantenfilters auf ein Bild mit homogen weißem Hinter-grund und einem Acht-Eck mit mittlerem Grauton (Abbildung 4.13). Erstellen Sie eineBildverarbeitungsapplikation (Design, Entwicklung u. Codierung) unter MS-Windowsmit LabVIEW(Vision and Motion).

Abbildung 4.13: Originalbild, zur Verwendung eines 3x3 Kantenfilters

Verwenden Sie die beiden Skalierungsmethoden:

• Positive Werte

• Relative Werte

Folgende Funktionen sollten in der dialogorientierten Anwendungssoftware möglichsein (vgl. Abbildung 4.14 und Abbildung 4.15):

• Laden eines Bildes (über Kamera, oder von Festplatte).

• Darstellung des Bildes im Dialogfeld der Anwendung.

• Umschaltmöglichkeit des Kamerabildes von Livebild - Darstellung auf Standbildund umgekehrt mit Hilfe eines Steuerelementes „Kontrollkästchen“.

• Darstellung und Modifikationsmöglichkeit des Filteroperators.

• Starten der Filteroperation über einen 3 x 3 Kantenfilter.

• Darstellung des Ergebnisbildes in einem 2. Fenster im Dialogfeld.

• Speichern des Ergebnisbildes über ein Button „Speichern“.

64 Industrielle Bildverarbeitung HTW des Saarlandes

Page 79: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4.14 Aufgabe 14: Einfacher Kantenfilter

Abbildung 4.14: Kantenfilter, Skalierungsmethode Positive Werte

Abbildung 4.15: Kantenfilter, Skalierungsmethode Relative Werte

HTW des Saarlandes Industrielle Bildverarbeitung 65

Page 80: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4 Aufgaben

4.14.1 Fragen: Interpretieren Sie das Ergebnisbild nach Anwendung derFilteroperationen:

• Im völlig homogenen Hintergrund heben sich die negativen und positiven Bei-träge bei der Filterung auf, das Ergebnis ist 0. Weisen Sie diese Aussage an derunten angegebenen Gleichung, durch Berechnung eines einzelnen Hintergrund-punktes, nach!

? ? ?? ? ?? ? ?

x13·

0 −1 10 −1 10 −1 1

(4.1)

• Weisen Sie nach, warum an exakt waagerechten Kanten in der Differenzierungs-richtung keine Veränderungen im Ergebnisbild auftreten! (Gleichung angeben!)

• An welchen Kanten tritt der maximale Effekt auf? (Gleichung angeben!)

• Weisen Sie nach, warum die Skalierung mit 13 ausreichend ist! (Gleichung ange-

ben!)

• Wie wirkt der Filteroperator an diagonalen Kanten? (Gleichung angeben!)

4.15 Aufgabe 15: Laplace-Operator

Zeigen Sie den Effekt eines 3x3 Laplace-Operators auf ein Bild mit homogen weißemHintergrund und einem Acht-Eck mit mittlerem Grauton (Abbildung 4.16). ErstellenSie eine Bildverarbeitungsapplikation (Design, Entwicklung u. Codierung) unter MSWindows mit LabVIEW (Vision and Motion).

Abbildung 4.16: Originalbild, zur Verwendung eines 3x3 Laplace-Operators

Folgende Funktionen sollten in der dialogorientierten Anwendungssoftware möglichsein:

66 Industrielle Bildverarbeitung HTW des Saarlandes

Page 81: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4.15 Aufgabe 15: Laplace-Operator

• Laden eines Bildes (über Kamera, oder von Festplatte).

• Darstellung des Bildes im Dialogfeld der Anwendung.

• Umschaltmöglichkeit des Kamerabildes von Livebild - Darstellung auf Standbildund umgekehrt mit Hilfe eines Steuerelementes „Kontrollkästchen“.

• Darstellung und Modifikationsmöglichkeit des Filteroperators.

• Starten der Filteroperation über 3 x 3 Laplace-Operator.

• Darstellung des Ergebnisbildes in einem 2. Fenster im Dialogfeld.

• Speichern des Ergebnisbildes über ein Button „Speichern“.

Abbildung 4.17: Laplace-Operator, Skalierungsmethode positive Werte

4.15.1 Fragen: Interpretieren Sie das Ergebnisbild nach Anwendung derFilteroperationen:

• Es gibt eine Vielzahl weiterer Kanten-Operatoren, z.B. 4.2 Ersetzen Sie den obenangezeigten Filteroperator in ihrer Anwendung. Erläutern und begründen Siedie Unterschiede dieser beiden Kantenoperatoren.

0 −1 0−1 5 −10 −1 0

(4.2)

HTW des Saarlandes Industrielle Bildverarbeitung 67

Page 82: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4 Aufgaben

4.16 Aufgabe 16: Sobel-Operator

Zeigen Sie den Effekt eines 3 x 3 Sobel-Operators mit dem Operator auf ein Bild mithomogenem weißem Hintergrund und einem Acht-Eck mit mittlerem Grauton (Ab-bildung 4.18). Erstellen Sie eine Bildverarbeitungsapplikation (Design, Entwicklungu. Codierung) unter MS-Windows mit LabVIEW (Vision and Motion). Verwenden Siedie Skalierungsmethode Positive Werte.

Abbildung 4.18: Originalbild, zur Verwendung eines 3x3 Sobel-Operators

Folgende Funktionen sollten in der dialogorientierten Anwendungssoftware möglichsein:

• Laden eines Bildes (über Kamera, oder von Festplatte).

• Darstellung des Bildes im Dialogfeld der Anwendung.

• Umschaltmöglichkeit des Kamerabildes von Livebild - Darstellung auf Standbildund umgekehrt mit Hilfe eines Steuerelementes „Kontrollkästchen“.

• Darstellung und Modifikationsmöglichkeit des Filteroperators.

• Starten der Filteroperation über 3 x 3 Sobel-Operator.

• Darstellung des Ergebnisbildes in einem 2. Fenster im Dialogfeld.

• Speichern des Ergebnisbildes über ein Button „Speichern“.

68 Industrielle Bildverarbeitung HTW des Saarlandes

Page 83: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4.17 Aufgabe 17: Medianfilter

Abbildung 4.19: Sobel-Operator, Skalierungsmethode Relative Werte

4.16.1 Fragen: Interpretieren Sie das Ergebnisbild nach Anwendung derFilteroperationen:

• Modifizieren Sie den Sobel-Operator aus Matrix 3.18 derart, dass damit Kantenin waagerechter Ausrichtung extrahiert werden können.

• Modifizieren Sie den Operator aus Matrix 3.18 derart, dass damit Kanten in dia-gonaler Ausrichtung (links unten nach rechts oben) extrahiert werden können.

• Modifizieren Sie den Operator aus Matrix 3.18 derart, dass damit Kanten in dia-gonaler Ausrichtung (rechts oben nach links unten) extrahiert werden können.

4.17 Aufgabe 17: Medianfilter

Zeigen Sie den Effekt eines 3x3 Medianfilters auf ein künstlich verrauschtes Bild (Abbil-dung 4.20 ). Ein vollständig ausgefüllter 3x3 Medianfilter ordnet jeweils neun Werte auseiner quadratischen Umgebung jedes Bildpunktes in eine Folge und verwendet dannden fünften Wert als Grauwert des Punktes im Ergebnisbild. Erstellen Sie eine Bild-verarbeitungsapplikation (Design, Entwicklung u. Codierung) unter MS-Windows mitLabVIEW (Vision and Motion).

Abbildung 4.20: Originalbild, zur Verwendung eines 3x3 Medianfilters

HTW des Saarlandes Industrielle Bildverarbeitung 69

Page 84: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4 Aufgaben

Folgende Funktionen sollten in der dialogorientierten Anwendungssoftware möglichsein:

• Laden eines Bildes (über Kamera, oder von Festplatte).

• Darstellung des Bildes im Dialogfeld der Anwendung.

• Umschaltmöglichkeit des Kamerabildes von Livebild - Darstellung auf Standbildund umgekehrt mit Hilfe eines Steuerelementes „Kontrollkästchen“.

• Darstellung und Modifikationsmöglichkeit des Filteroperators.

• Starten der Filteroperation über Button „Median“.

• Darstellung des Ergebnisbildes in einem 2. Fenster im Dialogfeld.

• Speichern des Ergebnisbildes über ein Button „Speichern“.

Abbildung 4.21: Beispiel Dialogfeld 3x3 Medianfilter

4.17.1 Fragen:

Interpretieren Sie das Ergebnisbild nach Anwendung der Filteroperationen. WelcheUnterschiede ergeben sich gegenüber dem Mittelwertfilter?

70 Industrielle Bildverarbeitung HTW des Saarlandes

Page 85: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4.18 Aufgabe 18: Wasserzeichen

4.18 Aufgabe 18: Wasserzeichen

In Aufgabe 18 geht es um digitale Wasserzeichen. Also um das Einbringen von zu-sätzlichen digitalen Informationen in ein vorhandenes Bild. Praktisch das umgekehrtePrinzip einer Datenreduktion, bei der unwesentliche Informationen gelöscht werden.Digitale Wasserzeichen in der Bildverarbeitung können überall dort eingebracht wer-den, wo die Rechte auf Bildinformationen zu schützen sind. Also z.B. die folgendenPunkte:

1. Copyright-Kennung.

2. Benutzerkennung. Die Identifikation von legalen Benutzern können mittels De-codierung von Wasserzeichen sichergestellt werden.

3. Echtheits-Bestimmung. Das Vorhandensein von Wasserzeichen in Bildern kanngarantieren, dass Bilder nicht verändert wurden.

4. Automatische-Überwachung. Wasserzeichen können zu der Überwachung vonSystemen beitragen, so z.B. in Programmen, die im Web nach Bildern suchen.

5. Kopierschutz. Wasserzeichen können Regeln festlegen wie Bilder/Informationenzu lesen sind.

Abbildung 4.22: Testbild "Lenna", mit Wasserzeichen und einer vorher definierten Trans-parenz.

Die Studierenden sollen einen Algorithmus schreiben, der digitale Wasserzeichen miteiner gewissen Transparenz ins Bild einfügen kann. Zusätzlich sollen versteckte Infor-mationen in die Daten eingefügt werden, so dass sie nur mit einer ganz bestimmtenDecodierungsmethode gelesen werden können. Es handelt sich also um das Einfügenvon sichtbaren und unsichtbaren Informationen in ein Bild. Die Abbildung 4.22 zeigt

HTW des Saarlandes Industrielle Bildverarbeitung 71

Page 86: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4 Aufgaben

ein Beispiel in dem ein „htwsaar“ Wasserzeichen in ein Bild eingefügt wurde.

Ihr Programm für diese Aufgabe, muss mindestens folgende Schaltflächen und Anzei-gelemente haben (Abbildung 4.23). Das Design der Benutzeroberfläche darf verändertwerden. Erweiterte Funktionen wie z.B. zusätzliche Schaltflächen, Anzeigelementeoder Informationen sind erlaubt.

Abbildung 4.23: Benutzeroberfläche für Aufgabe 18.

4.18.1 Umsetzung Teilaufgabe1

Programmieren Sie eine Anwendung, in der ein Bild von der Festplatte geladen undim Front-Panel dargestellt wird. Verwenden Sie dazu das Ereignis eines Buttons mitdem Namen „Bild laden“. Anschließend ist ein entsprechendes Wasserzeichen über ei-ne Schaltfläche mit dem Namen „Wasserzeichen laden“ auf dem gleichen Front-Paneldarzustellen. Implementieren Sie außerdem eine Anwendung mit dem Button „Been-den“, die das Programm stoppt.

Platzieren Sie ein ENUM-Element mit den Auswahlmöglichkeiten „sichtbar“ und „un-sichtbar“ sowie ein numerisches Bedienelement auf die Benutzeroberfläche. Die Tei-laufgabe besteht nun darin, das Wasserzeichen in die untere Ecke des Originalbildes

72 Industrielle Bildverarbeitung HTW des Saarlandes

Page 87: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4.18 Aufgabe 18: Wasserzeichen

einzufügen. Mit einer vorher eingestellten relativen Sichtbarkeit des Wasserzeichenssoll der Benutzer die Möglichkeit bekommen eine gewisse Transparenz zum Original-bild herstellen zu können. Mathematisch ist folgende Formel für das Integrieren desWasserzeichens zu programmieren:

sneu = (1−α) · s +α ·w (4.3)

Wobei s der Bildausschnitt des Originalbildes ist, das Zeichen α den Transparenzfaktormit einem Wertebereich zwischen 0,01 bis 1 darstellt und w die Grauwerte des Was-serzeichens beinhaltet.

Es reicht aus, wenn Sie das Originalbild und das Wasserzeichen als Grauwertbild vomDatentyp U8 laden. Testdaten für Originalbilder und Wasserzeichen finden Sie aufden Laborrechnern. Es können auch eigene Bilder verwendet werden. Abbildung 4.24zeigt eine Beispielanwendung.

Abbildung 4.24: Originalbild links oben, Wasserzeichen rechts oben und codiertes Bildunten links.

HTW des Saarlandes Industrielle Bildverarbeitung 73

Page 88: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4 Aufgaben

4.18.2 Umsetzung Teilaufgabe2

Für die Teilaufgabe 2 ist ein unsichtbares Wasserzeichen in das Originalbild zu codie-ren. Solch eine Anwendung dient z.B. dazu, festzustellen, ob ein Bild nachträglich ma-nipuliert wurde. Nun kommt die Auswahlmöglichkeit „unsichtbar“ des ENUMS zumtragen. Wenn der Benutzer diese Einstellung vorgenommen hat, soll beim Drückender Schaltfläche „Codierung starten“ ein Wasserzeichen so in das Bild unten rechtsintegriert werden, dass es für das menschliche Auge nicht sichtbar ist. ProgrammierenSie die Anwendung und verwenden Sie dazu folgende Formel:

sneu = 4 ·( s4

)+

w64

(4.4)

Zu beachten ist noch, dass nach der Division das Ergebnis auf eine ganze Zahl abge-rundet werden muss.

4.18.3 Umsetzung Teilaufgabe3

Kommen wir zur Teilaufgabe 3. Hier besteht die Herausforderung darin, die versteck-ten Informationen aus einem codierten Bild herauszulesen. Legen Sie dazu eine neueSchaltfläche mit dem Namen „Decodierung des Wasserzeichens“ an. Sobald der Benut-zer auf diesen Button drückt, soll ein Fenster aufgehen, in dem ein zu decodierendesBild auszuwählen ist. Beim Schließen des Auswahlfensters soll ihr Algorithmus sofortmit der Decodierung beginnen. Das codierte Bild und das decodierte Bild sind in denbeiden Anzeigen „Codiertes Bild“ und „Decodiertes Bild“ darzustellen. VerwendenSie die Testbilder „lenna marked 1.png“ und „lenna marked 2.png“.

Dort sind die versteckten Informationen in den ersten beiden Bits codiert worden. Siemüssen also wie folgt vorgehen:

• Codiertes Bild laden und vom Datentyp „Image“ in ein „Array U8“ konvertieren.

• Logischer „UND“-Vergleich aller Grauwerte.

• Die neuen Grauwerte der Ergebnismatrix mit einer Kontrastnormierung verän-dern.

• Normierte Ergebnismatrix umwandeln in ein „Image“ und darstellen.

Die Formel für eine Kontrastnormierung mittels linearer Skalierung für ein Bild vomDatentyp U8 ist:

gneu =255

(gmax− gmin)· (g− gmin) (4.5)

74 Industrielle Bildverarbeitung HTW des Saarlandes

Page 89: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4.18 Aufgabe 18: Wasserzeichen

Das Ergebnis für ein Testbild könnte wie in Abbildung 4.25 aussehen.

Abbildung 4.25: Decodiertes Bild mit verstecktem Wasserzeichen.

Dokumentieren Sie Ihre Ergebnisse und beantworten Sie die Fragen:

4.18.4 Fragen

1. Wie sorgt der Faktor α= 0,5 dafür, dass das Wasserzeichen teilweise durchsichtigerscheint und nach wie vor etwas vom Originalbild zu sehen ist? ErläuternSie die mathematische Vorgehensweise und die Logik dahinter. Geben Sie einRechenbeispiel an, in dem Sie sich eine selbst erstellte Matrix der Größe 10x10(Originalbild) und ein Wasserzeichen ihrer Wahl, ebenfalls mit einer Größe 10x10,vorgeben.

2. Was passiert bei der versteckten Codierung eines Wasserzeichens (Teilaufgabe2) auf Bitebene mit den Grauwerten? Welche Aufgabe hat der Divisor 4 und 64in der Formel (mit Blick auf die einzelnen Bits der Grauwerte)?

3. Was passiert mit den Grauwerten bei einer Kontrastnormierung? Wie verändertsich die Häufigkeitsverteilung der Grauwerte eines Bildes nach einer solchenNormierung?

HTW des Saarlandes Industrielle Bildverarbeitung 75

Page 90: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

4 Aufgaben

4. Welche versteckte Information bekommen Sie, wenn das Bild „lenna marked2.png“ decodiert wird?

5. Was passiert, wenn Sie eines der Testbilder, „lenna marked 1.png“ oder „lennamarked 2.png“ im Programm „Paint“ öffnen, dort als ein neues Bild in jpg-Formatabspeichern und danach probieren dieses Bild mit Ihrem Programm wieder zudecodieren? Wie sieht das decodierte Bild aus und warum ist es so?

76 Industrielle Bildverarbeitung HTW des Saarlandes

Page 91: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5 Einführung in die digitaleBildverarbeitung

5.1 Aufgaben- und Einsatzgebiete der DigitalenBildverarbeitung und Machine Vision Systeme

Die folgende Beschreibung soll einen Einblick in die Aufgaben, Einsatzgebiete undKomponenten der digitalen Bildverarbeitung geben. Die digitale Bildverarbeitunggewinnt in weiten Bereichen der Wirtschaft zunehmend an Bedeutung. In der Güter-produktion ist die fortschreitende Automatisierung auf lange Sicht zwingend mit derIntegration bildverarbeitender Systeme verbunden, um den steigenden Anforderun-gen an die Flexibilität der betrieblichen Prozesse gerecht zu werden und die Siche-rung der Produktivität zu gewährleisten. Die Bildverarbeitung erfordert interdiszi-plinäres Zusammenwirken. Sie nutzt die Technologien verschiedener Wissensgebietewie Lichttechnik, Optik, Mikroelektronik, Mikrosystemtechnik und Neuroinformatik.Die technologische Entwicklung der Hard- und Softwarekomponenten bei gleichzei-tigem Preisverfall hat dazu geführt, dass die Anzahl wirtschaftlicher Anwendungenrapide zugenommen hat. Die ursprüngliche Aufgabe der industriellen Bildverarbei-tung wurde darin gesehen, den Automatisierungsumfang von Materialfluss, Fertigungund Montage weiter voranzutreiben, indem sie deren technische Möglichkeiten ver-besserte. Mit der Entwicklung eines neuen Qualitätsverständnisses empfahl sich dieBildverarbeitung auch als intelligentes Instrument zur Sicherung der Produktqualitätund wurde Bestandteil eines umfassenden Qualitätssicherungssystems.

5.1.1 Strukturierung der Aufgabenfelder

Die konkrete Beschreibung der Sichtprüfungsaufgaben ist der erste und entscheidendeSchritt zur Definition der Funktionalitäten des einzusetzenden Bildverarbeitungssys-tems.

Die visuellen Prüfungen lassen sich in die folgenden Hauptklassen einteilen:

HTW des Saarlandes Industrielle Bildverarbeitung 77

Page 92: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5 Einführung in die digitale Bildverarbeitung

Abbildung 5.1: Aufgabengebiete von industriellen Bildverarbeitungssystemen

5.1.2 Lageerkennung

Im Bildbereich der Kamera wird ein Bauteil gesucht, die genaue Position bestimmtund diese Information an die Anlagensteuerung, einen Roboter oder Handhabungs-gerät übermittelt. In der Elektronik-Industrie werden diese Systeme beispielsweisefür Leiterplattenbedruckung eingesetzt, um Leiterplatte und Sieb genau übereinan-der zu positionieren. In der Automobil-Industrie oder im Maschinenbau werden invollautomatisierten Montagelinien Robotergreifer über Bildverarbeitungssysteme sopositioniert, dass sie Bauteile, wie beispielsweise Zylinderköpfe, automatisch von Pa-letten entnehmen und in die Montageposition einlegen. Zur genauen Bestimmung derBauteilposition werden Bildauswerteverfahren wie die Korrelation oder Konturalgo-rithmen eingesetzt.

5.1.3 Vollständigkeitskontrolle

Mit der Vollständigkeitskontrolle werden Bauteile auf Anwesenheit und / oder Abwe-senheit verschiedener Komponenten und Merkmale überprüft. So werden beispiels-weise Stossfänger in der JIT-Montage (just in time) vor der Lieferung an das Banddes Automobil-Produzenten überprüft. Überwacht wird die richtige Konfigurationund Funktion von Scheinwerfern und Blinkern, Rammleuchten, Kennzeichenträger,die richtige Öffnung des Lufteinlassgrills, die vollständige Bestückung mit Befesti-gungsschrauben sowie die geforderte Oberflächenveredelung (Farb-Lackierung, UV-Schutz). Um zu vermeiden, dass es hier zu fehlerhaften Auslieferungen kommt, dieeinen Produktionsstopp des Automobil-Produzenten zur Folge hätte, ist eine 100 %-

78 Industrielle Bildverarbeitung HTW des Saarlandes

Page 93: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5.1 Aufgaben- und Einsatzgebiete der Digitalen Bildverarbeitung und MachineVision Systeme

Kontrolle erforderlich, die dem Lieferanten vom Automobilhersteller als Warenaus-gangskontrolle auferlegt wird. Eine Fehlerrate unter 60 ppm (parts per million, d.h.maximal 60 Fehllieferungen unter 1 000 000 ausgelieferten Teilen) muss z.B. garantiertund nachgewiesen werden.

5.1.4 Oberflächeninspektion

Oberflächenkontrolle ist die Kontrolle von technischen und natürlichen Oberflächenauf Fehlstellen und die Kontrolle von Oberflächenverfahren, -veränderungen und -veredelungen. In der Halbleiter-Industrie werden Wafer (Siliziumscheiben als Basis-material für die Chipherstellung) nach jedem der etwa 25 Bearbeitungsprozesse aufBelackungs- und Belichtungsfehler sowie Verunreinigungen der Oberfläche überprüft.Ein weiterer Anwendungsfall für die Oberflächeninspektion ist die automatische op-tische Kleberauftragskontrolle, mit der überprüft wird, ob bei Klebevorgängen vonKarosserieteilen, elektrischen Bauteilen oder Kunststoffteilen, die erforderliche Kle-bemenge an der gewünschten Position auf das Bauteil übertragen wurde. FolgendeBildauswerteverfahren kommen bei der Oberflächeninspektion zum Einsatz:

• Histogrammanalyse

• Schwellwertverfahren

• Texturanalyse zur Unterscheidung strukturierter Oberflächen.

5.1.5 Klarschriftlesen

Neben dem Barcode wird in zunehmender Masse eine Klarschrift zur Kennzeich-nung von Bauteilen eingesetzt. Der Vorteil der Klarschrift liegt darin, dass sie auchvom Menschen wieder gelesen werden kann. Um zu gewährleisten, dass die Schriftlesbar ist und das Bauteil mit der richtigen Kennzeichnung beschriftet ist, wird dieBeschriftung mit Bildverarbeitungssystemen überprüft. Im Gegensatz zu Klarschrift-lesern, die für die automatische Texterfassung von Schriftstücken dienen, muss dieindustrielle Klarschriftlesung eine Lesesicherheit von > 99, 9% gewährleisten. Gelesenwerden unter anderem Tintenstrahlbeschriftungen, Prägeschriften, Stanzschriften, La-serbeschriftungen und Hochtemperaturbeschriftungen.

In der automatischen Motormontage werden beispielsweise Motornummer, Kolben-klasse und Lageschalenklassen mit einem Nadelpräger aufgebracht. Diese Beschrif-tungen müssen automatisch gelesen werden, um die nachfolgende richtige Montageweiterer Bauteile zu gewährleisten und den Materialfluss im Montageprozess über-wachen zu können.

HTW des Saarlandes Industrielle Bildverarbeitung 79

Page 94: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5 Einführung in die digitale Bildverarbeitung

Auf Pharmaverpackungen wird das Haltbarkeitsdatum automatisch gelesen. Hiermuss gewährleistet werden, dass das Datum für den Endverbraucher klar lesbar ist.

In der automatischen Verpackungslinie von CDs wird die kreisförmige Beschriftunggelesen, um sicherzustellen, dass CD, Textheft und Cover in der richtigen Kombina-tion in die Kunststoffhülle eingelegt werden. Verfahren, die für das Klarschriftleseneingesetzt werden sind Mustervergleich, Korrelation und strukturelle Verfahren überdie Konturverfolgung und Skelettierung der Zeichen.

5.1.6 Bauteilvermessung

Die Bauteilvermessung ist ebenfalls ein anspruchsvolles Aufgabengebiet für Bildver-arbeitungssysteme. Da die zu vermessenden Bauteile in der Regel dreidimensionaleKörper und keine flachen Scheiben sind, ist die richtige Optik und Beleuchtungstechnikvon entscheidender Bedeutung. Die Verzerrung der Objektive, Abschattungen durchdas Bauteil selbst, unterschiedlich reflektierende Oberflächen und Parallaxe Fehler beider Vermessung großflächiger Bauteile müssen über genaue Kalibrierverfahren, qua-litativ hochwertige Optiken, Korrekturalgorithmen und bauteilspezifischer Beleuch-tung kompensiert werden, um Messgenauigkeiten von 1/10 bis 1/1000 mm zu erzielen.Hochgenaue Bauteilvermessung ist überall dort gefordert, wo das aufwendige Messenüber Lehren oder das zeit- und kostenintensive Vermessen mit Koordinatenmessma-schinen ersetzt oder ergänzt werden soll.

Verfahren, die für die Bauteilvermessung zum Einsatz kommen, sind Kanten- undKonturerkennung mit Subpixelalgorithmen, dreidimensionale Korrelation, Laserlicht-schnittverfahren und Streifenprojektionsverfahren.

5.2 Digitale Bilder

Die Abbildung 5.2 zeigt den Aufbau eines typischen digitalen Bildes. Es ist repräsen-tiert durch eine Matrix mit N Zeilen und M Spalten. Die Zeilen und Spaltenindizeswerden gewöhnlich mit y und x oder r und c (für row bzw. column) bezeichnet. DieBildmatrix ist oftmals (aber nicht notwendigerweise) quadratisch. N und M sind dannidentisch. Typische Werte sind N = M = 128, 256, 512 oder 1024.

Die Elemente dieser Matrix sind Bildpunkte, für die sich der Begriff (das) Pixel (pictureelement) eingebürgert hat. Im einfachsten Fall nehmen die Pixel lediglich die Werte 0oder 1 an. Man spricht dann von einem Binärbild. Die Werte 1 und 0 repräsentierenHell und Dunkel oder Objekt und Hintergrund.

80 Industrielle Bildverarbeitung HTW des Saarlandes

Page 95: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5.2 Digitale Bilder

Abbildung 5.2: Aufbau eines digitalen Bildes

Zur feineren Quantisierung der Lichtintensität eines Videobildes steht pro Pixel i.a.ein Byte zur Verfügung. Man verfügt also über ganzzahlige Werte im Bereich von 0(schwarz) bis 255 (weiß). Alle dazwischen liegende Pixel sind dunkel bis hellgrau. DerWert eines Pixels wird daher auch Grauwert genannt.

Bei Farbbildern benötigt man für ein Bild je eine Matrix für Rot, Grün und Blau. Die„Grauwerte“ der einzelnen Matrizen stehen hier also für den Rot , Grün und Blauanteildes Bildes am Ort des jeweiligen Pixels.

Diese Echtfarbenverarbeitung darf auf keinen Fall mit der sog. Falschfarbendarstel-lung verwechselt werden. Die Falschfarbendarstellung ist eine Visualisierungsformfür Grauwertbilder. Es ist für die Analyse eines Bildes durch einen Menschen günstig,interessante Grauwertbereiche farblich hervorzuheben.

Die digitale Bildverarbeitung setzt erhebliche Rechen und Speicher Ressourcen voraus.Ein typisches Grauwertbild von 512 x 512 Pixel und 256 Grauwerten (8 Bit) pro Pixelbenötigt einen Speicherplatz von 256 KByte. Dies entspricht ungefähr 100 maschinen-geschriebenen DIN A4 Seiten. Setzen wir im Fall schritthaltender Bildverarbeitung 10Bilder pro Sekunde an, so entspricht der Datenanfall bereits nach einer Minute über100 MByte. Abbildung 4.3 zeigt ein Grauwertbild der Größe 128*128 mit 256. Grau-werten. Die Abbildung zeigt die Aufnahme von aus schwarzer, weißer und grauerPappe ausgeschnittener einfacher geometrischer Objekte Eine schwarze Pappe dientals Hintergrund, graue und weiße Stücke als Objekte. Der menschliche Beobachterkann problemlos die Objekte sowie ihre Lage im Bild identifizieren. Für den Rechnerist das Bild aber lediglich eine Matrix, deren Elemente natürliche Zahlen im Bereich

HTW des Saarlandes Industrielle Bildverarbeitung 81

Page 96: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5 Einführung in die digitale Bildverarbeitung

0 bis 255 annehmen können. Diesen Sachverhalt verdeutlicht der in Abbildung 5.3gezeigte Ausschnitt aus dem Beispielbild.

Abbildung 5.3: Hexadezimale Darstellung eines Bildausschnittes

Das Beispielbild (Abbildung 5.3) verdeutlicht zwei weitere grundlegende Schwierig-keiten im Zusammenhang mit digitalen Bildern:

• Das ellipsenförmige Objekt in der Mitte des Bildes war ursprünglich eine Kreis-scheibe. Die Verzerrung liegt in der Geometrie der Pixel begründet. Ein Pixellässt sich i.a. als Rechteck betrachten. Im Fall der Videonorm ist dessen Seiten-verhältnis vier zu drei.

• Die Ränder der Objekte sind keineswegs glatt, sondern „digital gezahnt“. Beihohen Auflösungen fällt dieser Umstand kaum ins Gewicht. In unserem Bei-spielbild allerdings stehen die Abmessungen eines Pixels und die Abmessungender Objekte in einem Verhältnis das bei einigen Anwendungen (wie z.B. derVermessung von Objekten) zu Problemen führen könnte. Abbildung 5.2 zeigtdie Pixel in einer Anordnung von Rechtecken oder Kacheln. Diese übliche Dar-stellung eines Bildes birgt die Gefahr einige Aspekte der Signalverarbeitung zuverdecken. Aus deren Sicht ist ein digitales Bild ein Array von Abtastwerten

Abbildung 5.4 (a) zeigt einen Kreis in einem „analogen“ Bild mit einem überlagerten4 x 4 Abtastgitter. Vorausgesetzt Kreis und Hintergrund sind homogen (z.B. weißerKreis auf schwarzem Hintergrund oder umgekehrt), erhalten wir das in Abbildung 5.4(b) gezeigte digitale Bild. Das vorhergehende Beispiel behandelt die Anordnung vonAbtastwerten. Wie verhält es sich aber mit einem Abtastwert als solchen?

82 Industrielle Bildverarbeitung HTW des Saarlandes

Page 97: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5.2 Digitale Bilder

Abbildung 5.4: Vergleich analoges und digitales Bild

Abbildung 5.5 zeigt einen Schnitt durch ein Bild dessen Intensität sinusförmig variiert.

Abbildung 5.5: Schnitt durch ein Bild dessen Intensität sinusförmig variiert (a). (b) zei-gen zehn unendlich schmale Den Abtastwerte an unterschiedlichen Po-sitionen. Den Abtastwert über den Abstand zwischen zwei Abtastungenhaltend, führt zu der üblichen Darstellung (c).

HTW des Saarlandes Industrielle Bildverarbeitung 83

Page 98: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5 Einführung in die digitale Bildverarbeitung

5.3 Verarbeitung digitaler Bilder

5.3.1 Vorverarbeitung

Die in der Bildvorverarbeitung verwendeten Verfahren dienen zur Geometrischen Ent-zerrung, Bildverbesserung und Bildrestaurierung. Ein typisches Anwendungsgebietde geometrische Entzerrung ist die Kartografie, eine typische Aufgabe der Bildverbes-serung die Kompensation von Kamerainhomogenitäten. Durch die Bildrestaurierungwerden Fehler in der Bildmatrix beseitigt die z.B. durch die Übertragung über gestörteDatenkanäle entstanden sind. Am Ende der Vorverarbeitung steht wieder eine Bildma-trix zur Verfügung, die sich hinsichtlich der in ihr enthaltenen Datenmenge kaum vonder ursprünglichen Bildmatrix unterscheidet. Die zur Vorverarbeitung notwendigenOperationen lassen sich grob in drei Klassen eingeteilen:

• Punktoperationen, bei denen der neue Grauwert eines Pixels nur vorn altenabhängt (z.B. Histogrammmodifikation, Schwellenoperation),

• lokale Operationen, bei denen alle innerhalb eines Fensters um das aktuelleBildelement liegenden Pixel zu dessen neuem Wert beitragen (z.B. Gradienten-operation und Glättungsoperationen) und

• globale Operationen, bei denen der neue Grauwert jedes Pixels von allen anderenBildelementen abhängt (z.B. Fourier Transformation).

5.3.2 Segmentierung und Merkmalsextraktion

In der menschlichen Wahrnehmung bedeutet Segmentierung die Heraustrennung ei-nes Objektes aus seinem Hintergrund. Dieser Vorgang ist nicht auf die visuelle Wahr-nehmung beschränkt. Als Beispiel sei die „akustische Welt“ eines Bahnhofs genannt.In dem Durcheinander verschiedenster Geräusche ist die Ansage einer Zugverspä-tung der typische Fall eines „Objektes“. Sämtliche anderen Geräusche treten in denHintergrund. Das Objekt „Ansage“ hat eine besondere Bedeutung für die meistenBahnhofsgäste. Bedeutung und Segmentierung sind in vielen Fällen eng verbunden.Das problemlose Wiedererkennen eines guten Bekannten in einer belebten Fußgän-gerzone ist ein weiteres Beispiel hierfür. Steht in dieser Fußgängerzone ein farblichauffälliges Plakat, so ist dieses mit Sicherheit für die Vorbeigehenden (wenn auch nurfür kurze Zeit) ein Objekt, das aus dem Hintergrund der Menschenmasse herausseg-mentiert wird.

Diese Farbe mögen zwar einige Menschen mit einer besonderen Bedeutung verbin-den, aber das Signal Farbe an sich ermöglicht bereits eine problemlose Segmentie-rung. In der Praxis der technischen Bildauswertung steht die Segmentierung ohne

84 Industrielle Bildverarbeitung HTW des Saarlandes

Page 99: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5.3 Verarbeitung digitaler Bilder

Bedeutungszuweisung im Mittelpunkt. Gängige Segmentierungsverfahren beruhenauf Grau- wert differenzen.

Abbildung 5.6 zeigt die typischen Schritte einer konturorientierten Segmentierung undMerkmalsextraktion. In Abbildung 5.6 (b) sind die Grauwerte des Ausschnittes ausAbbildung 5.6 (a) als Zahlen von 0 bis 9 dargestellt. Der erste Verfahrensschritt hebtdie Grauwertdifferenzen hervor (Abbildung 5.6 (c)), die nachfolgende Aufbesserungsäubert und verdünnt die Konturen. Das Konturbild liegt im Rechner aber nach wievor in Form einer Matrix vor (Abbildung 5.6 (d)). Die Konturpunktverkettung fasstdaher die jeweils zu einer Kette gehörigen Konturpunkte in einer Liste zusammen.Die Darstellung einer Kontur durch verkettete Konturpunkte birgt viel Redundanz.Eine Konturapproximation kann hier Abhilfe schaffen. Einfach zu handhaben ist z.B.die Approximation mit Geradenstücken (Abbildung 5.6 (e). Auf der Basis dieser struk-turellen Beschreibung der Kontur interpretieren Bildanalyseverfahren den Inhalt desBildes.

Abbildung 5.6: Die typischen Schritte einer konturorientierten Segmentierung und Merk-malsextraktion. (b) zeigt die Grauwerte eines Ausschnittes aus (a) alsZahlen zwischen 0 und 9. Der erste Verfahrensschritt hebt die Grau-wertdifferenzen hervor (c), die nachfolgende Aufbesserung säubert undverdünnt die Konturen. Darauf basierend fast die Konturpunktverket-tung die jeweils zu einer Kette gehörenden Konturpunkte in einer Listezusammen (nicht dargestellt). Im letzten Schritt nähert die Konturappro-ximation die Kontur durch Geradenstücken (e) an.

HTW des Saarlandes Industrielle Bildverarbeitung 85

Page 100: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5 Einführung in die digitale Bildverarbeitung

5.3.3 Bildanalyse und Merkmalsextraktion

Die Bildanalyse im Sinne der Mustererkennung nutzt weniger strukturelle Merkmale(Lage von Geradenstücken, Parallelität von Geradenstücken, u.ä.), sondern eher nu-merische Merkmale. Als solche gelten z.B. Schwerpunkt und Umfang einer Bildregion.Aufgabe der Bildanalyse ist es, die Objekte einer wie auch immer gearteten Weit inKategorien zu ordnen. Nach der Gewinnung der die Objekte beschreibenden Rohda-ten gilt es daraus die charakteristischen Merkmale der Objekte zu extrahieren.

Auf dieser Basis teilt eine zuvor trainierte mustererkennende Instanz die Objekte inKlassen ein. Nehmen wir an auch wenn es recht vieldeutig ist - die „Welt“ sei einMünzautomat, die Objekte dieser Welt also Münzen. Die Sensorik sei in der Lage, Ge-wicht, Durchmesser und Dicke einer Münze zu messen. Dieses sind also die Merkmaleder Münzen. Sollen die Münzen nun sortiert werden, so müssen dem mustererkennen-den System Informationen über die typischen Merkmale der zu sortierenden Münzenvorliegen. Es benötigt, bildlich gesprochen, Etiketten für die einzelnen Münzen. Die-se Etiketten kann sich das System selbst beschaffen, indem es einfach Objekte (z.B.Münzen) mit ähnlichen Merkmalen ein und derselben Klasse zuordnet. Man sprichthier auch von unüberwachter Klassifikation. Diese liefert allerdings keine Informationüber die Objekte bzw. Klassen selber. Es wird also einfach „zusammengepackt“ wasähnlich ist. Diese Vorgehensweise ist für einen Münzsortierer unbrauchbar. Im Gegen-satz dazu werden überwachte Klassifikatoren auf Aussagen wie „dies ist eine 5 EuroMünze“ trainiert. Solche Klassifikatoren arbeiten in zwei Stufen.

In der Trainingsphase müssen dem System die typischen Vertreter (also z.B. unge-fälschte Münzen ohne Beschädigung) einer Klasse gezeigt und gelernt werden. Inder nachfolgenden Klassifikationsphase ordnet das System die vermessenen Objek-te denjenigen Klassen zu, deren Prototypen sie am ähnlichsten sind. Der Erfolg derMustererkennung basiert entscheidend auf der der Aufgabenstellung angemessenenAuswahl von Merkmalen. Die Wahl der eigentlichen Klassifikationsmethode steht hieran zweiter Stelle. So ist z.B. das Merkmal „Münztemperatur“ für die Münzsortierungvöllig irrelevant. Aber Merkmale zur finden, die mit möglichst geringem Aufwand (!)eine sichere Trennung von guter Fälschung und Original ermöglichen, kann außeror-dentlich schwierig sein.

86 Industrielle Bildverarbeitung HTW des Saarlandes

Page 101: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5.4 4.4 Die grundlegenden Komponenten von Bildverarbeitungssystemen

5.4 4.4 Die grundlegenden Komponenten vonBildverarbeitungssystemen

Abbildung 5.7 zeigt die typischen Komponenten eines Bildverarbeitungssystems. DieReflektionen eines angestrahlten Werkstücks gelangen durch ein Objektiv auf dasCCD Chip (Charge Coupled Device) der Kamera. Das CCD Chip ist eine 2 dimen-sionale Matrix aus lichtempfindlichen Elementen (die Pixel), die die aufgefangenenPhotonen in Elektronen wandeln und somit Ladung ansammeln. Dadurch entstehtein 2 dimensionales ortsdiskretes Bild (mit analogen, durch die angesammelte Ladungrepräsentierten Grauwerten). Die Kameraelektronik setzt dieses Bild in ein internatio-nalen Standards (z.B. CCIR oder EIA) entsprechendes Videosignal um. Dabei handeltes sich um ein analoges 1dimensionales Zeitsignal, das Impulse enthält, die ein neuesBild (V Sync für vertikale Synchronisation) und den Beginn der Zeilen (H Sync fürhorizontale Synchronisation) anzeigen.

Abbildung 5.7: Der Informationsfluss eines Bildes von der Beleuchtung des ursprüngli-chen Objektes bis zur Bildverarbeitungsanwendung durchläuft verschie-den Komponenten.

Der Bildverarbeitungsrechner nutzt einen Frame Grabber, um das Video Eingangssi-gnal in digitale Bilder umzusetzen und diese in einem freien Bereich des Arbeitsspei-chers abzulegen. Hier können Bildverarbeitungsverfahren auf die Bilder zugreifen.

Diese Applikationen sind meist software basiert und ggf. durch spezielle Hardwarebeschleunigbar. Aus technischer Sicht wirkt diese Form der Bildakquisition umständ-lich. Es wäre sinnvoller, den CCD Inhalt direkt über einen Quantisierer in den Ar-

HTW des Saarlandes Industrielle Bildverarbeitung 87

Page 102: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5 Einführung in die digitale Bildverarbeitung

beitsspeicher des Rechners zu transferieren. Aber aus ökonomischer Sicht macht dervermeintliche Umstand der Umwandlung in ein Videosignal Sinn, da die auf Video-standards beruhende Unterhaltungselektronik für billige Chips sorgt.

5.5 Beleuchtung

5.5.1 Unkontrolliertes Licht

Unkontrolliertes Licht ist eine besondere Herausforderung für jedes Bildverarbeitungs-sytem. Für Zwecke der Messtechnik sollte die Beleuchtung auf jeden Fall kontrolliertsein.

5.5.2 Durchleuchtung

Wenn ein Objekt mehr oder weniger transparent ist, kann eine Durchleuchtung desseninnere Struktur aufdecken (Abbildung 5.8). Dieses ist z.B. eine Methode zur Detektionvon Inhomogenität in Glas. Eine andere typische industrielle Anwendung ist die Er-kennung von Lufteinschlüssen in Aluminiumfelgen durch Röntgen Durchstrahlung.Weitere Beispiele findet man in Biologie und Medizin.

Abbildung 5.8: Wenn ein Objekt mehr oder weniger transparent ist, kann eine Durch-leuchtung dessen innere Struktur aufdecken. Diese ist z.B. eine Methode,Inhomogenitäten in Glas zu detektieren

5.5.3 Silhouetten Projektion

Sofern lediglich der Umriss eines flachen Objekts von Interesse ist, kommt die Silhou-etten Projektion zum Einsatz. Abbildung 5.9 zeigt eine auf einer Leuchtplatte liegendeSchere. Das Ergebnis der Silhouetten Projektion ist ein Grauwertbild, dessen dunklePixel das Objekt repräsentieren, während die hellen Pixel den Hintergrund bilden.Daher ist es recht einfach, eine Grauwertschwelle anzuwenden, die den Objekt Pixelneine 1 und den Hintergrund Pixeln eine 0 zuweist. Auf diese Weise entsteht ein Bi-närbild. In der Praxis ist die Anwendung einer solchen Schwelle durchaus nicht so

88 Industrielle Bildverarbeitung HTW des Saarlandes

Page 103: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5.5 Beleuchtung

profan, denn der Grauwertübergang von Hell nach Dunkel ist keineswegs ein idealerSprung.

Abbildung 5.9: Sofern der Umriss eines flachen Objekts von Interesse ist, kommt dieSilhouetten-Projektion zum Einsatz. Das Ergebnis der Silhouetten- Pro-jektion ist ein Grauwertbild, dessen dunkle Pixel das Objekt präsentieren,während die hellen Pixel den Hintergrund bilden.

5.5.4 Auflicht-Beleuchtung

Auflicht ist die grundlegende Beleuchtungsmethode. Die in den folgenden Abschnit-ten beschriebenen Methoden sind Variationen des Auflicht-Szenarios. Ein typischesProblem der Auflicht-Beleuchtung (besonders im messtechnischen Bereich) ist diediagonale Projektion von Schatten (Eine Ringlichtbeleuchtung vermeidet diese Schat-ten).

5.5.5 Diffuse Beleuchtung

Nehmen wir an, der Inhalt einer transparenten Blister Packung sei auf Vollständigkeitzu prüfen. Auf den ersten Blick erscheint das kein Problem, schliesslich ist die Verpa-ckung durchsichtig. Allerdings neigt dieses transparente Material sehr zu störenden

HTW des Saarlandes Industrielle Bildverarbeitung 89

Page 104: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5 Einführung in die digitale Bildverarbeitung

Reflektionen. Damit ist die Aufnahme eines zur Messung geeigneten Bildes nicht si-cher. Abhilfe schafft hier der Einsatz diffusen Lichtes, wie es etwa durch einen völligbewölkten Himmel entsteht. Abbildung 5.10 zeigt die technische Lösung. Auf Grundder wiederholten Reflektionen der Lichtstrahlen an der Innenseite der Glocke, trifftdas Objekt keinerlei direktes Licht. Störende Reflektionen können so nicht entstehen.

Abbildung 5.10: Auf Grund der wiederholten Reflexionen der Lichtstrahlen an der In-nenseite der Glocke, trifft das Objekt keinerlei direktes Licht. StörendeReflexionen können so nicht entstehen.

5.5.6 Hellfeld/Dunkelfeld Beleuchtung

Die Position von Objekt, Licht und Kamera zueinander spielt eine wichtige Rolle. Dieswird besonders bei der Inspektion von Oberflächen auf Kratzer hin deutlich. Möchteman z.B. die Qualität einer Schallplatte überprüfen, hält man sie so „gegen das Licht“,dass Kratzer als helle Striche auf dunklem Untergrund (oder umgekehrt) erscheinen.Im technischen Zusammenhang spricht man von Hellfeld oder Dunkelfeldbeleuch-tung (Abbildung 5.11).

90 Industrielle Bildverarbeitung HTW des Saarlandes

Page 105: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5.5 Beleuchtung

Abbildung 5.11: Die Hellfeldbeleuchtung (a) ergibt ein helles Bild, worin die interessan-ten Bereiche des Bildes (hier ein Kratzer) dunkel erscheinen. Die Dun-kelfeldbeleuchtung (b) arbeitet umgekehrt.

5.5.7 Schattenprojektion

Insbesondere im messtechnischen Zusammenhang stören häufig Schatten die Analysevon Bildern. Aber in einigen Fällen sind Schatten sehr hilfreich. Abbildung 5.12 zeigtein Objekt dessen Farbe (oder Grauwert) dem des Hintergrunds sehr ähnelt. Daherist die Erkennung des Objektumrisses schwierig. Vorausgesetzt, der Hintergrund istnicht zu dunkel, vermisst man anstelle des Objektrandes den durch ihn geworfenenSchatten.

HTW des Saarlandes Industrielle Bildverarbeitung 91

Page 106: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5 Einführung in die digitale Bildverarbeitung

Abbildung 5.12: Wenn die Farbe oder der Grauwert von Objekt und Hintergrund sehrähnlich sind, ist es schwierig den Objektrand zu bestimmen. Voraus-gesetzt, der Hintergrund ist nicht dunkel, vermisst man anstelle desObjektrandes den durch ihn geworfenen Schatten.

5.5.8 Strukturiertes Licht

Die in den vorherigen Abschnitten beschriebenen Beleuchtungsmethoden basieren aufhomogenem Licht. Die Anwendung spezieller Lichtmuster bietet neue Möglichkeiten.

Dazu zwei Beispiele:Abbildung 5.13 zeigt ein Objekt, dessen Höhe zu vermessen ist. Zu diesem Zweckprojiziert man einen Lichtstreifen unter einem Winkel (Abbildung 5.13 (a)) auf dasObjekt. Da die Kamera senkrecht zum Objekt steht, enthält das resultierende Bild (b)zwei parallele Linien mit einer Distanz d, die das Bildverarbeitungssystem misst. Übertan(α) = h

d kann die Höhe bestimmt werden.

92 Industrielle Bildverarbeitung HTW des Saarlandes

Page 107: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5.6 Optische Grundlagen

Abbildung 5.13: Anwendungsbeispiel mit strukturiertem Licht.

5.6 Optische Grundlagen

Abbildung 5.14 zeigt das Prinzip einer Linse. Die durch einen Lichtpunkt ausgesand-ten Strahlen sind parallel, wenn dieser Punkt im Unendlichen liegt (a). Eine Linse, diesenkrecht zu diesen Strahlen positioniert ist (d.h. die Strahlen und die optische Achsesind parallel) bündelt sie im Brennpunkt. Damit ist der Brennpunkt die Abbildungdes unendlich entfernten Lichtpunktes. Der Abstand zwischen Linse und Brennpunktist die Brennweite f. Wenn wir also ein unendlich entferntes Objekt scharf auf demCCD Chip abbilden wollen, muss der Abstand zwischen Linse und Chip exakt derBrennweite entsprechen. Mit anderen Worten, das CCD Chip muss in der Brennebe-ne liegen. Führt man den Lichtpunkt näher an die Linse heran (Abbildung 5.14 (b)),bündelt diese die Strahlen hinter dem Brennpunkt. Eine scharfe Abbildung erfordertdann einen grösseren Abstand zwischen Linse und Chip.

Fokussierung bedeutet die Veränderung des Abstandes zwischen Objektiv und CCDChip. Offensichtlich sind dieser Veränderung mechanische Grenzen gesetzt. Ein Ob-

HTW des Saarlandes Industrielle Bildverarbeitung 93

Page 108: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5 Einführung in die digitale Bildverarbeitung

jektiv erlaubt die Fokussierung vom Unendlichen bis zur sogenannten MinimalenObjektdistanz (MOD). Die MOD ist mit Hilfe von Zwischenringen verkleinerbar. Siewerden zwischen Objektiv und Kamera geschraubt, um deren Abstand zu vergrös-sern. Konsequenterweise ist es dann aber nicht mehr möglich weit entfernte Objekte zufokussieren. Je dicker die Zwischenringe sind (die Ringe sind dann irgendwann eherRöhren und heissen daher auch Verlängerungstubus) desto kleiner werden minimaleund maximale Objektdistanz. Abbildung 5.14 zeigt die Zusammenhänge am Beispielhandelsüblicher C Mount Objektive.

Abbildung 5.14: Darstellung der Zusammenhänge optische Achse, Brennebene, Brenn-punkt

Insbesondere im Zusammenhang mit Zoomobjektiven sind Zwischenringe wenigergeeignet. Hier helfen Nahlinsen oder Makroobjektive. Abbildung 5.15 illustriert diegrundlegende Linsenformel, wie sie Descartes für die sogenannte dünne Linse defi-nierte. In der alltäglichen Praxis ist sie aber auch auf normale Objektive anwendbar.Eine immer wiederkehrende Aufgabe ist die Bestimmung der Brennweite.Aus den grundlegenden Zusammenhängen

1b

+1g

=1f

bzw.BG

=bg

(5.1)

extrahiert man mit

b = g ·BG

f = g ·g ·B

(G + B)=

g

1 + GB

(5.2)

wobei b und g die Distanzen zwischen Linse und Bild bzw. Linse und Objekt sind

94 Industrielle Bildverarbeitung HTW des Saarlandes

Page 109: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5.6 Optische Grundlagen

(Abbildung 5.15), während B und G die Grösse von Bild und Objekt beschreiben.Der Quotient aus B und G ist der sog. Abbildungsmaßstab m. Für g sind die BegriffeArbeitsabstand oder Objektdistanz gebräuchlich.

Abbildung 5.15: Das Linsengesetz

5.6.1 C-Mount Objektive

Über die grundlegenden, in den vorherigen Abschnitten diskutierten optischen Zu-sammenhänge hinaus, haben wir es in der Praxis mit einigen weiteren Parametern zutun. Es gibt verschiedene Methoden, Objektiv und Kamera miteinander zu verbinden.In der Bildverarbeitung dominieren die C bzw. CS Mount Objektive (Abbildung 5.16).

Abbildung 5.16: Die mechanischen Parameter von C- und CS-Mount Objektiven.

Der einzige Unterschied zwischen C und CS Mount Objektiven ist ihr Auflagenmass,also der Abstand zwischen dem Ende des Objektivgewindes (das bei voll einge-

HTW des Saarlandes Industrielle Bildverarbeitung 95

Page 110: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5 Einführung in die digitale Bildverarbeitung

schraubtem Objektiv „auf“ der Kamera liegt) und der Brennebene. Das Auflagenmassbeträgt 17.5mm für C Mount und 12.5mm für CS Mount Objektive. Ein Zwischenringvon 5mm wandelt also ein C Mount in ein CS Mount Objektiv, bzw. macht aus einerCS Mount eine C Mount Kamera.

Einer der grossen Vorteile des C Mount Standards ist die hohe internationale Akzep-tanz. Dies ist die Grundlage für ein grosses Spektrum verschiedenster Objektive, diesämtlich zu den weit verbreiteten C Mount Kameras passen. Der Ursprung der CMount Objektive liegt in den Zeiten der Röhrenkameras. Die typischen Aussendurch-messer dieser Röhren sind 1/2, 2/3 und 1. Die längere Seite deren lichtempfindlicherBereiche entspricht etwa der Hälfte der Röhrendurchmesser (Abbildung 5.17. Moder-ne CCD Chips tendieren zu kleineren Flächen.

Abbildung 5.17: Objektiv Formate

Die üblichen Grössen (Chip Format / Kamera Format) sind 1/3“ und 1/2“. Unterschied-liche Chip Formate erfordern korrespondierende Objektiv Formate. Allgemein mussdas Objektiv Format grösser oder gleich dem des Chips sein. Besonders in messtechni-schen Anwendungen ist es empfehlenswert grössere Objektiv Forrnate zu wählen, daderen Verzeichnung im wesentlichen am Linsenrand auftritt. Neben der Brennweite(Abbildung 5.18) ist der Bildwinkel eine weitere wichtige Objektiveigenschaft. Der

96 Industrielle Bildverarbeitung HTW des Saarlandes

Page 111: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5.6 Optische Grundlagen

Bildwinkel ist definiert als:

tanθ = 2 ·arctanBmax

2 · f (5.3)

Wobei Bmax eine Dimension (horizontal, vertikal, diagonal) des CCD-Chips ist. Objek-tive werden bezüglich ihres Bildwinkels in verschiedene, allerdings nicht allzu scharfgegeneinander abgegrenzte Klassen geordnet.

Abbildung 5.18: Der Bildwinkel

Typische Werte des diagonalen Bildwinkels sind:

• 100◦

Super-Weitwinkel

• 65◦

- 35◦

Weitwinkel

• 20◦

Standard

• 12◦

- 6◦

Tele

Die Verzeichnung eines Objektivs nimmt mit dem Bildwinkel zu. Für messtechnischeZwecke eingesetzte Objektive sollten von hoher Qualität sein, und größere Bildwinkelvermieden werden.

5.6.2 Nahlinsen

Abgesehen von sehr preisgünstigen Exemplaren, weisen Objektive Gewinde zum Ein-schrauben von Filtern auf. An ihre Stelle können aber auch Nahlinsen (auch Makrovor-satzlinsen genannt) treten. Sie verringern die minimale Objektdistanz von Objektiven,wirken also wie Zwischenringe. Deren Einsatz ist allerdings im Zusammenhang mitZoom Objektiven nicht empfehlenswert oder ggf. zu umständlich. Insbesondere in sol-chen Fällen kommen Nahlinsen zum Einsatz. Die in Abbildung 5.19 gezeigte Tabellehilft bei der Auswahl.

HTW des Saarlandes Industrielle Bildverarbeitung 97

Page 112: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5 Einführung in die digitale Bildverarbeitung

Abbildung 5.19: Zusammenhang zwischen ursprünglicher Einstellentfernung des Objek-tivs, der Nahlinsenkraft und der resultierenden neuen Objektdistanz.

5.6.3 Makroobjekte

Führt der Einsatz von Zwischenringen oder Nahlinsen nicht zum gewünschten Ergeb-nis, kommen Makroobjektive zum Einsatz. Sie decken Abbildungsmaßstäbe zwischen0, 1 und 10 ab.

Im Gegensatz zu normalen Objektiven ist das typische Kennzeichen eines Makro-objektivs nicht die Brennweite, sondern der Abbildungsmaßstab. Die Öffnung einesMakroobjektivs wird gelegentlich durch numerische Apertur ausgedrückt. Sie ist un-gefähr der Kehrwert der verdoppelten Blendenzahl

5.6.4 Telezentrische Objektive

Geht in eine Messaufgabe die Tiefeninformation des betreffenden Objekts ein, ist manmit der perspektivischen Verzerrung konfrontiert.

Hier helfen telezentrische Objektive (Abbildung 5.20 ). Ihnen liegt die Idee zugrun-de, direkt im Brennpunkt eine Blende zu positionieren (Abbildung 5.21). Diese könnenlediglich parallele (oder nahezu parallele) Strahlen passieren (Abbildung 5.14), die wie-derum nur von unendlich entfernten Objekten ausgehen können. Wenn aber sämtlicheTeile eines Objektes im Unendlichen liegen, kann es keine perspektivische Verzerrungmehr geben. Dies verursacht aber auch einen entscheidenden Nachteil. Der Durchmes-ser telezentrischer Objektive muss grundsätzlich grösser sein, als das zu vermessendeObjekt. In der Praxis gibt es natürlich keine ideale Telezentrie. Daher ist einer der

98 Industrielle Bildverarbeitung HTW des Saarlandes

Page 113: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5.6 Optische Grundlagen

wichtigsten Parameter des sog. Telezentriebereiches. Ausgehend von einer optimalenObjektdistanz gibt er die minimalen und maximalen Distanzen an, zwischen denendie Abbildung ein und desselben Objekts um höchstens 1µm variiert. Einige Herstellergeben den Telezentriebereich auch für eine Abweichung von 10µm an.

Abbildung 5.20: Telezentrisches Objektiv

Abbildung 5.21: Funktionsprinzip von Telezentrischen Objektiven.

Wie bereits im Zusammenhang mit den im vorherigen Abschnitt besprochenen Ma-kroobjektiven, gilt auch hier die Ausrichtung auf die Messtechnik. Dementsprechendbedarf es bei der Anwendung von telezentrischen Objektiven einer präzisen Abstim-mung der Lichtverhältnisse und des mechanischen Aufbaus.

HTW des Saarlandes Industrielle Bildverarbeitung 99

Page 114: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5 Einführung in die digitale Bildverarbeitung

Berechnungsbeispiel zur Auswahl eines auf die Anwendung passenden Objektivs:Das Bild eines 50mm · 50mm Objekts soll ein 1/2“ CCD Chip maximal ausfüllen. DerAbstand zwischen Objekt und Objektiv beträgt 150mm. Welche Brennweite muss einObjektiv aufweisen?

Mit Gleichung (Gl. 5.1) und g = 150mm, B = 6.4mm (was der Breite eines 1/2“ CCDChips entspricht) und G = 50mm erhält man f = 17mm. Verfügbar sind Objektive mitf = 16mm. Damit ist schon einmal die Regel erfüllt, nach der das Objektiv Formatgrösser oder gleich dem des CCD Chips sein muss.

Allerdings ist gemäss Tabelle in Abbildung 5.22 die MOD eines 16mm Objektivs300mm. Daher muss ein 1.5mm Zwischenring für die Verkleinerung der MOD auf140mm sorgen. Die maximale Objektdistanz beträgt dann 200mm:

Abbildung 5.22: Zusammenhang zwischen Brennweite, normaler MOD und deren Ver-kleinerung durch Einsatz von Zwischenringen (Alle Maße in mm)

100 Industrielle Bildverarbeitung HTW des Saarlandes

Page 115: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5.7 Kamera

5.6.5 Zusammenfassend einige Hinweise zur Auswahl und Anwendungvon Objektiven

• Eine kleine Blende, eine kurze Brennweite und eine grosse Objektdistanz führenzu einer hohen Schärfentiefe.

• Der Durchmesser des Unschärfekreises sollte nicht grösser sein als die Kanten-länge eines CCD Pixels (typischerWert: 10 m).

• C Mount Objektive mit Brennweiten unter 8 mm weisen zumeist für die Mess-technik nicht akzeptable Verzeichnungen auf.

• Das Objektiv Format muss grösser oder gleich dem Format des Chips sein.

• Verzeichnungen treten im wesentlichen am Rand eines Objektivs auf. Dahersollte im Fall messtechnischer Anwendungen das Objektiv Format grösser alsdas Chip Format sein.

• Zwischenringe und Nahlinsen verkürzen die minimale Objektdistanz von Ob-jektiven. Im Fall von Zoom Objektiven sollte man vorzugsweise Nahlinsen ein-setzen.

• Die Brechkraft von Nahlinsen sollte höchstens 20% der Brechkraft des Objektivsbetragen. Dadurch hält sich die zusätzliche Verzeichnung in Grenzen. Erhältman auf diese Weise nicht die gewünschte Verkleinerung der Objektdistanz oderliegt eine hochpräzise messtechnische Anwendungen vor, sollte man immer aufspezielle Makroobjektive zurückgreifen.

• Telezentrische Objektive vermeiden die perspektische Verzerrung. Ihr Durch-messer muss mindestens dem der aufgenommenen Objekte entsprechen.

• Im industriellen Bereich sollte nicht auf Kosten der mechanischen Stabilität ge-spart werden. Hier sind insbesondere Objektive mit Feststellschrauben empfeh-lenswert.

• C Mount 3 Chip Kameras arbeiten aus mechanischen und optischen Gründennicht mit jedem C Mount Objektiv. Es ist daher sehr wichtig, die Kompatibili-tätslisten der Kamerahersteller zu beachten.

5.7 Kamera

Die in der digitalen Bildverarbeitung verwendeten Kameras bestehen aus den zweiGrundkomponenten Bildakquisition und Ausgabeeinheit. Die Akquisitionseinheit ba-siert auf Bildaufnahmeröhren oder CCD Chips. Heutzutage dominieren die CCD Ka-meras (Abbildung 5.23). Die Ausgabeeinheit generiert ein Videosignal als Basis für

HTW des Saarlandes Industrielle Bildverarbeitung 101

Page 116: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5 Einführung in die digitale Bildverarbeitung

die weitere Verarbeitung. Das von Standardkameras akquirierte Bild wird in ein Vi-deosignal gewandelt, dass internationalen Standards wie CCIR (Comité ConsultatifInternationaldes Radiocommunications) oder EIA (Electronics Industries Association)genügt.

Abbildung 5.23: Aufbau CCD-Kamera

5.7.1 Bildakquisition

Der aktuelle Markt für Bildakquisitions Komponenten ist durch CCD Chips (ChargeCoupled Device) dominiert. Ein wichtiger Vorteil (verglichen mit Röhren) ist, dassCCD Chips aus separaten lichtempfindlichen Elementen, eben den Pixeln bestehen.Sie liefern mithin bereits ein 2 dimensionales ortsdiskretes Bild. Weitere Vorteile sindeine kleine Baugrösse, niedriges Gewicht, hohe Dynamik, hohe Linearität, grosser Wi-derstand gegen mechanische, magnetische und optische Störungen sowie nicht zuletztder durch den Massenmarkt im Konsumbereich niedrige Preis.

CCD Chips bieten eine elektronische Belichtungssteuerung (Shutter). Die meisten CCDKameras bieten zwei Methoden der Belichtungssteuerung. Im manuellen Modus be-stimmt der Nutzer die Wahl der Shutter Zeit. Im automatischen Modus (AES = au-tomatic electronic shutter) passt sich die Shutter Zeit der Intensität des einfallendenLichts an.

Eine der grundlegenden Parameter von CCD Chips ist ihre Auflösung, ausgedrückt inder Anzahl effektiver Pixel. Das Muster eines typischen hochauflösenden CCD Chipsweist 752 Pixel in horizontaler Richtung (Spalten) und 582 Pixel in vertikaler Richtung

102 Industrielle Bildverarbeitung HTW des Saarlandes

Page 117: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5.7 Kamera

(Zeilen) auf. Die volle Anzahl der Pixel ist ein wenig höher, da am Rand des Chipseinige Zeilen und Spalten als „blinde“ Pixel zur Definition des Grauwertes „Schwarz“dienen.

CCD Chips sind nicht in der Lage Farben (also unterschiedliche Wellenlängen bzw.Energie von Photonen) zu unterscheiden. Daher spalten Farbkameras das einfallendeLicht mit Hilfe von Filtern und Prismen in die Grundfarben Rot, Grün und Blau (RGB).Die Verteilung der Farbkomponenten auf das CCD Chip erfolgt mit zwei unterschied-lichen Ansätzen. Die offensichtlichste Methode nutzt ein Prisma, das drei getrennte,mit einem Filter für die jeweilige Grundfarbe versehene CCD-Chips versorgt. Kame-ras, die diese Technik nutzen (die sog. 3 Chip Kameras) garantieren höchste Qualitätaber auch höchste Preise. Ausserdem arbeiten sie nur mit ausgesuchten Objektiven.Die einfachere Methode nutzt kleine Filter Strukturen (breite Anwendung finden diesog. Mosaikfilter), die die Farbkomponenten pixelweise auf das CCD Chip verteilen.Dieses ähnelt dem Aufbau der Farbsensorik unseres Auges. Kameras die diese Technikverwenden sind preisgünstig und bedürfen nicht besonderer Objektive. Andererseitsist die Ortsauflösung des zugrundeliegenden CCD Chips deutlich verringert.

Abbildung 5.24: Spektrale Empfindlichkeit eines CCD-Chips

5.7.2 Ausgabeeinheit

Die bestehenden Videostandards basieren auf den von Röhrenkameras und monito-ren gesetzten Randbedingungen und wirken daher im Zeitalter von CCD Chips undFlachbildschirmen ein wenig bizarr. Röhren benötigen eine Steuerung des Elektronen-strahls, der eingangsseitig den lichtempfindlichen Bereich der Kamera und ausgangs-seitig den Bildschirm des Monitors scannt. Abbildung 5.25 skizziert diesen Vorgangan Hand von drei Zeilen. Der Vertikal Synchronimpuls (V Sync) zeigt den Beginn eines

HTW des Saarlandes Industrielle Bildverarbeitung 103

Page 118: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5 Einführung in die digitale Bildverarbeitung

neuen Halbbildes an. Der V Sync besteht aus einer Sequenz zahlreicher, über 50 Zeilen(CCIR) bzw. 40 Zeilen (EIA) verteilter Pulse. Da diese Zeilen nicht sichtbar sind, bietetdie CCIR Norm lediglich 575 sichtbare Zeilen. Im Fall von EIA sind es 485. Die Syn-chronisation eines Standard-Videosignals basiert ausschliesslich auf H- und V-Sync.Entsprechend CCIR und EIA beträgt das Seitenverhältnis eines Bildes 4:3. Also 767Pixel pro Zeile für CCIR und 647 Pixel pro Zeile für EIA.

Abbildung 5.25: CCIR Signal

Werden 767 Pixel in 52ms „gescannt“ führt dies zu einer Frequenz dem Pixel Clockvon 14.75 MHz für CCIR, während die 647 Pixel einer EIA Zeile (52.59ms) mit einerFrequenz von 12.3 MHz „gescannt“ werden.

Aus Sicht der Akquistion von Farbbildern haben wir zwischen 1 Chip und 3 ChipKameras unterschieden. Im Zusammenhang mit der Videosignalausgabe sind dreiVarianten verfügbar. Die technischen Termini sind Composite (in der Fernsehtechnikspricht man eher von FBAS), YIC (in der Fernsehtechnik S VHS) und RGB. Wie derName bereits sagt, enthält ein CompositeSignale sowohl die Luminanz und Chro-minanz Inforination. Das Luminanz Signal entspricht dem normalen CCIR bzw. RS170 Helligkeitssignal. Das ihm überlagerte Farbsignal kodiert die Farbkomponentengemäss den Standards PAL, SECAM und NTSC. Solch ein „Gebräu“ von Signalenführt naturgemäss zu Fehlern und damit gestörten Bildern. Daher ist es eine gute Idee,die Signale für Luminanz (YSignal) und Chrominanz (C Signal) zu trennen. SolcheY/C Kameras sind ein guter Kompromiss zwischen Preis und Leistung. Hohen Leis-tungsansprüchen können aber nur RGB Signale genügen. Die RGB Technik vermeidetgänzlich zusammengesetzte Signale, sondern stellt für jede Grundfarbe ein gesonder-tes Helligkeitssignal (gemäss CCIR oder RS 170) zur Verfügung. 3 Chip Kameras sind

104 Industrielle Bildverarbeitung HTW des Saarlandes

Page 119: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5.8 4.8 Frame Grabber

grundsätzlich mit einem RGB Ausgang ausgerüstet, da es keinen Sinn macht, derenQualität durch zusammengesetzte Signale zu mindern. Hochqualitative 1 Chip Kame-ras bieten alle drei Ausgangstypen, während solche mittleren Qualitäten auf den RGBModus verzichten und einfache Farbkameras nur Composite Signale liefern.

5.8 4.8 Frame Grabber

Abbildung 5.26 zeigt die grundlegende Struktur eines Frame Grabbers. Die Sync Se-paration (auch Sync Stripper genannt) trennt die Synchronisationspulse vom Video-signal. Der Horizontal Synchronimpuls (H Sync) zeigt den Beginn einer neuen Zeilean, der Vertikal Synchronimpuls (V Sync) leitet den Beginn eines neuen Halbbildes ein.

Abbildung 5.26: Grundlegende Struktur eines Frame Grabbers

Ausgehend von einer stabilen Synchronisation der Zeilen und Halbbilder stellt sichwieder die Frage nach der Erzeugung der Pixel. Gemäss den Videostandards tastet dieSample and Hold Einheit 767 Pixel pro Zeile im Fall von CCIR und 647 Pixel pro Zeileim Fall von EIA ab. Wie in der Einführung zu den Kameras beschrieben, bedeutet dieseine Pixel Clock Frequenz von 14.75 MHz für CCIR und 12.3 MHz für EIA. In derPraxis können Grabber ohne einen Genauigkeitsverlust ein wenig von diesen Wertenabweichen. Andererseits ist eine exakte Abbildung der Pixel des CCD Chips in denSpeicher des Grabbers bzw. Rechners nur dann möglich, wenn der Grabber den PixelClock der Kamera nutzt. Die digitalisierten Pixel werden im Bildspeicher oder FIFO.

Buffer des Grabbers gesammelt. Der Bildspeicher speichert mindestens ein komplettesBild und ist notwendig, wenn die Bandbreite des Rechnerbusses zu niedrig ist, um

HTW des Saarlandes Industrielle Bildverarbeitung 105

Page 120: Prof. Dr.-Ing. Dietmar Brück - htwsaar.de · Praktikum Industrielle Bildverarbeitung Bachelor-Studium der Elektrotechnik Prof. Dr.-Ing. Dietmar Brück Betreuer: Jannick Morsch M.Sc

5 Einführung in die digitale Bildverarbeitung

den digitalisierten Videodatenstrom ohne Verlust zu übertragen. Moderne Bussystemewie der PCI Bus sind so schnell, dass ein kleines FIFO von wenigen kByte ausreicht,um Unregelmäßigkeiten des Datenflusses auszugleichen. Daher ist es möglich, dendigitalisierten Videodatenstrom direkt im Arbeitsspeicher des Rechners zu sammelnoder ihn zum Zweck der Live Anzeige direkt in die Grafikkarte zu lenken.

5.8.1 Multimedia versus industrielle Bildverarbeitung

Auf den ersten Blick erscheint kein wesentlicher Unterschied zwischen Frame Grab-bern für Multimedia Anwendungen und solchen für das maschinelle Sehen. Beideakquirieren bzw. digitalisieren Bilder, damit sie in einem Computer verarbeitet wer-den können.

Tatsächlich sind sie aber sehr unterschiedlich. Multimedia Grabber akquirieren Bilderfür die Video und Audiobearbeitung. Diese Massendaten sind so effizient wie möglichwiederzugeben, zu speichern und zu übertragen. Daher ist man bestrebt, die Daten-meng so klein wie möglich zu halten. Dieses erreicht man typischerweise durch einegeringe Auflösung der Bilder ergänzt durch Kompressionstechniken. Mithin ist dieBildqualität eher mässig.

Im Gegensatz dazu sollen Bilder für das maschinelle Sehen die aufgenommenen Objek-te so präzise wie möglich repräsentieren. Schliesslich benötigen wir sichere Aussagenwie der Durchmesser des Bohrlochs beträgt 6,25mm“. Aus Sicht der Treiber Softwareist ein typisches Kennzeichen für Multimedia die Verfügbarkeit von Standardschnitt-stellen wie z.B. MCI (Media Control Interface) und Twain. Im Fall des maschinellenSehens erfolgt der Zugriff auf einfache bzw. ältere Grabber über ihre Register odermoderneren Konzepten folgend über eine Treiberschicht, die die Registerstrukturenverdeckt aber trotzdem einen vergleichsweise direkten Zugriff auf die Hardware Res-sourcen erlaubt. Standards existieren allerdings nicht.

Im Bereich Multimedia konzentriert sich die Anwendungs Software auf einige grund-legende Aufgaben wie z.B. den Videoschnitt. Die Schnittstellen zwischen Treiber undAnwendung sind standardisiert. Im Gegensatz dazu unterscheiden sich die Anwen-dungen des maschinellen Sehens extrem. Daher ist hier die Anwendungs Softwareüberwiegend kundenspezifisch.

106 Industrielle Bildverarbeitung HTW des Saarlandes