Bildcodierung und -speicherung



Ähnliche Dokumente
Woraus besteht ein Bild? (c) Winfried Heinkele

Einführung in Bildverarbeitung und Computervision

GLIEDERUNG UND BASISGLIEDERUNG. 2010/03/09 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Anwendungsbeispiele Buchhaltung

TechTipp. Bildbearbeitung mit Lookup-Tabellen (LUT): Machen Sie das (fast) Unsichtbare sichtbar. Hintergrund

Ihr CMS für die eigene Facebook Page - 1

WORKSHOP für das Programm XnView

NMP-Verlag Verlag für Nationalökonomie, Management und Politikberatung

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Bei der Anlage von Pauschalen ist folgendes zu beachten!!!!!!!!

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

Zählen von Objekten einer bestimmten Klasse

Im Original veränderbare Word-Dateien

Belichtung mit Tonwertkorrektur verbessern

Datentypen: Enum, Array, Struct, Union

Flugzeugen einen Glanz aufmalen

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Anleitung für die Formularbearbeitung

QM: Prüfen -1- KN

Kapitel 3 Bilder farblich verändern - Arbeiten mit Objekten

Graphic Coding. Klausur. 9. Februar Kurs A

Paint.Net Der Paint.NET Bildschirm

Einführungskurs MOODLE Themen:

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Schnellanleitung: Verbuchung von Studien- und Prüfungsleistungen

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

1. Trennlinie mit hr Eine dünne Trennlinie wie die obige in der Regio-Farbe (gelb) kann man recht einfach erstellen. Dafür reicht der Befehl

Diana Lange. GENERATIVE GESTALTUNG Arten des Zufalls

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Gimp Kurzanleitung. Offizielle Gimp Seite:

Internet online Update (Mozilla Firefox)

Ablauf bei der Synchronisation und Sortierung von Dateien aus mehreren Kameras

SPS-Bearbeitung mit EPLAN 5.70

Zahlen auf einen Blick

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Fitswork Kometenbilder aufaddieren Oliver Schneider,

Dokumentation. Mindestanforderungen: Das Board

Allgemeines. Stationen dieser Vorlesung: Geschichtlicher Abriß, Begriffsklärungen. Fenstersysteme, Bildspeicherung und -ausgabe

50,2 Hz Portal - Kurzanleitung für die Rolle Sachbearbeiter

Lehrer: Einschreibemethoden

Teaser-Bilder erstellen mit GIMP. Bildbearbeitung mit GIMP 1

Handbuch für Redakteure

3D-Konstruktion Brückenpfeiler für WinTrack (H0)

Grafikbausatz Overlays Profi. für iphone/pocket Visu & PC Visualisierungen

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Kursangebot gesammelt einlesen

Erstellen eines Screenshot

Hypertext PC / Word 2007

Irfan Skiljan = Autor von Irfan View, Bosnier, Studium in Wien Irfan View = kostenloser Bildbetrachter für private Nutzer u.

Module Entwicklung. Um diese Eigenschaft aufzurufen, starten Sie die Adami Vista CRM Applikation und wählen Sie den Entwicklung Menü.

Erstellen eines Wordpress-Blogs

ejgp Webseite Kurzeinführung

Vorbereitungsaufgaben

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Word 2010 Schnellbausteine

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Wie Sie mit Mastern arbeiten

Eigenen Farbverlauf erstellen

Bilder zum Upload verkleinern

Zeichen bei Zahlen entschlüsseln

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

Hilfestellung: P.A.P.A. die kaufmännische Softwarelösung. Teilrechnung mit einzelnen Rechnungen. Inhalt

Handbuch für Redakteure

Lernmaterial für die Fernuni Hagen effizient und prüfungsnah

Satzhilfen Publisher Seite Einrichten

Batch Bildgrößenkonvertierung mit IrfanView 1

Dokumentation IBIS Monitor

Leere Zeilen aus Excel-Dateien entfernen

Webseiten mit fragwürdigen Aufrufen von "spy & track" - Unternehmen

Grundlagen der Bildverarbeitung: Übung 1

