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

Ermittelung eines Kreises

 

PeteVAR
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 02.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.10.2013, 11:55     Titel: Ermittelung eines Kreises
  Antworten mit Zitat      
Liebe Matlabforum User,

eine weitere Frage:

Ich habe ein Image mit einem Kreis in der Mitte (eher eine Wolke mit höheren Pixeln, die ursprünglich mal eine Kugel war --> jetzt 2D)
Ich kenne den eigentlichen Radius bzw. Durchmesser der Kugel.
Gibt es eine Funktion die automatischen einen von mir geplotteten Kreis in diese Wolke fittet und mir so den gewünschten Mittelpunkt des Kreises liefert?

Beste Grüsse und vielen Dank im Voraus.

Pete
Private Nachricht senden Benutzer-Profile anzeigen


Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 05.10.2013, 08:47     Titel:
  Antworten mit Zitat      
Moin,

es gibt natürlich auch die Möglichkeit, deinen Kreis so zu verbessern, dass er als Kreis erkannt wird. Statt einen Kreis zu fitten. Ich habe im Moment keinen Zugriff auf Matlab, bin aber der Meinung, dass folgende Funktion auch den Mittelpunkt eines Kreises ausgibt:

http://www.mathworks.com/matlabcent.....sdemo/content/BlobsDemo.m

Wenn das nicht hilft, melde dich bitte wieder. Ich muss irgendwo noch eine Funktion haben. Vielleicht hilft das erst einmal ein Stück weiter.

Schönes Wochenende - Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 05.10.2013, 08:47     Titel:
  Antworten mit Zitat      
Sorry, irgendwie ist mein Beitrag 2x gepostet worden!
Private Nachricht senden Benutzer-Profile anzeigen
 
PeteVAR
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 02.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.10.2013, 14:41     Titel:
  Antworten mit Zitat      
Hallo Hubertus,
mit der regionprops Funktion, die in diesem demo verwendet wiird, habe ich schon einmal gearbeitet. Leider bin ich mit dem Resultat nicht zufrieden.

Kennst du noch andere Funktionen oder einen Trick um die Genauigkeit zu erhöhen ? (vorher den Kreis zb. kreisföriger machen? )

Lg Pete
Private Nachricht senden Benutzer-Profile anzeigen
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 07.10.2013, 15:05     Titel:
  Antworten mit Zitat      
Solange ich dein Problem nicht bildlich sehe kann ich auch nach keiner Lösung suchen. Wenn du das Bild hier nicht posten willst/kannst, dann versuche ein ähnliches Bild so zu erstellen, dass die Problematik deutlich wird.

Ich vermute, dass dein Kreis nicht eindeutig als Kreis zu erkennen ist, weil Störungen im Randbereich das verhindern. Um diese zu entfernen gibt es eine ganze Reihe unterschiedlicher Funktionen.Das können sein: strel - imdilate - imfill - imerode - edge. Bei farbigen Bildern, in denen zum. die Farben R+G+B vorkommen, können auch die Farbauszüge weiter helfen.
Private Nachricht senden Benutzer-Profile anzeigen
 
PeteVAR
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 02.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.10.2013, 15:13     Titel:
  Antworten mit Zitat      
Hier ein Beispiel bild

test.tif
 Beschreibung:

Download
 Dateiname:  test.tif
 Dateigröße:  1.98 MB
 Heruntergeladen:  515 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 08.10.2013, 07:14     Titel:
  Antworten mit Zitat      
Das Problem ist sicherlich nicht ganz einfach, weil es auch gleich mehrere Ansätze gibt. Welche davon zu einem Ergebnis führen können, bedarf einer ganzen Reihe von Versuchen. Solange ein Kreis nicht als Kreis erkannt wird, geht natürlich nichts automatisch. Es geht also darum, alles Überflüssige zu entfernen und dann evtl. den Kreis zu glätten. Wenn die Ränder dich stören, kannst du natürlich auch den Kreis ausschneiden.

Ich habe dir hier mal 1 Ansatz aufgeschrieben:

Code:
I=Bild;
bw=im2bw(I,0.5);
bw2=~bw;
bw3=bwmorph(bw2,'thicken',inf);
x=im2uint8(bw3);
imshow(x)


Die noch verbleibenden Funktionen kennst aus dem Beispiel "BlobsDemo".
Zunächst einmal viel Glück und melde dich, wenn du nicht weiterkommst
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 - 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.