WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Pixelkoordinaten einer Kontur im S/W Bild

 

5otuk
Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 18.06.12
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 26.06.2012, 18:46     Titel: Pixelkoordinaten einer Kontur im S/W Bild
  Antworten mit Zitat      
Hallo Leute,

kann mir jemad helfen, die Konturkoordinaten (weiße Pixel) aus einem S/W Bild im Uhrzeigersinn oder umgekehrt zu bekommen.

Durch die Tipps hier im Forum klappt es jetzt die X- und Y-Koordinaten auszulesen mit:

[row col] = find(Image == 1);

aber diese Koordinaten sind dann nicht in der Reihenfolge wie ich es brauche und wenn es mehr Messdaten geben wird, wird es ziemlich umstaendlich sein dies in die richtige Reihenfolge zu ordnen.

Gibt es ein Befehl, der die Pixel mit einer 8-Nachbarschaft Pixel fuer Pixel abtastet und von gefundenen (in diesem Fall weißen) Pixel dessen Koordinaten in einer Variable abspeichert?

ich habe es mit bwboundary Befehl versucht bekomme aber nich die Konturkoordinaten, sondern die Koordinaten von benachbarten Pixeln.

Ich haenge hier zwei Bilder an, im ersten Bild zeige ich was ich meine und im zweiten die Kreiskontur von der die Pixelkoordinaten gesucht sind.

Vielen Dank im voraus fuer Eure Tipps!!!

Gruss

5otuk

KreisKanten.jpg
 Beschreibung:
Kreiskontur

Download
 Dateiname:  KreisKanten.jpg
 Dateigröße:  2.25 KB
 Heruntergeladen:  938 mal
KreisKanten_2.png
 Beschreibung:
Vorgehensweise / Die Idee

Download
 Dateiname:  KreisKanten_2.png
 Dateigröße:  15.16 KB
 Heruntergeladen:  903 mal
Private Nachricht senden Benutzer-Profile anzeigen


flashpixx
Forum-Guru

Forum-Guru


Beiträge: 355
Anmeldedatum: 19.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.06.2012, 19:22     Titel:
  Antworten mit Zitat      
mit Hilfe der generalisierten Hough Transformation sollte sich der Kreis bzw. dessen Linie finden lassen http://de.wikipedia.org/wiki/Hough_Transformation
siehe dazu http://www.mathworks.de/help/toolbox/images/ref/hough.html
Private Nachricht senden Benutzer-Profile anzeigen
 
5otuk
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 18.06.12
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 28.06.2012, 17:52     Titel:
  Antworten mit Zitat      
Hi,

dieses Problem wurde doch mit bwboundary gelöst, vielleicht wird es jemand mal brauchen:

(Es kann für mehrere Konturen/Objekte verwendet werden)

Code:

[B,L,N,A] = bwboundaries(bw);
imshow(bw);
for cnt = 1:N
hold on;
boundary = B{cnt};
plot(boundary(:,2), boundary(:,1),'r');
hold on;
text(mean(boundary(:,2)), mean(boundary(:,1)),num2str(cnt));
end
 


und alle Pixelkoordinaten der Kontur werden in boundary Variable gespeichert (im Uhrzeigersinn).

Gruß 5otuk
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.