Computerarithmetik ( )

So gehts Schritt-für-Schritt-Anleitung

PDF Annotator 6. Jetzt neu in

Digitale Bildverarbeitung (DBV)

Übung Bilder verschmelzen

Anleitung Homepage TAfIE

Bedienungsanleitung Albumdesigner. Neues Projekt: Bestehendes Projekt öffnen:

2. Semester, 2. Prüfung, Lösung

Quadratische Gleichungen

I Serverkalender in Thunderbird einrichten

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen

Erstellen von Postern mit PowerPoint

Ich möchte meine Beitragsnachweise nach dem vereinfachten Schätzverfahren erstellen.

Dateimanagement in Moodle Eine Schritt-für

inviu routes Installation und Erstellung einer ENAiKOON id

Verifizierung neuer bzw. geänderter -adressen in den Anwender- und/oder Benutzerstammdaten

Ausgewählte Themen zu Bildverstehen und Mustererkennung. Challenges for Driver Assistance Systems Lane Detection. Christoph Bartenhagen.

Hohe Kontraste zwischen Himmel und Landschaft abmildern

Erweiterungen Webportal

Lichtbrechung an Linsen

Jederzeit Ordnung halten

Das PC-Topp.NET Abfall-Terminal

ecaros2 - Accountmanager

Professionelle Seminare im Bereich MS-Office

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

Seite 1. Datum einfügen

Transkript:

Bildcodierung und -speicherung Allgemeine Datenstruktur zur universellen Bildcodierung: Grundsätzlich als Zeiger: Größen, die zur Compilierungszeit nicht #define LENGTH 80 bekannt sein können typedef char String[LENGTH]; typedef struct { String Name; //Bildname int int int int unsigned int *Data; } DIPimg; Width; //Pixel je Bildzeile Height; //Anzahl Bildzeilen Cmpnts; //Byte je Pixel;s/w:1;RGB:3 Format; //Kennzahl:GL_RGB etc. //Bilddaten Zusammenfassung von vier Ein-Byte-Objekten (RGBA) A B G R

Bildcodierung und -speicherung Grundvoraussetzung für die Bildverarbeitung: Bilder laden aus / speichern in Bilddateien Laden von Bildern durch Reservierung (allocation) von Speicherplatz zur Laufzeit Individuelle, unbekannte Bildmerkmale (Größe, Format etc.) werden im zuerst geladenen Dateibereich (Header) abgelegt, damit ein Bild korrekt geladen werden kann. Allgemeiner Aufbau einer Bilddatei: Header evtl. Angaben zur Kompression Bilddaten

Bildcodierung und -speicherung Bestandteile eines universellen Bild-Headers (SGI) 2 Byte short Kontrollzahl: 474 10 ( IRIS image file magic number ) 1 Byte char Speicherformat (0: ohne Kompression) 1 Byte char Byte je Farbkomponente ( bytes per pixel channel ) 2 Byte ushort 1-zeilig (Graukeil) / s/w / Farbbild ( dimension ) 2 Byte ushort Bildbreite in Pixel 2 Byte ushort Bildhöhe in Pixel 2 Byte ushort Anzahl Farbkomponenten ( channels ) 4 Byte long Niedrigster Pixelwert (i.d.r.: 0) 4 Byte long Höchster Pixelwert (i.d.r.: 255) 4 Byte char Platzhalter ( dummy wird übergangen) 80 Byte char Bildname 4 Byte long normal / dithered / LUT / SGI-Colormap (i.d.r.: 0) 404 Byte char Platzhalter ( dummy wird übergangen) Σ = 512 Byte

Bildcodierung und -speicherung Namenskonventionen von SGI-Bilddateien: *.bw (schwarz-weiß); *.rgb (Farbe); *.rgba (Farbe, ggf. mit Transparenz); *.sgi (nicht festgelegt, i.d.r. RGB) Bild-Ursprung ist immer die untere linke Bild-Ecke. Die erste (geschriebene / gelesene) Zeile (Index 0) ist die unterste Bildzeile. Die Bilddaten einer Farbkomponente (Kanals) werden vollständig abgelegt; wenn das Bild mehrere Kanäle hat, werden diese nacheinander gespeichert. Die Kanäle werden pixelweise (mit je 1 oder 2 Byte) abgelegt. Beim Laden eines Bildes empfiehlt es sich, die Daten jedes Pixels zu einem Datentyp zusammenzuführen (RGBA: unsigned int) mit Rot bei Index 0. Beim Speichern sind die Farbkomponenten zu trennen und die (SGI-eigene) Byte-Reihenfolge zu beachten.

