Programmierpraktikum WS 16/17

Ähnliche Dokumente
Vektorisierung von Rasterbildern

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Multimedia für Referate und Präsentationen

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Zeichnen von Graphen

Eine Handschrift vektorisieren

Farbtiefe. Gängige Farbtiefen

6. Texterkennung in Videos Videoanalyse

Indexe in Dateien. Thomas Behr. 19.November c 2015 FernUniversität in Hagen

{0,1} rekursive Aufteilung des Datenraums in die Quadranten NW, NE, SW und SE feste Auflösung des Datenraums in 2 p 2 p Gitterzellen

Distributed Algorithms. Image and Video Processing

Füllen von Primitiven

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Programmfenster LU 3. Lernübersicht. TZ RB LibreCAD. Programm-Menu Befehle direkt anwählen. copy / paste Ansicht. Rückgängig. Auswahl.

Vorstellung der Aufgabe Nonogramme

Programmierpraktikum WS 13/14

Grafikdateien. Bei Computergrafiken werden grundsätzlich drei Kategorien unterschieden: Vektor-Format

Klasse räumlicher Indexstrukturen, die den Datenraum rekursiv in 4 gleich große Zellen unterteilen (Quadranten NW, NE, SW, SE)

4.4 Quadtrees. Literatur

Speicherkonzepte von Pixel- und Vektorgrafik

Grafikformate 2

WinIso 2D Die Software zur Berechnung zweidimensionaler Wärmeströme Erste Schritte - DXF v

Der MS - PHOTOEDITOR

Vektorobjekte auf der Formebene zeichnen. Form-Werkzeug wählen und über die Optionsleiste die Formeigenschaften festlegen

Nichtrealistische Darstellung von Gebirgen mit OpenGL

Digitale Bilder. Ein Referat von Jacqueline Schäfer und Lea Pohl Am

Scannen. Stefan Maihack Dipl. Ing. (FH)

PORTFOLIO Darstellungstechniken. Hochschule Darmstadt Dozent J. Czerner SS 2013 von Christine Keller

WM01 - DEMO - ECDL Image Editing

Entwicklung einer robusten Methode zur Berechnung von Stereokorrespondenzen

Grafikformate. Auflösung Farbtiefe Farbmodelle

Thomas Behr. 17. November 2011

1 Strg. Strg. Attribute übernehmen: Aktivieren (X) Zeiger über dem Objekt) T-Taste zeigt Hilfskreis und Parallelen

Vektorgrafik / Bitmap (bmp)

Konvexe Hülle. Konvexe Hülle. Mathematik. Konvexe Hülle: Definition. Mathematik. Konvexe Hülle: Eigenschaften. AK der Algorithmik 5, SS 2005 Hu Bin

Hallo Welt für Fortgeschrittene

Relationen-Algebra und Persistenz Teil I


Relationen-Algebra und Persistenz Teil I

Workshop Einführung in die Sprache Haskell

Algorithmen und Datenstrukturen (Informatik II) SS Klausur

Die Folienreihenfolge bestimmt die Darstellung (links fehlerhafte Darstellung)

Algorithmen II Vorlesung am

Computergrafik 2: Übung 9. Morphologische Operationen

Grundlagen digitaler Bildbearbeitung

Meine Magnetwand. Sujet

1/10 - Seite (Visitenkarte) 90x50mm

Arbeiten mit Auswahlwerkzeugen

Distributed Algorithms. Image and Video Processing

Graphische Datenverarbeitung und Bildverarbeitung

Cross Stitch Platinum - Versionsvergleich

Workshop 1 Blend's & Collagen Lektion 8

Inhaltsbasierte Bildsuche. Matthias Spiller. 17. Dezember 2004

Geometrische Algorithmen Einige einfache Definitionen: Ist ein Punkt in einem Polygon? Punkt-in-Polygon-Problem. Das Punkt-in-Polygon-Problem

BIBLIOTHEK. Erich Franke. AutoSketch 3.0. Grundlagen und Praxis. te-wi Verlag GbmH

