绘制直方图&直方图均衡化&展示灰度变换函数&绘图方法复习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

 

 


前言

在进行图像处理时,绘制直方图和直方图均衡化是常见的图像处理方法。今天我将学习绘制直方图和直方图均衡化的内容并温习绘图方法的表示


一、简要介绍

matlab中绘制直方图的核心函数是imhist函数;直方图均衡化的函数是histeq函数。一般只需要调用这两个函数就可以完成要求操作。

如果要绘制柱状的直方图,常用的函数是bar函数;如果要绘制茎秆图,常用的函数是stem函数;如果要将各点连接起来,常用的函数是plot函数

 

二、代码展示

I1=imread('breast.tif');
I2=imadjust(I1,stretchlim(I1),[0,1],1);
I3=imhist(I2);%直接绘制直方图
g=imhist(I2,25);%将绘制的直方图分成25段(相当于纵坐标)
horz=linspace(0,255,25);%给出横坐标,将0—255的区间均分为255段
subplot(2,3,1),imshow(I2),title('原图');
subplot(2,3,2),imhist(I2),title('直方图');
%将horz做为横坐标,g作为纵坐标绘制棒状图。其中x轴总的范围为(0,255)且每一小段长50;y的总的范围为(0,60000)且每一小段长20000,
subplot(2,3,3),bar(horz,g),axis([0 255 0 60000]),set(gca,'xtick',0:50:255),set(gca,'ytick',0:20000:60000);
%gca在这里的意思是抓取的意思,后面的xtick意味着对x轴进行操作,ytick则意味着对y轴进行操作
subplot(2,3,4),stem(horz,g,'b-..'),axis([0 255 0 60000]),set(gca,'xtick',0:50:255),set(gca,'ytick',0:20000:60000);
subplot(2,3,5),plot(horz,g,'b-..'),axis([0 255 0 60000]),set(gca,'xtick',0:50:255),set(gca,'ytick',0:20000:60000);

I4=imread('pollen.tif');
I5=histeq(I4,256);%直方图均衡化处理
figure(2)
subplot(221),imshow(I4),title('原图');
subplot(222),imhist(I4),title('原图直方图'),ylim('auto');%ylim意味着自动对y轴进行划分,更加便利
subplot(223),imshow(I5),title('直方图均衡化后图像'),ylim('auto');
subplot(224),imhist(I5),title('直方图均衡化后图像直方图'),ylim('auto');

hnorm=imhist(I4)./numel(I4);%直方图均衡化的另一种表示方法
cdf=cumsum(hnorm);%该做法可以得到变换函数
figure(3)
x=linspace(0,1,256);
plot(x,cdf),axis([0 1 0 1]),set(gca,'xtick',0:0.2:1),set(gca,'ytick',0:0.2:1),xlabel('输入灰度值'),ylabel('输出灰度值');

​

三、结果展示


总结

直方图均衡化对于动态范围较窄,整体偏灰暗的图像进行对比度的调整具有很好的效果。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值