我想将2个RGB图像转换为HSV图像,然后计算两个图像之间的饱和度差,并将得到的图像输出为uint8
图像。这是我尝试过的代码,但uint8
将强度转换为1或0,从而基本上生成二进制图像。
inputImage = rgb2hsv(inputImage);
background = rgb2hsv(background);
sDiff = imabsdiff(background(:,:,2), inputImage(:,:,2));
sDiff = uint8(sDiff);
figure, imshow(sDiff, []);
不过它输出的是二进制图像。我试过了:
gDiff = double(sDiff) * 255;
但是得到的强度要么是255,要么是0。
使用sDiff = uint8(sDiff.*256);
将其转换为uint8格式的