如何输出rgb2hsv的结果(导致颜色值在0-1之间)作为uint8图像?

时间:2013-12-12 04:50:20

标签: image matlab image-processing computer-vision

我想将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.

1 个答案:

答案 0 :(得分:1)

使用sDiff = uint8(sDiff.*256);将其转换为uint8格式