求彩色图像的灰度直方图(Matlab)

原理

  • 使用rgb2gray将彩色图形转成灰度图像。
  • 遍历灰度图像每个像素,根据其灰度保存在灰度数组的不同位置。
  • 使用bar函数展示灰度数组,并与imhist函数结果对比,进行验证。

效果

原图
左侧为imhist函数结果,右侧为实现结果

代码

clear all;
ima = imread('1.jpg');
grayIma = rgb2gray(ima);
array = zeros(1, 256);
[height, width] = size(grayIma);
for row = 1:1:height
    for col = 1:1:width
        pos = grayIma(row, col);
        array(1, pos) = array(1, pos) + 1;
    end
end
subplot(1,2,1);
imhist(grayIma);
subplot(1,2,2);
bar(array);

You may also like...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注