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

Abstand in Pixel zwischen zwei Punkten ausrechnen

 

hugo
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 02.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.04.2009, 10:26     Titel: Abstand in Pixel zwischen zwei Punkten ausrechnen
  Antworten mit Zitat      
Hallo!

Ich beschäftige mich gerade mit Erkennung eines Kreises einem Bild. Da die Beleuchtung sehr stark schwankt kann ich kein threshholding machen und habe mich daher für den Canny edge detector entschieden. Nun möchte ich den Radius des Kreises herausfinden.

Ich benütze find um die 1 und somit die Grenzen des Kreises zu finden. jedoch habe Probleme mit der vektorisierten Schreibweise des find-Befehls.

Versuche ich:
Code:
[row col]=find(BW(minr:maxr,:));


bekomme ich die Zeilen und Spalten in zwei Vektoren die nach den Spalten geordnet sind.

Um nun meinen Durchmesser heraus zu finden, müsste ich aber in einer Reihe alle aufeinanderfolgenden Spalten subtrahieren und den größten Pixelabstand als meinen Durchmesser annehmen.

Ich habe dieses Problem bereits versucht mit einer for-Schleife zu lösen:

Code:

for k=minr:maxr
    a=find(BW(k,:));
    c(i)=max(diff(a));
    i=i+1;
end
 


Zum einen halte ich diese Version für nicht sehr elegant, das zweite Problem ist, dass ich öfters den Fehler:

??? In an assignment A(I) = B, the number of elements in B and
I must be the same.

Error in ==> vidpro2 at 33
c(i)=max(diff(a));

bekomme.

Ich hoffe ich habe mein Problem verständlich ausgedrückt und hoffe, dass mir jemand helfen kann.

Lg
Private Nachricht senden Benutzer-Profile anzeigen


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 09.04.2009, 11:12     Titel:
  Antworten mit Zitat      
Moin,

schau dir mal die Funktion
Code:
an, vielleicht ist das etwas für dich!

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?
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.