1 计算原理
灰度图只有一个通道,所以可以直接计算亮度直方图。
计算原理:统计各亮度等级出现的频度。
2 代码实现
实现代码:
%% Read in the image
lenaIMG = rgb2gray(imread('lena512color.tiff'));
%% Using API
% histogram(lenaIMG);
% imhist(lenaIMG);
%% My histogram code
% w = width, h = hight
[w, h] = size(lenaIMG);
% Create a 1*256 D matrix, record the intensity value
hcount = zeros([1 256]);
for i = 1:w
for j = 1:h
% Accumulation
hcount(lenaIMG(i, j)) = hcount(lenaIMG(i, j)) + 1;
end
end
% Draw the histogram
stem(0:255, hcount,'.');
title('GRAY IMG HISTOGRAM');
xlabel('Intensity');
ylabel('Frequentness');
% Control axis range
axis([0 255 0 3000]);
易知,直方图的总和为图像的像素之和。
3 效果展示
读入图像:
直方图: