图像灰度变换与直方图均衡化:原理及MATLAB实现
图像灰度变换与直方图均衡化:原理及MATLAB实现
实验目的
- 熟悉和掌握图像的采样原理,实现图像的采样过程,并进行图像的灰度转换;- 理解直方图的概念及应用,实现图像直方图的显示,并通过直方图均衡和直方图规定化方法对图像进行修正。
实验内容
本次实验主要利用MATLAB对图像进行灰度变换和直方图均衡化操作,使用了以下函数:
-
imhist函数:用于数字图像的直方图计算或显示。
- 语法: -
imhist(I,N):计算和显示图像I的直方图,N为指定的灰度级数目,默认为256。如果I是二值图像,那么N仅有两个值。 -[counts,x] = imhist(...):返回直方图数据向量counts,相应的色彩值向量x。
- 语法: -
-
histeq函数:用于数字图像的直方图均衡化。
- 语法: -
J = histeq(I,n):对图像I进行直方图均衡化,n为均衡化后的级数,默认值为64。 -J = histeq(I,hgram):进行'直方图规定化',即将原始图像I的直方图变换成用户指定的向量hgram(即指定另一幅图像的直方图数据向量)。
- 语法: -
-
imadjust函数:用于数字图像的灰度或颜色调整。
- 语法: -
J = imadjust(I):将灰度图像I中的亮度值映射到J中的新值,并使1%的数据在低高强度和饱和,从而增加输出图像J的对比度值。 -J = imadjust(I,[low_in; high_in],[low_out; high_out]):将图像I中的亮度值映射到J中的新值,即将low_in至high_in之间的值映射到low_out至high_out之间的值。函数还提供了默认值[0 1]以及可以使用空的矩阵[]。low_in以下与high_in以上的值被剪切掉了,也就是说,low_in以下的值映射到low_out,high_in以上的值映射到high_out。
- 语法: -
实验总结
通过本次实验,我们掌握了图像的灰度变换和直方图均衡化的方法:
- 图像灰度变换: 利用imadjust函数可以对图像的灰度级进行拉伸,调整图像对比度,使图像细节更加清晰。2. 直方图: imhist函数可以帮助我们直观地了解图像的灰度分布情况,为后续的图像处理提供依据。3. 直方图均衡化: 利用histeq函数可以对图像进行直方图均衡化处理,有效地改善图像的对比度,增强图像的视觉效果。
总之,灰度变换和直方图及其均衡化是图像处理中常用的方法,通过对图像的灰度转换和直方图修正,我们可以改善图像的亮度和对比度,使图像更加清晰和易于分析。
原文地址: https://www.cveoy.top/t/topic/bsHD 著作权归作者所有。请勿转载和采集!