Alex_grem 0 Жалоба Опубликовано February 28, 2010 Как получить значения Hue, Saturation, Value точки на картинке? Картинка в HSV. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Eloy 0 Жалоба Опубликовано March 1, 2010 с помощью cvSplit Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex_grem 0 Жалоба Опубликовано March 10, 2010 с помощью cvSplit Пытаюсь получить след. способом значения H,S,V (см. код) для конкретной точки, но в конечном итоге в массиве hsv содержатся значения цветового пространства RGB...может где-то ошибаюсь? void GetHSV_val(IplImage *frame, int x, int y) { IplImage *hue, *sat, *val, *HSV; uchar *dataHue, *dataSat, *dataVal; hue = cvCreateImage(cvGetSize(frame), frame->depth, 1); //Hue (тон) sat = cvCreateImage(cvGetSize(frame), frame->depth, 1); //Saturation (насыщенность) val = cvCreateImage(cvGetSize(frame), frame->depth, 1); //Value (значение) HSV = cvCreateImage(cvGetSize(frame), frame->depth, 3); cvZero(hue); cvZero(sat); cvZero(val); cvZero(HSV); cvCvtColor( frame, HSV, CV_BGR2HSV); cvSplit(HSV, hue, sat, val, 0); dataHue = (uchar *)hue->imageData; dataSat = (uchar *)sat->imageData; dataVal = (uchar *)val->imageData; hsv[0] = dataHue[x*(hue->widthStep)+y]; hsv[1] = dataSat[x*(sat->widthStep)+y]; hsv[2] = dataVal[x*(val->widthStep)+y]; ................................................................. ................................................................. } [/codebox] Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано March 11, 2010 Для того чтобы получить H, S и V при помощи cvSplit, изображение должно быть в пространстве HSV, а у Вас, судя по всему в RGB - вот и получаете R, G и B. cvSplit не конвертирует изображение, а только разбивает на плоскости, для конвертирования используйте ф-цию: cvCvtColor( object_color, hsv_obj, CV_BGR2HSV ); дальше можно так: // Разобьем hsv по компонентам cvCvtPixToPlane( hsv_obj, h_plane_obj, s_plane_obj, v_plane_obj, 0 ); Вам нужно глянуть тему: http://www.compvision.ru/forum/index.php?showtopic=18 там все это есть. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах