Morphologische BV. Morphological Image Processing. M. Thaler, TG208 Bildverarbeitung ZHAW, BV HS17, M. Thaler.

Ähnliche Dokumente
Morphologie auf Binärbildern

Kapitel 9. Kombination von Vektor- und Rasterdaten. Rasterdaten. 3. Transformationen des Formats. 4. Kombinierte Auswertungen

Morphologische Bildoperationen

Kapitel 13 Binärisierung und Verarbeitung von Binärbildern p.2/40

Seminarvortrag Bildverarbeitung im Projekt FAUST mit dem Schwerpunkt Skelettierung

Kompakte Graphmodelle handgezeichneter Bilder

Kompakte Graphmodelle handgezeichneter Bilder. Einbeziehung in Autentizierung und Bilderkennung

Binärbildverarbeitung

Industrielle Bildverarbeitung

Elementare Bildverarbeitungsoperationen

Praktikum-Meßtechnik Verfasser: Dr. H. Bergelt

Zusammenfassung Digitale Bildverarbeitung By Fabian Flohrmann

Bildmerkmalssuche. Seminar Computational Photography. Visual Computing Department of Computer Science

Morphologische Bildverarbeitung

Technische Universität München. Fakultät für Informatik

Digitale Bildverarbeitung Einheit 8 Lineare Filterung

Industrielle Bildverarbeitung mit OpenCV

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Vorhergehende Ansicht(en): Zu den vorherigen Ausschnitten zurückkehren.

Ratsgymnasium Bielefeld Schuljahr 2005/2006. Besondere Lernleistung im Fach Informatik. Thema: Verfahren zur Erkennung präsentierter Objekte

Regionen in Binärbildern

Phishingerkennung mittels visuellem Ähnlichkeitsvergleich. Felix Hill Ruhr-Universität Bochum

Tastatur & Mause Befehle

Bildverarbeitung Herbstsemester Kanten und Ecken

Welle. CAD Catia Solids. Arbeitsunterlagen. Prof. Dr.-Ing. A. Belei. Prof. Dr.-Ing. A. Belei CAD CATIA V5 Solids Welle.

Grundlagen der digitalen Bildverarbeitung / Fortsetzung

Bildverarbeitung und Mustererkennung

Programme deinstallieren,

Kapitel 7. Bildverarbeitung im Frequenzraum

designcad - Anleitung

Bildrekonstruktion & Multiresolution

Installation DataExpert Paynet-Adapter (SIX)

Digital Cinema Package Creator

Bildverarbeitung Herbstsemester. Binärbildanalyse

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Pflanzenaufnahmen mit dem OEOS 800 Sensor

Termin3 Klassifikation multispektraler Daten unüberwachte Verfahren

Guten Morgen und Willkommen zur Saalübung!

Heute. Motivation. Diskretisierung. Medizinische Bildverarbeitung. Volumenrepräsentationen. Volumenrepräsentationen. Thomas Jung

Übung Medienretrieval WS 07/08 Thomas Wilhelm, Medieninformatik, TU Chemnitz

Allgemeine Informationen über die Nutzung der Anwendung. Die Werkzeugleiste. = Streckenmessung

ACDSee 2009 Tutorials: Rote-Augen-Korrektur

Praktikum Sensitometrie

Tipp: Bildrahmen erstellen

Arbeiten mit Adobe Photoshop Elements

Erste Schritte mit AmphIdent

Automatische Segmentierung von mikroskopischen Zellbildern für die Biokompatibilitätsprüfung mit Hilfe eines Künstlich Neuronalen Netzes

Computer Graphik II Tesselierung impliziter Kurven und Flächen

Objektsegmentierung von kompaktem Schüttgut für die technische Erkennung

CATIA V5 - Effiziente Konstruktion mit Makros

Zahlendarstellungen und Rechnerarithmetik*

Deinstallationsanleitung

Einführung Aufgabe 1 - Bildverarbeitung. Anton Augsburg 2011

Werbung entfernen mit VirtualDub. Werbung entfernen mit VirtualDub

Aufbau von Hichert-Graphik Schritt für Schritt

Definition. Gnutella. Gnutella. Kriterien für P2P-Netzwerke. Gnutella = +

SHARP TWAIN AR/DM. Bedienungsanleitung

