灰度直方图

      灰度直方图统计实际上是一个一维的离散函数,即有:H(k)=nk/N     k=0,j,2,~,L-1


       上式中k代表图像的特征取值,L是特征可取值的个数,nk是图像中具有特征值为k的像素个数,N是图像像素的总数。

      此方法较简单,计算量小,可以粗略地得到颜色的分布特征。然而,该方法有两个缺点:一是只基于灰度,并不能很好的表达出图像的真实颜色信息;二是灰度直方图并不能表达出图片灰度的空间分布。这种表示法虽然简单但是跟人类的视觉感知存在差距。


matlab 代码实现如下:

%%%灰度图象的直方图数据%%% 
clc 
clear all
fn='rice.png';
I=imread(fn);
J=I;

%计算灰度图象的直方图数据  
L=256;%灰度级  
Ps=zeros(L,1)

%统计直方图结果数据  
nk=zeros(L,1);
[row,col]=size(I);

n=row*col;%总像素个数 
  for i=1:row
    for j=1:col
      num=double(I(i,j))+1;%获取像素点灰度级  
      nk(num)=nk(num)+1;%统计nk  
end
end
%计算直方图概率估计  for i=1:L  Ps(i)=nk(i)/n;  end  figure;  
subplot(2,1,1);imshow(J),title('原图');
subplot(2,1,2),plot(nk),title('直方图(nk)');

% 下面几段代码效果和上面的一样。
 p=imhist(I);%生成直方图函数,返回灰度图象直方图数据 
 figure
subplot(2,1,1);imshow(J),title('原图');
subplot(2,1,2),plot(p),title('直方图(p)');

效果如下:


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值