3747a39f535662d4ed3757897b895ffd.png
点击上方“蓝字”,关注我们.

直方图是多种空间域处理技术的基础。仿图操作能有效地用于图像增强,直方图固有的信息在其他图像处理应用中也是非常有用的。

如图像压缩与分割。仿图在软件中易于计算,也适用于商用硬件设备,因此直方图成为实时图像处理的一个流行工具。



imhist函数

01b7a643a4dc192771f4a898e8bd386f.png

在MATLAB中,我们使用imhist函数来显示一-幅图像的直方图。
imhist函数多用于根据导入的图像绘制直方图,应用范围较广,其基本语法是:

h=imhist(f,b)

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

imhist(f)

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

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

5718974e6bac24e2a6737dc6f59347a7.png

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

直方图处理实践

01b7a643a4dc192771f4a898e8bd386f.png

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

faf7a4ccac48816744b65a0c4802394e.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('均衡化后的图像');

727f1983cff09cfbf64f510654b92c99.png

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

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

直方图均衡化

获取。

关于MATLAB的学习:

大家可以关注我们的

知乎专栏——数据可视化和数据分析中matlab的使用:


https://zhuanlan.zhihu.com/c_1131568134137692160


欢迎大家加入我们的MATLAB学习交流群:


953314432

▼往期精彩回顾▼数学建模与MATLAB应用——图与网络模型数学建模与MATLAB–非线性规划数学建模与MATLAB——动态规划
b089707db8208ca6dbb59106f8eb96f2.png
62c778d7442f512827dcf5377b204f54.png
5a338de26cb9168f83cb2222649eada1.gif
扫码关注我们更多精彩等待你发现
出品:Asoul水云天课堂工作室
5a338de26cb9168f83cb2222649eada1.gif



版权声明:本文为weixin_42521731原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_42521731/article/details/113087137