|
|
Kantenglättung (K.vereinfachung) in Binärbild |
|
Localhorst |

Forum-Fortgeschrittener
|
 |
Beiträge: 86
|
 |
|
 |
Anmeldedatum: 18.02.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.06.2008, 09:14
Titel: Kantenglättung (K.vereinfachung) in Binärbild
|
 |
|
 |
|
Hallo Forum,
ich habe eine relativ unebene Kontur in einem Binär Bild. Ich möchte nun diese Kontur leicht glätten. Bitte schaut kurz in das jpg das ich hochgeladen habe, da ist die Kontur zu sehen und auch eine rote Linie, die darstellen soll, wie ich die Kontur gerne hätte.
Mit den Pfeilen habe ich Stellen markiert, wo ich denke das es Probleme geben könnte.
Wie bekomme ich die Kontur soweit angepaßt, dass sie der roten Linie ähnelt?
(Mein Versuch war bwtraceboundary(), habe das Script aus der OnlineHilfe versucht, aber leider die Kontur nur an die Linke Seite angelegt bekommen, (clockwise, als Richtung hatte ich geändert)
Wie bekomme ich die einzelnen schwarzen Pixel, bzw. Pixelgruppen auf der linken Seite weg?
(mein Versuch war imfill(BW,'holes'); was auch einige der Flecken weg macht, aber nicht alle)
Evtl. könnt ihr mir auch noch einige Stichworte nennen, nach denen ich googlen kann. Kanntenglättung bringt in Deutsch und Englisch kaum Matlab spezifische Treffer.
Vielen Dank
Localhorst
Beschreibung: |
|
 Download |
Dateiname: |
kantenglaettung.jpg |
Dateigröße: |
38.55 KB |
Heruntergeladen: |
1145 mal |
|
|
|
|
|
steve |

Ehrenmitglied
|
 |
Beiträge: 2.029
|
 |
|
 |
Anmeldedatum: 03.09.07
|
 |
|
 |
Wohnort: Wien
|
 |
|
 |
Version: R2024a
|
 |
|
|
 |
|
Verfasst am: 11.06.2008, 10:55
Titel:
|
 |
Moin,
schau dir mal das hier an, ob du damit weiterkommst:
KLICK!
Ich arbeite in meinem Fall zumindest damit.
Gruß
Alex
_________________
>> I told me to.
____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
Localhorst |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 86
|
 |
|
 |
Anmeldedatum: 18.02.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.06.2008, 13:57
Titel:
|
 |
Vielen Dank schon einmal. Habe wieder viele neue Anregungen durch den Artikel gefunden.
Hast du evtl. noch eine Idee, wie ich "Pixel Inseln" entfehrnen kann, ich meine damit, Gruppen aus Pixeln, die im freien Raum stehen?
|
|
|
steve |

Ehrenmitglied
|
 |
Beiträge: 2.029
|
 |
|
 |
Anmeldedatum: 03.09.07
|
 |
|
 |
Wohnort: Wien
|
 |
|
 |
Version: R2024a
|
 |
|
|
 |
|
Verfasst am: 11.06.2008, 16:48
Titel:
|
 |
Du meinst damit sicher die schwarzen Pixel im weißen Gebiet?!
Ich würd auf das invertierte Bild nochmal imfill anwenden:
Gruß
Alex
_________________
>> I told me to.
____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
Localhorst |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 86
|
 |
|
 |
Anmeldedatum: 18.02.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.06.2008, 10:37
Titel:
|
 |
|
 |
|
Hallo ihr beiden,
vielen Dank schon einmal für eure bisherigen Tipps, ihr habt mir schon viele gute Ideen gegeben.
Ich habe mein Problem nun soweit, dass ich ein eine Kontur in einem Binär Bild habe. Ich muß nun für eine weitere Bearbeitung dieser Kontur, diese soweit beschränken, dass jeder Pixel in dieser Konturlinie an genau zwei andere grenzt.
Ausgang:
Problem
Wie ihr in dem zweiten Bild sehen könnt, steigt mein kleines Programm bei diesem kleinen Zipfel, der nach oben abzweigt aus. Bis dahin funktioniert alles, wie ich mir das vorstelle.
Mein Programm, folgt der Linie und passt sie entsprechend an, bei dieser Ecke, hat es logischer Weise Probleme, da sich der eingeschlagene Pfad, erst nach einer Zeit als Sackgasse erweist.
Deswegen würde ich die Kontur gerne vorher soweit glätten, bzw anpassen, dass solche Zipfel wegfallen.
Momentan lasse folgende Operationen über meine Ausgangslinie laufen:
BW2 = bwmorph(Joutline,'diag');
BW3 = bwmorph(BW2,'close');
BW3 = bwmorph(BW3,'thin');
BW3 = bwmorph(BW3,'diag');
Damit bekomme ich schon viel weg, aber halt nicht diese Zipfel.
Wenn ich das imdilate, aus dem (sehr guten) Tutorial von Steve drüber laufen lasse, wird die Linie was komplett ausgelöscht.
(Ich fahre die Linie momentan ab, und schaue ob die 4 direkt angrenzenden Pixel(Also der Nord,Ost,Süd,West Pixel um den aktuellen Center Pixel) zur Linie gehören oder nicht. Falls ihr den Code dafür braucht, kann ich den gerne Posten, ich wollte den Post nur nicht noch länger gestallten, als er eh schon ist)
Vielen Dank
Localhorst
|
|
|
chimperator |

Forum-Anfänger
|
 |
Beiträge: 30
|
 |
|
 |
Anmeldedatum: 17.04.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.05.2015, 12:52
Titel:
|
 |
steve hat Folgendes geschrieben: |
Moin,
schau dir mal das hier an, ob du damit weiterkommst:
KLICK!
Ich arbeite in meinem Fall zumindest damit.
Gruß
Alex |
Hey Leute.
Leider erscheint kein Artikel wenn ich auf den Link klinke. Und ich hab so ziemlich das gleiche Problem... nur dass es sich bei mir um die Konturen von einer Pflanze handelt =)
Vllt kann jemand den neuen Link oder so posten =)
vielen dank schonmal
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 09.05.2015, 23:36
Titel:
|
 |
Hallo chimperator,
Ich habe im dem Namen des Links den Ausdruck "ipexcell" gefunden und einfach mal im Internet nach "Matlab ipexcell" gesucht. Dann finde ich:
http://www.mathworks.com/products/d.....ge/ipexcell/ipexcell.html
Ob das hilft, weiß ich nicht. Aber der Trick Google zu fragen könnte ja auch schon mal nützlich sein ;-)
Gruß, Jan
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|