Exploration und Klassifikation von BigData

Schalter für Zeichnungshilfen Statuszeile

DLR_School_Lab- Versuch Haftmagnet

Slices und Rollover für die Startseite einer Bildergalerie

08. übung. Illustrator. medienwerkstatt // seite 1

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Let's talk Gimp 2.8 für Fortgeschrittene

2 Darstellung von Zahlen und Zeichen

Übung Bilder verschmelzen

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Analyse vernetzter Systeme. Test Plan. Roman Schaller

Konfiguration Anti-Spam Outlook 2003

Quadratwurzel. Wie lassen sich die Zahlen auf dem oberen und unteren Notizzettel einander sinnvoll zuordnen?

Computergrafik SS 2010 Oliver Vornberger. noch Kapitel 10: 2D-Grafik im Web. Vorlesung vom

ImageScan WORKBENCH. Ablauf Öffnen Sie zunächst aspect3d. Klicken Sie nun auf den TAB IMAGESCAN. In der Gruppe IMAGE finden Sie den Button IMAGESCAN.

2. Handhabung und Metatrader einstellen

Apparo Fast Edit Version im Vergleich zu Was ist neu?

Kapitel 8 Text für eine Internetseite erstellen

Image Converter. Benutzerhandbuch. Inhaltsverzeichnis: Version: Das Folgende vor Gebrauch von Image Converter unbedingt lesen

Neuheiten PROfirst KALKULATION Version 8. SQL ist sehr schnell. Neuheiten PROfirst KALKULATION Version 8 1/7

Maskieren von Bildern

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Punktbeschriftung in Dynamischen Karten

Wasserfall-Ansätze zur Bildsegmentierung

Bildtransformationen. Geometrische Transformationen Grauwert-Interpolation

MINT-Circle-Schülerakademie

Kapiteltests zum Leitprogramm Binäre Suchbäume

Dokumentation. Zentraleslogin

Magic Mail Monitor. (Ausgabe für V 2.94b18)

ACDSee 9 Foto-Manager

PROSEMINAR ONLINE ALGORITHMEN

WORKSHOP "Erstellen einer Button-Grafik mit der Software Word von Microsoft"

Bedienungsanleitung Sygic, s.r.o. All rights reserverd.

Ofenplanung mit Palette CAD Seite 1 von 8 - Übungen für Einsteiger und Fortgeschrittene - Dipl.-Ing. Jürgen Feuerherm

PSRDesigner. Punkt und Streifenrasterplatinen Designer

Seminarausarbeitung WS06/07 Bildverarbeitung für das Projekt FAUST Schwerpunkt Skelettierung Ingmar Gründel

SketchBook Ink. Tipps & Tricks

Anleitung zur Implementierung der KML sowie Excel Daten in ArcGis

Tipps für professionelle Repaints

Fotos in einer Diashow bei PPT

Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse

Produktschulung WinDachJournal

Transkript:

Morphologische BV Morphological Image Processing M. Thaler, TG208 tham@zhaw.ch Juni 7

Um was geht es? threshold Binärbild region fill egdes Juni 7 2 2

... um was geht es? Morphologie in der Biologie Beschäftigung mit Formen & Strukturen von Pflanzen und Tieren Juni 7 3 3

... um was geht es? Morphologie in der Bildverarbeitung mathematische Morphologie (basiert auf Mengenlehre) - Bild Attribute - meist binäre Bilder extrahieren von Bildkomponenten - Beschreibung und Darstellung von Bildkomponenten Bildvorverarbeitung - morphologische Filter eliminieren von kleinen Komponenten - verdünnen und verdicken von Linien und Kanten - pruning eliminieren von parasitären Komponenten etc. Juni 7 4 4

Inhalt Lehrziele Mathematische Grundlagen Dilatation und Erosion Opening und Closing Hit-or-Miss Transformation Boundary Extraction Region Filling Connected Componentes Juni 7 5 5

Lehrziele Sie kennen die Grundlagen der morphologischen Bildverarbeitung und die Anwendungsgebiete können die wichtigsten morphologischen Algorithmen erklären und diskutieren können die wichtigsten morphologischen Algorithmen effizient implementieren Juni 7 6 6