Programmieren: Bildbearbeitung

Programmierpraktikum WS 16/17

Polygontriangulierung

Inhalt. 2.1 Darstellung von Zahlen. 2.2 Darstellung von Zeichen. 2.3 Boolesche Algebra. 2.4 Aussagenlogik. Informatik 1 / Kapitel 2: Grundlagen

Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1

Computergrafik 2: Morphologische Operationen

FARBEN IM INTERNET FARBWERTE, FARBTIEFEN IN DER BILDBEARBEITUNG

Dokumentation: RAG Regression Analysis Graph

Geometrische Algorithmen

Geoinformation Abbildung auf Tabellen

Inhalt. 2.1 Darstellung von Zahlen. 2.2 Darstellung von Zeichen. 2.3 Boolesche Algebra. 2.4 Aussagenlogik. 2.5 Logische Funktionen

3Mit den Werten R=30, 2Über das Symbol. 4Alles. 1Ausgangspunkt hier: ein Scan vom Dia, noch nicht richtig scharf

Kennen, können, beherrschen lernen was gebraucht wird

Gimp Workshop. f Freie Auswahl Damit ist eine freihand Auswahl möglich

Bereichsabfragen. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Vereinfachung und Schematisierung von Polygonen

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.

13. Hashing. AVL-Bäume: Frage: Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n)

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Ein Secondo-basierter Routenplaner mit Berücksichtigung von Steigungen

Lösungen zu Kapitel 5

Eine Handschrift vektorisieren

Der Schriftzug Transparenz hingegen ist lichtdurchlässig, der cyanfarbige Hintergrund addiert sich mit dem Gelb der Schrift zu Grün.

Diese geometrischen Formen (Linien oder Flächen oder Text) in sechs Kategorien können Sie auf die Zeichenfläche zeichnen:

Zipper-Wall Straight Anlieferspezifikationen

Bedienungsanleitung Version: 1.0 Datum:

Zipper-Wall Banner Anlieferspezifikationen

Zipper-Wall Curved Anlieferspezifikationen

Kombinatorische Optimierung

Datenbanken. Teil 2: Informationen. Kapitel 2: Einführung. Zusammenfassung der Grundbegriffe. Übersicht über wichtige Grundbegriffe:

Das Divide - and - Conquer Prinzip. Quicksort Formulierung und Analyse des Prinzips Geometrisches Divide and Conquer - Closest-Pair - Segmentschnitt

ZipUP-Wall Arch Anlieferspezifikationen

U6: Webgerechte Bilder

Quadtrees und Meshing

Workshop 4 Blend's & Collagen Lektion 40

Computergrafik 2: Morphologische Operationen

Entwickeln Sie eine transformatorische Flächenteilung mittels einer Linie, analog Aufgabe 14.

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Quadtrees und Meshing

Lineare Gleichungssysteme

Transkript:

Programmierpraktikum in Rasterbildern Fakultät für Mathematik und Informatik Datenbanksysteme für neue Anwendungen FernUniversität in Hagen 8.Oktober 2016 c 2016 FernUniversität in Hagen

Übersicht 1 Raster- und Vektorbilder 2 3 4 Erzeugung eines Schwarz-Weiß-Bilds Behandlung von Behandlung von 5

Rasterbilder 2-dimensionales Gitter jeder Gitterzelle (Pixel) wird Farbe zugewiesen Farbe oft als RGB, möglicherweise transparent empfindlich gegenüber Vergrößern (Treppeneffekt) Vektorbilder Beschreibung von geometrischen Objekten (Polylinien, Kurven, Gebiete) Objekte haben Eigenschaften (stärke, Farbe...) unempfindlich beim Vergrößern

Rasterbild Vektorbild Filled, Red,

Konvertierung eines Rasterbildes in ein Vektorbild zwei Varianten (geeignet für Fotos) echte (geeignet für technische Zeichnungen) alle Zwischenschritte sichtbar zurück immer möglich Speichern als SVG-Datei Motivation verlustfreies Vergrößern möglich ggf. kleinere Dateigröße auf Plotter möglich

