我正在使用MATLAB对图像处理进行一些研究,并且我使用rgb2gray
和rgb2hsv
以两种不同的方式创建了灰度强度图像,如下所示:
read_image = imread(handles.myImage);
bc_gambar2 = imresize(read_image,[280 540]);
g = rgb2gray(bc_gambar2); % First intensity image
g2 = rgb2hsv(bc_gambar2);
g = g2(:,:,3); % Second intensity image
使用rgb2hsv
和索引而不是使用rgb2gray
,结果似乎更好。谁能告诉我它的区别是什么以及它为什么会发生?
这是我使用的示例图像(如果需要):
答案 0 :(得分:1)
rgb2hsv
用于计算值(即亮度)通道的计算与rgb2gray
用于计算灰度强度的计算不同。它们分别由the second and fourth bullet points here描述。简言之:
价值渠道(rgb2hsv
)的计算是:
g = max(bc_gambar2, [], 3);
灰度强度(rgb2gray
)的计算是:
g = 0.299.*bc_gambar2(:, :, 1) + ...
0.587.*bc_gambar2(:, :, 2) + ...
0.114.*bc_gambar2(:, :, 3);
有关不同颜色空间的更多信息,请参见here。