Koordinaten Sortierproblem

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
R0b
Beiträge: 3
Registriert: 3. Februar 2014 14:20

Koordinaten Sortierproblem

Beitrag von R0b »

Hallo Leute,
ich hänge gerade über einem kleinen Sortierproblem. Eigentlich kein Problem aber gerade hab ich ein ziemliches Brett vorm Kopf.

Ich arbeite mit OpenCV und habe 110 Koordinaten aus einem Bild extrahiert und in einem vector<Point2f> gespeichert. Nun möchte ich sie im Bild von oben links nach unten rechts sortieren. Die Punkte sind schon in Y-Richtung sortiert so das die ersten Zehn Punkte im vector die obere Reihe darstellen, die nächsten Zehn die zweite reihe usw.. Das ganze sieht im Bild aus wie eine 10x11 Matrix. Nun müssen sie noch in X-Richtung sortiert werden. Problem ist das einige X-Koordinaten aus Reihe zwei kleiner sein können als zB. die aus Reihe eins oder einer anderen beliebigen Reihe. Es müsste also immer in "10er-Paketen" (Reihe für Reihe) nach X sortiert werden und in einen neuen vector gepusht werden. Hat da zufällig Jemand eine Idee, denn ich steh im Moment echt auf dem Schlauch.
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Re: Koordinaten Sortierproblem

Beitrag von RHBaum »

generell beschreibst du doch grad, das deine Y coordinate bei der sortierung der hoeherwertigere und die X coordinate die niederwertigere Parameter ist. Oder täusch ich mich ?
Dafuer ne lesser funktion zu schreiben, wo auf y geprueft wird, und nur wenn die gleich sind, dann wird sich x angeschaut ... das ist doch kein problem oder ?

Btw gibts das auch scho fertig ^^
std::pair<float,float> sollte genau so sortieren (lesser operator überladen), wenn du y als 1. paramter nimmst ^^

Ciao ...
Antworten