softwaretechnologie für fortgeschrittene teil thaller stunde i: bildverarbeitung i köln 19....
TRANSCRIPT
![Page 1: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/1.jpg)
Softwaretechnologie für FortgeschritteneTeil Thaller
Stunde I: Bildverarbeitung I
Köln 19. November 2009
![Page 2: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/2.jpg)
I. Rekapitulation
2
![Page 3: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/3.jpg)
Abstrakte Überlegungen zum Wesen der Information.
Darstellung von Information in geeigneten Strukturen auf (digitalen) Rechnern.
Entwicklung von Algorithmen, die auf diesen Strukturen operieren.
Einbettung in eine Methodologie, die die Konstruktion von Programmen aus geeigneten Strukturen und Algorithmen ermöglicht.
3
Gegenstand
![Page 4: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/4.jpg)
1. "Selbstabbildende Information". Es kann "gerechnet" werden. Bilder.
2. "Kodierte Information". Zeichenketten und Teilketten können verglichen werden. Texte.
3. "Symbolische Information". Terme können verglichen werden. Terminologien, "Ontologien" u.ä.
„Arten“ von Information
4
![Page 5: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/5.jpg)
Soundex
Problem: Welche der drei folgenden Namen sind gleich?
Theckenperger
Tegenberger
Tekekenperger
5
![Page 6: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/6.jpg)
Soundex1 Das erste Zeichen jedes Namens wird beibehalten.
2 W und H werden ignoriert.
3A, E, I, O, U und Y ergeben keinen Codewert, gelten jedoch als "Trenner" (s.Regel 5).
4 Die anderen Zeichen werden nach folgenden Regeln umgewandelt.
4.1 B, P, F, V ==> 1
4.2 C, G, J, K, Q, S, X, Z ==> 2
4.3 D, T ==> 3
4.4 L ==> 4
4.5 M, N ==> 5
4.6 R ==> 6
5
Ergeben zwei aufeinanderfolgende Zeichen denselben Code, wird er nur einmal gewertet. Sind sie durch einen "Trenner" (s. oben Regel 3) getrennt, wird er jedoch wiederholt.
6
![Page 7: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/7.jpg)
Soundex
Problem: Welche der drei folgenden Namen sind gleich?
Theckenperger
Tegenberger
Tekekenperger
7
![Page 8: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/8.jpg)
Soundex
Problem: Welche der drei folgenden Namen sind gleich?
Theckenperger
Tegenberger
Tekekenperger
T Regel 1
8
![Page 9: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/9.jpg)
Soundex
Problem: Welche der drei folgenden Namen sind gleich?
Theckenperger
Tegenberger
Tekekenperger
Tx Regel 2
9
![Page 10: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/10.jpg)
Soundex
Problem: Welche der drei folgenden Namen sind gleich?
Theckenperger
Tegenberger
Tekekenperger
T x Regel 3
10
![Page 11: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/11.jpg)
Soundex
Problem: Welche der drei folgenden Namen sind gleich?
Theckenperger
Tegenberger
Tekekenperger
T 2 Regel 4.2
11
![Page 12: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/12.jpg)
Soundex
Problem: Welche der drei folgenden Namen sind gleich?
Theckenperger
Tegenberger
Tekekenperger
T 2x Regel 5
12
![Page 13: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/13.jpg)
Soundex
Problem: Welche der drei folgenden Namen sind gleich?
Theckenperger
Tegenberger
Tekekenperger
T 2 x Regel 3
13
![Page 14: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/14.jpg)
Soundex
Problem: Welche der drei folgenden Namen sind gleich?
Theckenperger
Tegenberger
Tekekenperger
T 2 5 Regel 4.5
14
![Page 15: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/15.jpg)
Soundex
Problem: Welche der drei folgenden Namen sind gleich?
Theckenperger
Tegenberger
Tekekenperger
T 2 51 Regel 4.1
15
![Page 16: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/16.jpg)
Soundex
Problem: Welche der drei folgenden Namen sind gleich?
Theckenperger T251
Tegenberger
Tekekenperger
16
![Page 17: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/17.jpg)
Soundex
Problem: Welche der drei folgenden Namen sind gleich?
Theckenperger T251
Tegenberger
Tekekenperger
T Regel 1
17
![Page 18: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/18.jpg)
Soundex
Problem: Welche der drei folgenden Namen sind gleich?
Theckenperger T251
Tegenberger
Tekekenperger
Tx Regel 2
18
![Page 19: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/19.jpg)
Soundex
Problem: Welche der drei folgenden Namen sind gleich?
Theckenperger T251
Tegenberger
Tekekenperger
T 2 Regel 4.2
19
![Page 20: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/20.jpg)
Soundex
Problem: Welche der drei folgenden Namen sind gleich?
Theckenperger T251
Tegenberger
Tekekenperger
T 2x Regel 3
20
![Page 21: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/21.jpg)
Soundex
Problem: Welche der drei folgenden Namen sind gleich?
Theckenperger T251
Tegenberger
Tekekenperger
T 2 5 Regel 4.5
21
![Page 22: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/22.jpg)
Soundex
Problem: Welche der drei folgenden Namen sind gleich?
Theckenperger T251
Tegenberger T251
Tekekenperger
T 2 51 Regel 4.1
22
![Page 23: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/23.jpg)
Soundex
Problem: Welche der drei folgenden Namen sind gleich?
Theckenperger T251
Tegenberger T251
Tekekenperger
T 2 2 Regeln 4.2 / 5 / 3
23
![Page 24: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/24.jpg)
Soundex
Problem: Welche der drei folgenden Namen sind gleich?
Theckenperger T251
Tegenberger T251
Tekekenperger T225
*24
![Page 25: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/25.jpg)
1. "Selbstabbildende Information". Es kann "gerechnet" werden. Bilder.
2. "Kodierte Information". Zeichenketten und Teilketten können verglichen werden. Texte.
3. "Symbolische Information". Terme können verglichen werden. Terminologien, "Ontologien" u.ä.
„Arten“ von Information
25
![Page 26: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/26.jpg)
Towers of Hanoi
Situation in einem Tempel in Hanoi: •Ein Turm von 100 Scheiben auf einer Spindel (S1). •Eine leere Spindel (S2). •Eine weitere leere Spindel (S3).
Transportiere S1 so nach S2 - wobei S3 als Zwischenlager verwendet werden darf - dass:• Jeweils nur die oberste Scheibe von einem Turm genommen wird. •Niemals eine größere Scheibe auf einer kleineren liegt.
Prophezeiung: Ist das erledigt, ist das Ende der Welt gekommen.
26
![Page 27: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/27.jpg)
Towers of Hanoi
S1 S2 S3 27
![Page 28: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/28.jpg)
Towers of Hanoi
S1 S2 S3 28
![Page 29: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/29.jpg)
Towers of Hanoi
S1 S2 S3 29
![Page 30: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/30.jpg)
Towers of Hanoi
S1 S2 S3 30
![Page 31: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/31.jpg)
Towers of Hanoi
S1 S2 S3 31
![Page 32: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/32.jpg)
Towers of Hanoi
S1 S2 S3 32
![Page 33: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/33.jpg)
Towers of Hanoi
S1 S2 S3 33
![Page 34: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/34.jpg)
Towers of Hanoi
S1 S2 S3 34
![Page 35: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/35.jpg)
Towers of Hanoi
Lösung I
1. Finde jemand, der die obersten 99 Scheiben von S1 nach S3 transportiert.
2. Transportiere die unterste Scheibe von S1 nach S2. 3. Finde jemand, der die obersten 99 Scheiben von S3 nach S2
transportiert.
35
![Page 36: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/36.jpg)
Towers of Hanoi
Lösung II
1. Besteht der zu transportierende Turm aus mehr als einer Scheibe, finde jemand, der einen Turm von n-1 Scheiben von S1 nach S3 transportiert. Nutze S2 als Zwischenablage.
2. Transportiere selbst die unterste Scheibe von S1 nach S2. 3. Besteht der zu transportierende Turm aus mehr als einer Scheibe,
finde jemand, der einen Turm von n-1 Scheiben von S3 nach S2 transportiert. Nutze S1 als Zwischenablage.
36
![Page 37: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/37.jpg)
Towers of Hanoi
Lösung III
function transport( int n, stack spindel1, stack spindel2, stack spindel3) { if (n >1) transport(n-1,spindel1,spindel3,spindel2); schritt(spindel1,turm2); if (n>1) transport(n-1,spindel3,turm2,spindel1); }
function schritt( stack spindel1, stack spindel2) { spindel2.push(spindel1.pop()); }
37
![Page 38: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/38.jpg)
Towers of Hanoi
Fragen
1. Wie viele Mitarbeiter werden benötigt? n 2. Wieviele Transferschritte? 2n -13. Wie lange? 2100-1 Schritte == ca. 1030
1 Schritt == 1 Sekunde ==> ca. 1030 Sekunden == ca. 4 * 1022 Jahre
* 38
![Page 39: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/39.jpg)
1. "Selbstabbildende Information". Es kann "gerechnet" werden. Bilder.
2. "Kodierte Information". Zeichenketten und Teilketten können verglichen werden. Texte.
3. "Symbolische Information". Terme können verglichen werden. Terminologien, "Ontologien" u.ä.
„Arten“ von Information
39
![Page 40: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/40.jpg)
Minimal neighbour
Original Ergebnis
40
![Page 41: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/41.jpg)
Ersetze in jeder Zeile
jedes Pixel
durch den niedrigsten Pixelwert der dieses
Pixels umschreibenden 3 x 3 Matrix.
Minimal neighbour
41
![Page 42: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/42.jpg)
Minimal neighbour
42
![Page 43: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/43.jpg)
Minimal neighbour
250 250 250 250 250 250 250 250 250 250 250 250
250 250 250 50 50 50 50 50 50 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 50 50 50 50 50 50 250 250 250
250 250 250 250 250 250 250 250 250 250 250 250
43
![Page 44: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/44.jpg)
Minimal neighbour
250 250 250 250 250 250 250 250 250 250 250 250
250 250 250 50 50 50 50 50 50 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 50 50 50 50 50 50 250 250 250
250 250 250 250 250 250 250 250 250 250 250 250
44
![Page 45: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/45.jpg)
Minimal neighbour
250 250 250 250 250 250 250 250 250 250 250 250
250 250 250 50 50 50 50 50 50 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 50 50 50 50 50 50 250 250 250
250 250 250 250 250 250 250 250 250 250 250 250
45
![Page 46: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/46.jpg)
Minimal neighbour
250 250 250 250 250 250 250 250 250 250 250 250
250 250 250 50 50 50 50 50 50 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 50 50 50 50 50 50 250 250 250
250 250 250 250 250 250 250 250 250 250 250 250
46
![Page 47: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/47.jpg)
Minimal neighbour
250 250 250 250 250 250 250 250 250 250 250 250
250 250 250 50 50 50 50 50 50 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 50 50 50 50 50 50 250 250 250
250 250 250 250 250 250 250 250 250 250 250 250
47
![Page 48: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/48.jpg)
Minimal neighbour
250 250 250 250 250 250 250 250 250 250 250 250
250 250 50 50 50 50 50 50 50 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 50 50 50 50 50 50 250 250 250
250 250 250 250 250 250 250 250 250 250 250 250
48
![Page 49: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/49.jpg)
Minimal neighbour
250 250 250 250 250 250 250 250 250 250 250 250
250 250 250 50 50 50 50 50 50 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 50 50 50 50 50 50 250 250 250
250 250 250 250 250 250 250 250 250 250 250 250
49
![Page 50: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/50.jpg)
Minimal neighbour
250 250 250 250 250 250 250 250 250 250 250 250
250 250 250 50 50 50 50 50 50 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 250 250 50 50 250 250 250 250 250
250 250 250 50 50 50 50 50 50 250 250 250
250 250 250 250 250 250 250 250 250 250 250 250
50
![Page 51: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/51.jpg)
Minimal neighbour
250 250 50 50 50 50 50 50 50 50 250 250
250 250 50 50 50 50 50 50 50 50 250 250
250 250 50 50 50 50 50 50 50 50 250 250
250 250 250 250 50 50 50 50 250 250 250 250
250 250 250 250 50 50 50 50 250 250 250 250
250 250 250 250 50 50 50 50 250 250 250 250
250 250 250 250 50 50 50 50 250 250 250 250
250 250 250 250 50 50 50 50 250 250 250 250
250 250 250 250 50 50 50 50 250 250 250 250
250 250 50 50 50 50 50 50 50 50 250 250
250 250 50 50 50 50 50 50 50 50 250 250
250 250 50 50 50 50 50 50 50 50 250 250
51
![Page 52: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/52.jpg)
Minimal neighbour
* 52
![Page 53: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/53.jpg)
Abstrakte Überlegungen zum Wesen der Information.
Darstellung von Information in geeigneten Strukturen auf (digitalen) Rechnern.
Entwicklung von Algorithmen, die auf diesen Strukturen operieren.
Einbettung in eine Methodologie, die die Konstruktion von Programmen aus geeigneten Strukturen und Algorithmen ermöglicht.
53
Gegenstand
![Page 54: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/54.jpg)
II. Bildverarbeitung I
54
![Page 55: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/55.jpg)
Bildverarbeitung
55
Bildverarbeitung hier ::= Bearbeitung von Bildern, die als strukturierter Bytestream im Memory geladen sind.
![Page 56: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/56.jpg)
Basisalgorithmus Bildverarbeitung
56
Unter Annahme eines Bildes als:
struct image { int zeilen; int spalten; unsigned char *bytes; } o;
for (i=0;i<o.spalten;i++) for (j=0;j<o.zeilen;j++) transform(* (o.bytes + (j*spalten) + i) );
![Page 57: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/57.jpg)
Ein Algorithmus ist eine Funktion f(Dein, Daus), die Eingabedaten Dein in Ausgabedaten Daus schrittweise transformiert und dabei bestimmte Bedingungen erfüllt.
Algorithmen: Definition
57
![Page 58: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/58.jpg)
Basisalgorithmus Bildverarbeitung
58
Oder allgemeiner:
struct image { int zeilen; int spalten; pixel *pixel; } o;
for (i=0;i<o.spalten;i++) for (j=0;j<o.zeilen;j++) transform(* (o.pixel + (j*spalten) + i) );
![Page 59: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/59.jpg)
Basisalgorithmus Bildverarbeitung
59
Eingebunden in den Kontext von Qt (i.e., QImage):Beispiel: Negation 8 Bit
for (int y=0;y<image->height();y++) for (int x=0;x<image->width();x++) { oldVal = *(image->scanLine(y) + x); newVal=255-oldVal; *(image->scanLine(y) + x) = newVal; }
![Page 60: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/60.jpg)
Basisalgorithmus Bildverarbeitung
60
Eingebunden in den Kontext von Qt (i.e., QImage):Beispiel: Negation 24 Bit
for (int y=0;y<image->height();y++) for (int x=0;x<image->width();x++) { RGB=(QRgb *)image->scanLine(y) + x; oldRed = qRed(*RGB); newRed=255-oldRed; oldGreen = qGreen(*RGB); newGreen=255-oldGreen; oldBlue = qBlue(*RGB); newBlue=255-oldBlue; *RGB = qRgb(newRed,newGreen,newBlue); }
![Page 61: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/61.jpg)
Basisalgorithmus Bildverarbeitung
61
Dabei gilt jedoch:
for (int y=0;y<result.height();y++) { for (int x=0;x<result.width();x++) { *(result.scanLine(y) + x) = meineTransformation(*(image.scanLine(y)) ; }
Etwa eine Größenordnung langsamer als:
![Page 62: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/62.jpg)
Basisalgorithmus Bildverarbeitung
62
for (int y=0;y<result.height();y++) { newpixel=result.scanLine(y); oldpixel=image.scanLine(y); for (int x=0;x<result.width();x++) *(newpixel++) = meineTransformation(*(oldpixel++)); }
![Page 63: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/63.jpg)
Basisalgorithmus Bildverarbeitung
63
Merke:
Bildverarbeitung muss performant sein!
![Page 64: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/64.jpg)
Basistransformationen
64
Negation:
oldVal = *(image->scanLine(y) + x);newVal=255-oldVal;*(image->scanLine(y) + x) = newVal;
![Page 65: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/65.jpg)
Basistransformationen
65
Horizontale Spiegelung:
for (int y=0;y<image->height();y++) for (int target=0,source=image->width()-1; target<limit;target++,source--) { pixel=*(image->scanLine(y) + source); *(image->scanLine(y) + source) = *(image->scanLine(y) + target); *(image->scanLine(y) + target) = pixel; }
![Page 66: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/66.jpg)
Basistransformationen
66
Vertikale Spiegelung:
for (int target=0,source=image->height()-1; target<limit;target++,source--) for (int x=0;x<image->width();x++) { pixel=*(image->scanLine(source) + x); *(image->scanLine(source) + x) = *(image->scanLine(target) + x); *(image->scanLine(target) + x) = pixel; }
![Page 67: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/67.jpg)
Basistransformationen
67
Farbbandextraktion (Qt spezifisch, lookup table):
for (int y=0;y<image->height();y++) for (int x=0;x<image->width();x++) { RGBval=image->colorTable() [*(image->scanLine(y) + x)]; pixel=qRed(RGBval); *(result.scanLine(y) + x) = pixel; }
![Page 68: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/68.jpg)
Basistransformationen
68
Quadrantenrotation:
for (int oldy=0,newx=image->height()-1;oldy<image->height(); oldy++,newx--) for (int oldx=0,newy=0;oldx<image->width(); oldx++,newy++) *(result.scanLine(newy) + newx) = *(image->scanLine(oldy) + oldx);
![Page 69: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/69.jpg)
Basistransformationen
69
Gradgenaue Rotation:
for (int y=0;y<image->height();y++) { h=image->height()-y; for (int x=0;x<image->width();x++) { rho=sqrt((double)(x*x)+(double)(h*h)); theta=atan((double)h/(double)x)-usearc; newx=(int)rint(rho*cos(theta)+xmin); newy=ysize-((int)rint(rho*sin(theta)+ymin)); *(inter+(newy*xsize)+newx)= *(image->scanLine(y) + x); } }
![Page 70: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/70.jpg)
Basistransformationen
70
Nachgeschobene Interpolation zur Rotation:
offset[0]= -1; offset[1]= 1; offset[2]= xsize*-1; offset[3]= xsize;
for (int y=0;y<result.height();y++) { for (int x=0;x<result.width();x++,use++) { if (*use>=0) *(result.scanLine(y)+x) = *use; else if (*(use-1)<0 || *(use+1)<0) *(result.scanLine(y)+x) = 0; else { *(result.scanLine(y)+x) = *(use+offset[now]); if (++now==4) now=0; } }}
![Page 71: Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde I: Bildverarbeitung I Köln 19. November 2009](https://reader035.vdocuments.site/reader035/viewer/2022062622/55204d6349795902118b93b7/html5/thumbnails/71.jpg)
Danke für heute!
71