Ich habe das Internet und den Stackoverflow gründlich durchsucht, aber keine Antwort auf meine Frage gefunden:
Wie kann ich (beide) RGB-Werte bestimmter (durch x, y-Koordinaten gegebener) Pixel in OpenCV abrufen / einstellen? Was wichtig ist - ich schreibe in C ++, das Bild wird in der Variablen cv :: Mat gespeichert. Ich weiß, dass es einen IplImage () -Operator gibt, aber IplImage ist nicht sehr benutzerfreundlich - soweit ich weiß, stammt es von der C-API.
Ja, mir ist bekannt, dass es diesen Pixelzugriff bereits im OpenCV 2.2- Thread gab, aber es ging nur um Schwarz-Weiß-Bitmaps.
BEARBEITEN:
Vielen Dank für all Ihre Antworten. Ich sehe, dass es viele Möglichkeiten gibt, den RGB-Wert eines Pixels zu erhalten / einzustellen. Ich habe noch eine Idee von meinem engen Freund - danke Benny! Es ist sehr einfach und effektiv. Ich denke, es ist Geschmackssache, welche Sie wählen.
Mat image;
(...)
Point3_<uchar>* p = image.ptr<Point3_<uchar> >(y,x);
Und dann können Sie RGB-Werte lesen / schreiben mit:
p->x //B
p->y //G
p->z //R