|
|
Objekterkennung - Optimierung von Flächen bzw. Konturen |
|
johnboye |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 14.12.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.12.2013, 14:19
Titel: Objekterkennung - Optimierung von Flächen bzw. Konturen
|
|
|
|
|
Moin,
Suche eine Lösung für ein Objekterkennungsskript.
Und zwar Suche ich zunächst Flächen über Schwellwerte und anschließend die Konturen dieser Objekte. Wie auf dem Bild der Konturerkennung zu sehen ist, weden innerhalb des gesuchten Objekts (äußere Kontur) weitere Konturen erkannt die ich aber nicht haben möchte.
Die großen ungewünschten Flächen sind Überbelichtungen bzw. starke Reflexionen und die kleinen vermutlich Fehlerhafte Pixel im Bild.
Hat jemand eine Idee wie ich die unterdrücken kann?
Schwellwerte im RGB-Bild für Flächenerkennung r<90 g<80. Konturerkennung über edge(I,'log'). Dabei ist I eine Bildmatrix mit logischen Flächen (=1)
Beste Grüße
Beschreibung: |
Ergebnis von Konturerkennung edge(I, 'log') |
|
Download |
Dateiname: |
Kontur_test.png |
Dateigröße: |
922 Bytes |
Heruntergeladen: |
960 mal |
Beschreibung: |
logische Flächen nach Schwellwertbetrachtung in RGB (r<90, g <80) |
|
Download |
Dateiname: |
logisch_test.png |
Dateigröße: |
862 Bytes |
Heruntergeladen: |
894 mal |
|
|
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.12.2013, 07:05
Titel:
|
|
Moin,
der Befehl dazu ist: >>imclose. Angewendet auf das Bild: logisch_test.png. Oder mit: >>imdilate, angewendet auf das Bild: Kontour_test.png. Der bessere Weg ist natürlich, vorher säubern und dann die Kontourerkennung machen.
Viele Grüße - Hubertus
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.12.2013, 10:10
Titel:
|
|
Habe noch ein Hinweis vergessen.
Wenn das Bild mit den Kontouren die Basis sein soll, dann wird die äußere Form durch hohe imclose-Werte etwas verformt. Wenn die äußere Form sich nicht ändern soll, muss man sich die Ergebnisse nach jedem Durchgang ansehen und mit einer Kombination verschiedener "strel"-Werte arbeiten.
|
|
|
johnboye |
Themenstarter
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 14.12.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.12.2013, 14:23
Titel:
|
|
Moin,
Super klingt gut. Also ich denke ich werd das auf die logischen Flächen anwenden. Werd mir die Funktion hinter "imclose" mal genauer anschaun. Konnte das Problem auch schon mit nem "medfilt2()" (Mittelwertfilter meine ich) lösen, den ich auf die logischen Formen anwende. Dabei verliere ich allerdings insbesondere in den Randbereichen vom Bild etwas Information.
Ich werd das mal mit dem imclose() vergleichen und gucken was besser gefällt.
Aufjedenfall mal danke für den Tipp
|
|
|
|
|
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 - 2024
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.
|
|