Mathematische Grundlagen Ausgangspunkt binäre Bilder: Hintergrund schwarz, Objekte weiss Mengenoperationen Bildern & Bildkomponenten A und B sind Komponenten resp. Regionen im Bild A B A B A B A c A B A Aˆ z leere Menge Aist in Benthalten Durchschnitt von Aund B: and Vereinigung von Aund B: or Komplement von A: not A B c : A, B Aum zpixelverschoben: a A: a + z, a + z A gespiegelt (punktsymetrisch) x x y y Juni 7 7 7

Dilatation Ausdehnen resp. verdicken von Objekten kontrolliert mit Strukturelement B (~ binäre Faltung) - definierter Ursprung A B = { z B z A } Menge aller Orte zvon verschobenen Strukturelementen B z, die mindestens um Pixel mit Aüberlappen A A B 0 0 0 0 0 0 0 0 0 0 0 0 B = B Ursprung 0 0 0 0 0 0 Juni 7 8 8

Erosion Verkleinern resp. verdünnen von Objekten gesteuert mit Strukturelement B (morphologische Faltung) - definierter Ursprung - dual zu Dilatation A B = { z (B) z A} Menge aller Positionen von verschobenen Strukturelementen, die vollständig in A enthalten sind A A B 0 0 0 0 0 0 0 0 0 0 0 0 B 0 0 0 0 Juni 7 9 9

... Erosion und Dilatation Elimination von irrelevanten Details A B A B (A B) B Juni 7 0 Quadrate < "7x7" -> verschwinden Quadrate >= "7x7" -> bleiben 0

... Erosion und Dilatation Objektformen und - grössen meist nicht bekannt Ansatz: - kleines Strukturelement, z.b. 3x3 - dann n-erosionen n-dilatationen 3-mal Juni 7 Problemstellung -wenn Strukturelement gleich gross wie Objekt (hier Rechteck resp. Quadrat) und ein Rauschpixel, dann wird das Objekt eliminiert Lösung - Wahl eines kleineren Strukturelements - anschliessend mehrmals erodieren - dann mehrmals dilatieren

Erosion/Dilatation: Diskussion Obige Beispiele Bereiche, die nicht vollständig von B überdeckt werden, bzw. kleiner als B sind, verschwinden Idee lässt verallgemeinern Opening (Öffnen): Erosion(en) dann Dilatation(en) Closing (Schliessen): Dilatation(en) dann Erosion(en) Beispiel B original opening closing Juni 7 2 Anmerkung - B ist grösser als die jeweils verschwundenen "Striche" bzwr Zwischeräume 2

Opening Eigenschaften A B = (A B) B entfernt Bereiche (Regionen) kleiner als B glättet Konturen bricht dünne Verbindungen auf entfernt dünne herausstehende Teile Idee: Strukturelement "rollt" innerhalb von A Juni 7 3 3

Closing Eigenschaften A B = (A B) B schliesst schmale Unterbrüche füllt Löcher kleiner als B füllt lange dünne "Golfs" Idee: Strukturelement "rollt" aussen von A ab Juni 7 4 4

... opening and closing opening closing Juni 7 5 5

Hit-or-Miss Transformation Finden von Pixelmustern resp. Konfigurationen Eigenschaften A B = (A B ) (A c B 2 ) B muss im Vordergrund enthalten sein und B 2 muss im Hintergrund enthalten sein 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 B B 2 Juni 7 6 im Quadrat unten rechts sind die Zahlen auf weiss gesetzt Hit or Miss -B = Objekt, B 2 = Objekthintergrund -A wird mit B erodiert (linker Term) Bild wird mit Objekt erodiert -A c wird mit B 2 erodiert (rechter Term) Hintergrund wird mit Objekt-Hintergrund erodiert 6

... Hit-or-Miss Transformation Oft wird nur der "Hit"-Anteil verwendet entspricht "morphologischer Korrelation" A B = (A B) reduziert sich auf eine reine Erosion Juni 7 7 7

