Я использую OpenCV для некоторых моих кодов обработки изображений. Я застрял в определенной точке.Доступ к информации о пикселях в цветовом пространстве CIE L * a * b *
В конкретном коде мне нужно сравнить значения пикселей изображения на основе его значений CIE L * a * b *. Я знаю, для BGR мы можем сделать что-то вроде этого:
// img is the image, suppose
uchar *data = (uchar*)img->imageData;
for(i=0; i< img->height; i++)
for(j=0; j<img->width; j++)
{
b = data[i*img->widthStep + j*img->nChannels + 0];
g = data[i*img->widthStep + j*img->nChannels + 1];
r = data[i*img->widthStep + j*img->nChannels + 2];
}
Мой вопрос, можем ли мы сделать что-то подобное для л * а * Ь * цвет модели также? Я имею в виду я сначала преобразовать изображение по
cvCvtColor(img, lab, CV_BGR2Lab);
затем получить доступ к индивидуальной информации канала, как и в предыдущем случае (с L * A * B * также состоит из 3-х каналов, если не ошибаюсь), может мы получаем значения пикселей?
Причина, по которой я прошу об этом, я попытался ее реализовать, но я получаю некоторые реальные странные значения, такие как очень высокие отрицательные числа (я использовал int datatype вместо uchar, так как я не знал о диапазоне «a» и «b» может иметь), тогда как в Википедии я видел, что «L» может иметь значения только в диапазоне от 0 до 100. Так как же я могу получить эти значения пикселей?
Спасибо заранее!
oops !! извините, я забыл упомянуть, что я использовал тип данных int, так как я не был уверен в диапазоне значений «a» и «b». Итак ... Но поскольку вы дали конкретные диапазоны, мне стало намного легче реализовать его. Большое спасибо !! – Koustav
16-бит не поддерживается для этого типа конвертации в OpenCV (по крайней мере, согласно предоставленной мне ссылке), может быть, это тоже проблема? –
Ссылка, которую вы предоставили, была действительно полезна. Теперь я мог получить то, что хотел, используя несколько настроек здесь и там. Поэтому я думаю, что это сортировка, пока не появятся новые ошибки. Спасибо чувак..!! Следующая работа - кластеризация, поэтому, я думаю, скоро я отправлю еще один вопрос: P – Koustav