概述
灰度级范围为[0,L-1]的数字图像的直方图是离散函数h(rk) = nk,其中rk是第k级灰度值,nk使图像中灰度为rk的像素个数。
在实践中,经常用乘积MN表示的图像像素的总数除它的每个分量来归一化直方图,M、N分别是图像行和列的维数。归一化后的直方图即为p(rk) = nk/MN,其中 k = 0,1,... L-1。
可以理解为p(rk)是灰度级在图像中出现的概率的一个估计。归一化后直方图所有分量的和应该为1。
可以看到运行结果:
下面给出归一化直方图的函数。
% -------------------------------------------------------------------------
% Author:xingdapai
% Time: 2020/03/01
% -------------------------------------------------------------------------
% Get_Histogram: 求直方图
% 输入(图像矩阵)
% 返回直方图数列,值域0-1之间
% -------------------------------------------------------------------------
function outputList = Get_Histogram(inputImg)
inputImg = uint8(inputImg);
outputList = zeros(1, 256);
[imgHeight, imgWidth] = size(inputImg);
for i = 1 : imgHeight
for j = 1 : imgWidth
grayLvl = inputImg(i, j) + 1;
outputList(grayLvl) = outputList(grayLvl) + 1;
end %for j
end %for i
outputList = outputList / (imgHeight * imgWidth);
最后
以上就是明理保温杯为你收集整理的获取直方图Matlab代码实现 数字图像处理的全部内容,希望文章能够帮你解决获取直方图Matlab代码实现 数字图像处理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复