Berechnung morph. Operationen Berechnung mit Lookup- Tabellen jedem Pixel einer n x n Umgebung eine 2er-Potenz zuordnen für jedes Pixel wo gilt A B 0, wird Gewicht aufaddiert Gewichte 256 28 64 32 6 8 4 2 b 8 b 7 b 6 b 5 b 4 b 3 b 2 b b 0 0 0 0 0 Summe wird als Index in Tabelle verwendet Tabelle enthält Output-Pixelwert, z.b. tab[86] =, tab[...] = 0 Tabelle kann im voraus berechnet werden B A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28+32+6+8+2 = 86 32+6+2 = 50 Juni 7 8 Gewichte - jeder Eintrag bildet ein Bit der Adresse für die Lookup-Tabelle Berechnung bei symmetrischem Strukturelement index = 0; for (i = 0; i < 3; i++) for (j = 0; j < 3; j++) { tmp = pix[r--i][c--j] & strl[i][j]; index = (index << ) tmp; } } respix[r-][l-] = table[index]; 8

Boundary Extraction Berechnung der "boundary" (Regionengrenze) β(a) = A - (A B) = A (A B) c A B A B β(a) Juni 7 9 Folgende Maske (4-neighbourhood) kann auch verwendet werden 0 0 0 0 Was ändert sich nun? -die boundary wird dünner - Maske "hölt" besser aus - boundary enthält auch nur diagonale Verbindungen 9

Hausaufgabe: boundary extraction Gesucht:boundarywenn Strukturelement kreuzförmig... was ist der Unterschied? A B A B β(a) Juni 7 20 Folgende Maske (4-neighbourhood) kann auch verwendet werden 0 0 0 0 Was ändert sich nun? -die boundary wird dünner - Maske "hölt" besser aus - boundary enthält auch nur diagonale Verbindungen 20

Region Filling Füllen einer Region Algorithmus (boundary der Region ist 8-connected) X k = (X k- B) A c k =, 2, 3... und X 0 = p Ziel-Bild - X 0 = p: Startpunkt innerhalb der boundary - stoppt wenn X k = X k-, d.h. kein neuer Punkt kommt dazu p A A c B X 0 X Ziel-Bild Juni 7 2 Implementation Algorithmus -pro Durchgang können selbstverständlich mehrere Pixel "expandiert" werden -d.h. dauernd X k mit B dilatieren und zufügen falls in A c 2

Connected Components Gesucht: zusammenhängende Komponenten wichtig für automatisierte Bildanalyse Algorithmus X k = (X k- B) A k =, 2, 3... und X 0 = p - X 0 = p: Startpunkt innerhalb oder auf Boundary - stopt wenn X k = X k-, d.h. kein neuer Punkt kommt dazu Strukturelemente B 4 B 8 Komponenten sind 4-adjacient Komponenten sind 8-adjacient Juni 7 22 X0 = p X0 mit B 22

Labeling of connected components Beschriftung zusammenhängender Komponenten 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 B 4 B 8 0 0 0 2 2 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 Juni 7 23 23

Thinning and Thickening Ausdünnen Objekt wird auf eine -Pixel breite Linien reduziert Thinning A B = A (A B i ) c (nur Hit-Teil) Iterationen mit Set von Masken, Ende wenn keine Änderungen B B 2 B 3 B 4 B 5 B 6 B 7 B 8 Verdicken an Objektrand n Pixel anfügen Binär-Bild invertieren Ausdünnen Bild invertieren Juni 7 24 Masken sind rotierte Versionen der Grundmasken -wenn Maske erkannt löschen es gibt auch nicht morphologische Ansätze 24

Skelette Thinning und Skeletons Skeleton - Menge aller Punkte mit gleichem Abstand zu Rand des Objekts wichtige Struktur- resp. Form-Information wird beibehalten ausgedünnt Skeleton Juni 7 25 25

Weitere morph. Transformationen Pruning parasitäre Komponenten von Skeletten entfernen Convex Hull kleinste konvexe Hülle, die ein Objekt enthält Siehe Literatur Juni 7 26 Pruning - einfache Möglichkeit ( Gonazales, Wood). suchen eines Endpunktes des Skelets Endpunkt: genau ein Nachbar (in einer 3x3 Umgebung) 2. entfernen des Endpunktes Schritt. und 2. N-mal wiederholen N-Lange Äste werden entfernt (!! auch Nutz-Äste) 3. optional: alle Endpunkte N mal verlängern in Richtung des zweitletzten Pixels 26

... weitere morph. Transformationen Originalbild Skeleton Skeleton nach Pruning Juni 7 27 27