|
maryouma |
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 21.03.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.03.2011, 14:40
Titel: Punkte sortieren
|
|
Hallo Zusammen,
ich möchte Punkte auf einem Bild sortieren duch ein angegeben (Fix) Punkt. D.h. ausgehend vom Fixpunkt soll immer der ncähste Kontaktpunkt gesucht werden, um die Reihenfolge zu ermitteln.
wie kann ich die Punkte in Reihenfilg erstens suchen und dann aussortieren?
Mfg
Mariem
|
|
|
|
|
aj.geissler |
Forum-Guru
|
|
Beiträge: 251
|
|
|
|
Anmeldedatum: 26.11.07
|
|
|
|
Wohnort: Seeheim-Jugenheim
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.03.2011, 08:12
Titel:
|
|
Hi,
ich bin mir nicht ganz sicher, was Du exakt meinst.
Anhand Deiner Beschreibung könnte das aber so etwas wie der
kmeans-Algorithmus (Cluster-/Regionenbildung) sein ?
Siehe auch wikipedia:
http://de.wikipedia.org/wiki/K-Means-Algorithmus
Grüße
Andreas
|
|
|
maryouma |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 21.03.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.03.2011, 10:23
Titel:
|
|
Hallo,
danke Andreas, das hat mir leider nicht weiter geholfen.
ich habe bei meinem Bild der Abstand zwischen Fixpunkt und die andere Punkt gerechnet und dadurch muss ich jetzt die Koordinaten der Punkte rausfinden
welche Code muss ich benutzen?
L.g.
Maryouma
|
|
|
Sco |
Forum-Meister
|
|
Beiträge: 699
|
|
|
|
Anmeldedatum: 15.08.10
|
|
|
|
Wohnort: Dundee
|
|
|
|
Version: 2008a, 2010a
|
|
|
|
|
|
Verfasst am: 25.03.2011, 11:56
Titel:
|
|
Hallo,
also ich verstehe dein Problem auch nicht. Wenn du einen Fixpunkt mit bekannten Koordinaten und den Abstand zu den anderen Punkten hasst, dann lassen sich doch auch die Koordinaten der anderen Punkte berechnen?
Zitat: |
welche Code muss ich benutzen?
|
Am besten du zeigst erstmal deinen bisherigen Code und dann koennen wir an etwaigen Problemem basteln. Einen ganzen Code fuer dein Problem wird dir hier niemand bereitstellen koennen.
MFG
Sco
|
|
|
maryouma |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 21.03.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.03.2011, 12:10
Titel:
|
|
Hallo Sco,
so bin ich bisher gekommen:
xw=2460;
yw=1315;
for i=1:size(area,1)
distance([area(i).Centroid(1) xw], [area(i).Centroid(2) yw]);
min (distance([area(i).Centroid(1) xw], [area(i).Centroid(2) yw]));
end
Mein Problem ist dass ich nach der Berechnung dem Abstand die Koordinaten der anderen Punkte nicht berechnen kann
Mfg
Maryouma
|
|
|
aj.geissler |
Forum-Guru
|
|
Beiträge: 251
|
|
|
|
Anmeldedatum: 26.11.07
|
|
|
|
Wohnort: Seeheim-Jugenheim
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.03.2011, 12:12
Titel:
|
|
Hi,
in SciLab habe ich mal folgenden Code erstellt:
Innerhalb der while-Schleife suche ich von komplexen Punkten immer den nächstgelegenen Punkt. Dieser wird in den Ergebnisvektor angehängt und aus dem ursprünglichen Vektor entfernt.
Hauptfunktionen hierbei:
find (gibt es auch in Matlab)
min ( " )
%i (imaginäre Einheit)
Beispiel:
p=rand(1,10) + %i .*rand(1,10);
pout=pointsort(p,p(1))
plot(real(p),imag(p),'b*');
plot(real(pout),imag(pout),'r-'); % Bei matlab mit Hold on arbeiten
Kommt das so ungefähr hin ?
Bei SciLab könntest Du auch die metNet-Toolbox (Graphentheorie) hierfür verwenden.
Jetzt musst Du nur die Bildpunkte in komplexe zahlen wandeln.
Grüße
Andreas
|
|
|
maryouma |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 21.03.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.03.2011, 09:53
Titel:
|
|
Hallo Andreas,
Vielen Dank für dein Antwort!
ich habe ein paare Sachen, die ich nicht verstanden habe, und zwar die Rolle der Funktion "argn()"
Jedes mal wenn ich Befehl "pointsort(pold,pfix)" eingebe kriege ich die Meldung "??? Undefined function or method 'pointsort' for
input arguments of type 'double'." wieso denn?
soll ich alles auf Scilab anwenden und was ist der Unterschied zwischen Matlab und Scilab?
Vielen dank noch einmal!
Maryouma
|
|
|
aj.geissler |
Forum-Guru
|
|
Beiträge: 251
|
|
|
|
Anmeldedatum: 26.11.07
|
|
|
|
Wohnort: Seeheim-Jugenheim
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.03.2011, 14:43
Titel:
|
|
Hi,
argn ist ein spezieller SciLab-Befehl. Er ermittelt, wie viele Ein- und Ausgabeargumente verwendet werden. Den gibt es so in Matlab nicht.
In Matlab gibt es dafür die Befehl nargin und nargout (nargchk ?)
Falls Du also immer mit einem oder zwei Befehlen arbeitest, einfach weglassen.
Grüße
Andreas
|
|
|
|
|
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.
|
|