gesamtes Bild wird durch eine einzige Linie dargestellt verlauf approximiert Graustufen des Bildes nur wenige Graustufen geeignet für kleine Fotos recht simpel zwei Verfahren

Pixel des Rasterbildes werden in bestimmter Reihenfolge besucht verlauf innerhalb des Pixels variiert je dunkler ein Pixel ist, desto mehr Linie wird eingeschrieben Original -Verfahren

Besuchsrichtungen & Füllung Drei Besuchsrichtungen: Horizontal Vertikal Spiralförmig Mögliche Füllung eines weißen und eines schwarzen Pixels

raumfüllende Kurve minimaler und maximaler Level gegeben Level bestimmt wahrgenommene Helligkeit eines Bereichs Level 1 Level 2 Level 3

Beispiel Original

Schritte: Umwandlung des Bildes in Schwarz-Weiß-Bild Separate Behandlung von Flächen im Bild Ausdünnung von Vereinfachung von

Erzeugung eines Schwarz-Weiß-Bilds Entfernen von Transparenz Umwandeln in Graustufen Schwellwert legt fest, ob Pixel weiß oder schwarz wird

Behandlung von Bilder können ausgefüllte Objekte enthalten Erkennen von Separate Behandlung erkannter Zusammenführen mit

Erkennen von maximale dicke Distanzmatrix Distanz zu groß Teil einer Region ggf. weitere Pixel hinzunehmen aus dem Bild entfernen separate Behandlung von und

Distanzmatrix 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 1 2 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 2 2 2 3 2 1 1 1 0 0 0 0 0 0 0 0 1 0 1 2 3 3 3 4 3 2 2 2 1 0 0 0 0 0 0 0 1 1 2 3 4 4 4 4 3 3 3 2 1 0 0 0 0 0 0 0 0 1 2 3 3 4 4 3 2 3 3 2 1 1 0 0 0 0 0 0 0 1 2 2 2 3 3 2 1 2 2 1 0 1 0 0 0 0 0 0 0 1 2 1 1 2 2 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0

Behandlung der Zwei Varianten: Füllen mit Muster verschiedene Richtungen, Füllabstand einstellbar Kontur beliebige Kombinationen erlaubt Zusammenführen mit auf Vektorebene Zerlegen in aus Bild werden nach und nach mit geg. dicke entfernt Zentrum der Linie sind die Skelettpunkte der Region Skelettpunkt: maximaler Distanzwert mit direkten Nachbarn (4) Zusammenführen mit auf Rasterebene

Beispiel gefüllte Region gesplittete Region

Skelettierung können mehrere Pixel dick sein Problem: optimale Linie finden Idee: Linie auf einen Pixel Breite reduzieren Sukkzessives Entfernen von Randpunkten zum Entfernen müssen bestimmte Bedingungen erfüllt sein

Beispiel

Nachzeichnen verlängere Linie, solange eindeutig möglich Kreuzungspunkt, Alternativen: verlängere beliebig versuche,bisherige Richtung beizubehalten versuche, in die 4 Hauptrichtungen weiterzugehen Start eines neuen zugs Ergebnis: Menge von Polylinien

Vereinfachung und jede Polylinie einzeln kann Treppenbildung beim Vergrößern vermeiden Algorithmus: DP (p : polyline, eps : real): // p = <p_1,...,p_n) if n = 2 then return p; let s := <p_1,p_n>; berechne die Distanz von allen p_j zu s; if maximale Distanz <= eps then return s; sei p_i ein Punkt mit maximaler Distanz; return concat(dp(<p_1,...,p_i>, eps), DP(<p_i,...,p_n>, eps));

als SVG-Datei Kurze Beschreibung in der Aufgabenstellung detailliert unter: https://www.w3.org/tr/svg11/

Noch Fragen?