Я искал интернет и тщательно StackOverflow, но я не нашел ответ на мой вопрос:Доступ к определенному пиксельному значению RGB в OpenCV
Как я могу получить/установить (как) RGB значение определенных (заданное по й , y координат) в OpenCV? Что важно - я пишу на C++, изображение хранится в переменной cv :: Mat. Я знаю, что есть оператор IplImage(), но IplImage не очень удобен в использовании - насколько я знаю, он исходит из C API.
Да, я знаю, что уже была эта лента Pixel access in OpenCV 2.2, но это были только черно-белые растровые изображения.
EDIT:
Большое спасибо за все ваши ответы. Я вижу, что есть много способов получить/установить значение RGB пикселя. У меня есть еще одна идея от моего близкого друга - спасибо Бенни! Это очень просто и эффективно. Я думаю, что это вопрос вкуса, который вы выбираете.
Mat image;
(...)
Point3_<uchar>* p = image.ptr<Point3_<uchar> >(y,x);
И тогда вы можете прочитать значения/записи RGB с:
p->x //B
p->y //G
p->z //R
Можете ли вы предложить мне то же самое с использованием Ipl Image.? – Frankenstein
Конечно! проверить cvGet2D http://docs.opencv.org/modules/core/doc/old_basic_structures.html?#CvScalar%20cvGet2D%28const%20CvArr%2a%20arr,%20int%20idx0,%20int%20idx1%29 – Boaz
Можете ли вы Помогите мне написать то же самое с помощью IplImage ..? – Frankenstein