imread函数 matlab_MATLAB中的直方图处理及均衡化

ce4e16c230e8d9b53c35c76cc3d5af0e.png

直方图是多种空间域处理技术的基础。仿图操作能有效地用于图像增强,直方图固有的信息在其他图像处理应用中也是非常有用的,如图像压缩与分割。訪图在软件中易于计算,也适用于商用硬件设备,因此直方图成为实时图像处理的一个流行工具。

在MATLAB中,我们使用imhist函数来显示一-幅图像的直方图。

一.imhist函数

imhist函数多用于根据导入的图像绘制直方图,应用范围较广,其基本语法是:

h=imhist(f,b)

其中的f是输入的图像,h为其直方图,b是灰度级的个数。默认情况下,可直接写作:

imhist(f)

例如,导入一张图片,然后运行:

I=imread('hx.jpg');
imhist(I)

c7f2e63058f948b8d315777f31e274d9.png

可以看到,我们这里已经绘制出了这幅图片的直方图。

二.直方图处理实践

题目:自定义一个函数,将输入图像(hx.jpg)进行直方图均衡化处理,该函数输入参数为处理前的图像,输出处理后的图像并显示处理过程中的灰度直方图。

aa75d322e8d72de5133b335046dd5dbc.png

1.读取图像并显示

I=imread('hx.jpg');   %读入图像
figure
subplot(2,3,1);     %在窗口中排列图像
imshow(I)     %X显示图像
title('原始图像');      %赋标题

2.转化为灰度图

J=rgb2gray(I);     %转化为灰度图
subplot(2,3,2);
imshow(J);
title('原图像灰度图');

3.绘制灰度直方图

subplot(2,3,3);
imhist(J);
title('灰度直方图');

4.直方图均衡化,这里用到了adapthisteq函数,adapthisteq函数使用限制对比度的自适应直方图均衡化 (CLAHE) 来变换值,从而增强灰度图像I的对比度[1]。

subplot(2,3,4);
H=adapthisteq(J);     %对灰度直方图均衡化处理
imhist(H);
title('直方图均衡化');

5.输出均衡化后的图像。

subplot(2,3,5);
imshow(H);
title('均衡化后的图像');

b5f52cfa617cf395fe8e8579cf309e5f.png

运行结果如图所示,可以看到我们处理的效果还是不错的。

另外直方图的均衡化可以通过一串源代码来实现,由于篇幅有限,我放到公众号了,编程实现的代码请到公众号回复 直方图均衡化 获取。

好了,今天的分享就到这里,关注我,每天更新matlab相关内容,获取更多知识可以关注下我们的公众号Asoul水云天课堂,也可以加qq群953314432,一个人学习也许会迷路,一群人学习绝不会孤单。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值