我正在使用 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
更好。谁能告诉我有什么区别以及为什么会发生这种情况?
这是我正在使用的示例图像(如果需要):
最佳答案
rgb2hsv
使用的计算计算值(即亮度)的 channel 与 rgb2gray
使用的 channel 不同计算灰度强度。它们由 the second and fourth bullet points here 描述。 , 分别。简而言之:
值 channel (
rgb2hsv
) 的计算为:g = max(bc_gambar2, [], 3);
灰度强度 (
rgb2gray
) 的计算为:g = 0.299.*bc_gambar2(:, :, 1) + ... 0.587.*bc_gambar2(:, :, 2) + ... 0.114.*bc_gambar2(:, :, 3);
有关不同色彩空间的更多信息可以找到 here .
关于matlab - HSV 和灰度强度有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43949582/