Bildcodierung und -speicherung Man beachte den Unterschied in Speicherung vs. Codierung: In der Bild-Datei liegen die einzelnen Farbkomponenten jeweils vollständig hintereinander: Es gibt Farbformate mit 1 4 Komponenten Bsp.: Grautonbild; Farb-Index (LUT); RGB, RGBA etc. Im Programm-Code sind die Angaben zu einem Pixel jeweils in einem Datenelement zusammen: Üblich: Farbcodierungen mit <1 2 Byte / Komponente z.b.: short mit 5 Rot-Bit + 6 Grün-Bit + 5 Blau-Bit hier: unsigned int mit Rot[0], Grün[1], Blau[2], Alpha[3]

Einleitung Bildverarbeitung (BV): Gebiet der Datenverarbeitung (DV), das sich mit visuellen (sichtbaren, bildhaften) Daten befaßt Datenverarbeitung ist die Tätigkeit u. das Wissensgebiet der (und) (und) (und) Erfassung Speicherung Bearbeitung Übertragung GdI (und) Umsetzung von Daten zum Zwecke der Informationsgewinnung. Daten sind Angaben, die etwas kennzeichnen. Information sind Daten, die in Entscheidungen einfließen. BV wird oft auch als Oberbegriff zu Bildbearbeitung verwendet.

Einleitung Bearbeiten: etwas behandeln (Möbel mit Politur, Gegner mit Fäusten), sich damit beschäftigen (Antrag), gestalten (Theaterstück für TV), überarbeiten (Manuskript), verändern (elterliche Meinung) Bearbeitung bedeutet Änderung, Anpassung d. Qualität Verarbeiten: (etw.) als Material, Ausgangsstoff verwenden und in einem Prozeß zu etw. neuem anderem machen (Gold zu Schmuck, Fleisch zu Wurst) Verarbeitung bedeutet Erzeugung einer neuen Qualität Bearbeitung u. Verarbeitung sind zweckgerichtete Prozesse (vgl. Bug vs. Feature )

Einleitung Bildsynthese Bildanalyse Bottom-up- Prozeß Top-down- Prozeß Terminologische Unterscheidung: - Bildbearbeitung: Gezielte Merkmalsveränderung, Bild- Manipulation /-Retusche (engl. Image Editing) oder Bild- Verbesserung (engl. Image Enhancement) - Bildverarbeitung: Informationsgewinnung, Extraktion von Eigenschaften, Merkmalen etc. (engl. Image Processing) - Bilderzeugung: Generierung visueller Darstellungen unter Verwendung logisch-mathematischer oder künstlerischer Methoden (engl. Image Generation, Computer Graphics) Fragestellungen u. Verfahren der Bildanalyse und -synthese großteils gleich, Grenzen unscharf (vgl. Filmtricks) Eingangs-/ Ausgangsgröße als Unterscheidungskriterium: Bildverarbeitung: Bild Beschreibg., Folgerg.,.. Bildbearbeitung: Bild besser geeignetes Bild Grafik: Beschreibung Bild

Einleitung Wichtige Teilgebiete der Bildverarbeitung: Bildsignalauswertung, -verarbeitung z.b. Histogramm, Ermittlung globaler Helligkeits-/Farbparameter Bildverbesserung (engl. enhancement, oft: Vorverarbeitg) z.b. Anpassung von Helligkeit, Farbe, Konturschärfe Bildfilterung, -restaurierung (radiometrische Transform.) z.b. Entfernung von Rauschen, Unschärfe, Gamma-Korrektur Bildentzerrung (geometrische Transformation) z.b. Satellitenbild-Auswertung, Photogrammetrie, Kartographie Wissensbasierte Bildverarbeitung, Bildfolgenverarbeitung z.b. Segmentierung, Barcode-/QR-Code-Auswertung, OCR Bildanalyse z.b. Gewebeprobe-Untersuchung, thermische Zielerkennung

