Я ретельно шукав Інтернет та stackoverflow, але не знайшов відповіді на своє запитання:
Як я можу отримати / встановити (обидва) значення RGB певного (заданого координатами x, y) пікселя в OpenCV? Що важливо - я пишу на C ++, зображення зберігається у змінній cv :: Mat. Я знаю, що існує оператор IplImage (), але IplImage не дуже зручний у використанні - наскільки я знаю, це походить від C API.
Так, я знаю, що цей доступ до пікселів вже був у потоці OpenCV 2.2 , але мова йшла лише про чорно-білі растрові зображення.
РЕДАГУВАТИ:
Щиро дякую за всі ваші відповіді. Я бачу, що існує багато способів отримати / встановити значення RGB пікселя. Я отримав ще одну ідею від мого близького друга - дякую Бенні! Це дуже просто та ефективно. Я думаю, що справа смаку, який із них ви виберете.
Mat image;
(...)
Point3_<uchar>* p = image.ptr<Point3_<uchar> >(y,x);
І тоді ви можете читати / писати значення RGB за допомогою:
p->x //B
p->y //G
p->z //R