matlab 的直方图均衡化

histeq

功能:直方图均衡化。

用法:
       J = histeq(I,hgram)  将原始图像I的直方图变成用户指定的向量hgram。hgram中的各元素的值域为[0,1]。
       J = histeq(I,n)  指定直方图均衡后的灰度级数n,默认值为64。
       [J,T] = histeq(I,...)  返回从能将图像I的灰度直方图变换成图像J的直方图变换T。

       newmap = histeq(X,map,hgram)
       newmap = histeq(X,map)
       [newmap,T] = histeq(X,...)  
       这三个是针对索引图像调色板的直方图均衡化,用法和灰度图像的一样。
举例:
       I = imread('tire.tif');
       J = histeq(I);
       imshow(I)

       figure, imshow(J)


>> f = imread('C:\Users\Administrator\Desktop\an.jpg');
>> fg = rgb2gray(f);
>> figure,imhist(fg)
>> imshow(fg)
>> figure,imhist(fg)
>> ylim('auto')
>> g = histeq(fg,256);  %直方图均衡化。
>> figure , imshow(g)
>> figure , imhist(g)  %显示直方图

下面是效果:

均值化前:

均值化后:

在之后的图片中我们可以得到更多的信息。


累积分布函数(cdf)

>> hnorm = imhist(fg)./numel(fg);
>> cdf = cumsum(hnorm);

>> x = linspace(0,1,256);

>> plot(x,cdf)

>> axis([0 1 0 1])
>> set(gca,'xtick',0:.2:1)
>> set(gca,'ytick',0:.2:1)
>> xlabel('Input intensity values','fontsize',9)
>> ylabel('Output intensity values','fontsize',9)
>> text(0.18,0.5,'Transformation function','fontsize',9)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值