Einleitung Inzwischen eigenständiges Teilgebiet der Künstl. Intelligenz: Wissensbasiertes Bildverstehen, Szenenanalyse: ( Niedere ) Bildverarbeitung / Mustererkennung: 1 Dreieck 2 Rechtecke 2 Kreise 1 Fünfeck 2x Höhere Bildverarbeitung / Bildverstehen: Kollision zweier Kleinbusse

Bildauswertung und -bearbeitung Bildbearbeitung: 3 Klassen von Operationen (Verfahren): Punktoperationen (Pixeloperationen): Pixel-Grauwert im Ergebnisbild abhängig nur vom Grauwert im Eingangsbild z.b. Histogramm-Modifikation, Schwellenoperation Lokale Operationen (Maskenoperationen): Pixel-Grauwert im Ergebnisbild abhängig von Grauwerten innerhalb eines Fensters ( Maske ) um das aktuelle Pixel z.b. Schärfungs- / Glättungsoperationen, Kantendetektion Globale Operationen: Pixel-Grauwert im Ergebnisbild abhängig von Grauwerten im gesamten Bild z.b. Fourier-Transformation, Hough-Transformation Grauwert steht hier als Synonym für Grau- o. Farbwert: Farbbild als parallele Darstellung / Behandlung von drei Farbauszügen (RGB)

Übung: DIPhisto.c Punktoperationen Histogramm: Grafische Darstellung absoluter Häufigkeiten (Bildv.: Auftretenshäufigkeit von Farb- und Grauwerten)

Punktoperationen Nutzung des Histogramms zur Feststellung der im Bild vorkommenden Grau-/Farbtöne (z.b. zur Abschätzung des Codierungsbedarfs oder der Kompressionsmöglichkeiten) 16 Grauwerte

Punktoperationen Verwendung des Histogramms z.b. für die Erstellung von Zuordnungstabellen (engl. Look-Up-Tables) zur effizienten Nutzung des verfügbaren Grau-/Farbwertbereichs. Bild links: www.imageprocessingplace.com/root_files_v3/image_databases.htm Typische Anwendung: Spreizung interessanter Grauwert- Bereiche (nach einmaliger Auswertung aller Pixel); hierbei Abhängigkeit jedes Farbwertes im Ergebnisbild von genau einem korrespondierenden Wert im Ursprungsbild DIPhisto.c

Punktoperationen Implementierungshinweis: Lineare Abbildung der im Bild vorkommenden Grauwerte B min B alt B max in den gewünschten Grauwertbereich G min B neu G max durch Strahlensatz Günstigere Ergebnisse bei Abbildung der Grauwert- Differenz (max min) statt des Gw-Umfangs (max min+1) (B neu G min ) : (G max G min ) = (B alt B min ) : (B max B min ) B neu = G min + (B alt B min ) (G max G min ) (B max B min ) B max G max B alt Streckung / Stauchung des Grauwertbereichs B min B neu G min

Punktoperationen Individuelle 1:1-Behandlung der Bildpixel (unabhängig von der bildinternen Statistik) bei der Konvertierung von Farbin Schwarzweißbilder: Meist verwendete Umwandlungsformel für RGB: 0,299 R + 0,587 G + 0,114 B (angepaßt an S/W-Filme und menschliche Wahrnehmung) DIPhisto.c

Übung: DIPops.c Punktoperationen Ebenfalls 1:1-Zuordnung zwischen Pixeln im Ergebnisund im Ursprungsbild bei Schwellen(wert)operationen; mit ihnen werden Pixel jenseits eines ausgewählten Grau- / Farbwertes oder -bereiches markiert: [0,, 59] [255, 0, 128] Universellere Handhabung bei Implementierung mit Wert- Intervallen statt mit Schwellenwerten