Map mit 2d array
-
Hallihallo!
Ich schreibe gerade ein Programm was ein Bild durchlaufen soll um bestimmte Pixel zu finden, z.B. alle mit dem Wert 255 (Grauwertbild). Die Dinger bekommen dann einen eindeutigen label. Später will ich dann abfragen, ob an Position x,y ein Pixel ist, der einen Label bekommen hat und was der Label für einen Wert hat.
Das wollte ich nun geschickterweise mit einer Map realisieren. Also wenn ich einen Pixel finde will ich ein neues Paar [x,y]->label erstellen. Jaaa, und da gehts dann los. Das würde ja heißen, dass meine Map so aussieht:
std::map<int[2],int,compare> mymap1;Die Frage der Fragen ist nun, wie bekomme ich das mit dem compare hin?? Und warum? Ich hab bisher nur Beispiel gefunden, die str_cmp benutzen, was ja wohl eine existierende AnsiC Funktion ist... ?
-
Was genau verstehst du daran nicht?
Hier gibts ein Beispiel für map:
http://www.cplusplus.com/reference/stl/map/map/
-
Cool, ich hab so viel gesucht und gefunden, nur nicht so ein Beispiel.
Dankeschön

-
Soweit so gut. Wie sich rausstellt ist das was ich vorhabe alles andere als trivial (array als key). Damit das hier doch noch jemandem hilft, der über das Posting stolpert:
http://www.daniweb.com/forums/thread159250.html
Hier wird auch darüber diskutiert, wie man das mit dem array umgehen kann.
Ich mache es jetzt einfach so, dass ich aus dem 2d Array [x,y] einfach einen eindimensionalen long mache mit dem Wert y*width+x. Damit kann ich, wie ich es ja wollte auch nach Nachbarpixeln suchen.