我是OpenCV的新手,正在学习分水岭算法。但我遇到了一个问题。
为了使用分水岭,我必须将图像颜色转换为灰度。当我使用BGR颜色空间时,没有问题,但是在HSV中,我不确定以下代码是否正确。
Mat im = imread("./Image/118035.jpg", CV_LOAD_IMAGE_COLOR);
Mat imHSV;
cvtColor(im, imHSV, CV_BGR2HSV);
imshow("HSV", imHSV);
cvtColor(imHSV, imHSV, CV_BGR2GRAY);
imshow("HSV to gray", imHSV);
imshow("BGR", im);
cvtColor(im, im, CV_BGR2GRAY);
imshow("BGR to gray", im);
我认为,在从BGR转换为HSV后,色调=蓝色,饱和度=绿色,亮度=红色,我可以使用BGR2GRAY运算符将其从HSV转换为灰度。
这两个输出图像是不同的。我能像这样将HSV转换为灰度吗?
//这与LAB颜色空间类似吗?