【MATLAB图像处理】直方图均衡化

这篇具有很好参考价值的文章主要介绍了【MATLAB图像处理】直方图均衡化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

直方图均衡化有以下几个好处:

  1. 增强图像对比度:直方图均衡化可以通过重新分配像素值来增强图像的对比度。这可以使得图像中的细节更加清晰可见,从而提高图像的质量和可读性。

  2. 均衡化图像亮度:直方图均衡化可以将图像的亮度均衡化,使得图像的整体亮度更加均匀,从而避免了图像中出现过亮或过暗的区域。

  3. 提高算法效果:直方图均衡化可以改善图像的质量和可读性,从而提高了图像处理算法的表现。例如,在图像分割、目标检测和人脸识别等应用中,直方图均衡化可以提高算法的准确性和鲁棒性。

  4. 简单易实现:直方图均衡化是一种简单而有效的图像处理技术,实现起来非常容易。因此,它被广泛应用于数字图像处理领域,特别是在计算机视觉和图像分析领域。

总之,直方图均衡化是一种非常有用的图像处理技术,它可以提高图像的质量和可读性,同时也可以提高图像处理算法的效果。

 imhist()

imhist()是MATLAB中的一种图像处理函数,用于计算和绘制图像的直方图。该函数可以帮助用户了解图像中各个灰度级的像素数量分布情况,以便进行灰度级调整、对比度增强和图像分割等操作。

imhist()函数的语法如下:

[N, X] = imhist(I, nbins)

其中,I表示输入图像,nbins表示直方图中的bin数。函数会返回一个长度为nbins的向量N,其中N(i)表示图像中灰度值等于i的像素数量;另一个向量X表示各个bin的灰度值范围

除了计算直方图外,imhist()函数还可以绘制直方图,以便更直观地了解图像的灰度分布情况。绘制直方图的语法如下:

imhist(I, nbins)

imhist()函数的返回值为空,函数会在新的图像窗口中绘制直方图。用户还可以通过一些可选参数来控制直方图的样式和显示方式,例如调整线条颜色、线型、透明度和坐标轴刻度等。

总之,imhist()函数是一种非常有用的图像处理函数,它可以帮助用户快速计算和可视化图像的直方图,从而更好地理解和分析图像的灰度级分布情况。

imadjust()

imadjust()是MATLAB中的一种图像处理函数,用于对图像进行灰度值调整。该函数可以对输入图像的灰度值进行线性或非线性变换,以便将其调整到期望的输出范围内。imadjust()函数的语法如下:

J = imadjust(I, [low_in high_in], [low_out high_out], gamma)

其中,I表示输入图像,J表示输出图像。[low_in high_in]指定输入图像中需要进行调整的灰度值范围,[low_out high_out]指定输出图像中需要映射到的灰度值范围。gamma是一个可选参数,用于指定非线性调整的程度。

imadjust()函数可以实现以下几种功能:

  1. 灰度值拉伸:将输入图像的像素值映射到输出图像的灰度值范围内,以增强图像的对比度和亮度。

  2. 直方图均衡化:将输入图像的直方图进行均衡化,以使得输出图像中各个灰度级出现的概率尽可能接近。

  3. 对数变换:对输入图像的灰度值进行对数变换,以便将灰度值范围较大的区域展开,使得图像细节更加清晰可见。

  4. 伽马校正:对输入图像的灰度值进行非线性变换,以调整图像的亮度和对比度。

其中,参数I是需要进行对比度和亮度调整的原始图像;[low_in high_in]是输入图像中需要拉伸的最低和最高像素值;[low_out high_out]是输出图像中对应的像素值;gamma是伽马校正因子,用于控制输出图像的亮度范围。

总之,imadjust()函数是一种非常有用的图像处理函数,它可以帮助用户快速实现各种灰度值调整操作,从而提高图像质量和可读性。


 


举例

1.将单幅的直方图划分为四种灰度级显示

I=imread('pollen.jpg');
f=rgb2gray(I);
subplot(3,2,1),imshow(f),title('原图');
subplot(3,2,3),imhist(f,256),title('划分256个灰度级');
subplot(3,2,4),imhist(f,128),title('划分128个灰度级');
subplot(3,2,5),imhist(f,64),title('划分64个灰度级');
subplot(3,2,6),imhist(f,32),title('划分32个灰度级');

matlab直方图均衡化,图像处理,matlab,计算机视觉

        通过将同一幅直方图分为不同的灰度级显示,观察纵坐标轴,可以发现:当灰度级划分的越多,直方图越密集,单个灰度等级上的像素数就越少;当灰度级划分的越少,直方图越稀疏,单个灰度等级上的像素数就越多。


 2.四种不同状态的pollen.jpg观察均衡化前后的直方图

I=imread('pollen.jpg');
I1=imadjust(I,[0.1 0.4],[],1);
I2=imadjust(I,[],[0.2 0.5],1);
I3=imadjust(I,[],[],0.3);
I4=imadjust(I,[],[],1.2);
f1=rgb2gray(I1);
Ieq1=histeq(f1);
f2=rgb2gray(I2);
Ieq2=histeq(f2);
f3=rgb2gray(I3);
Ieq3=histeq(f3);
f4=rgb2gray(I4);
Ieq4=histeq(f4);
subplot(4,4,1),imshow(f1),title('高对比度');
subplot(4,4,2),imhist(f1,256),title('高对比度直方图');
subplot(4,4,3),imshow(Ieq1),title('均衡化');
subplot(4,4,4),imhist(Ieq1,256),title('均衡化直方图');
subplot(4,4,5),imshow(f2),title('低对比度');
subplot(4,4,6),imhist(f2,256),title('低对比度直方图');
subplot(4,4,7),imshow(Ieq2),title('均衡化');
subplot(4,4,8),imhist(Ieq2,256),title('均衡化直方图');
subplot(4,4,9),imshow(f3),title('高亮度');
subplot(4,4,10),imhist(f3,256),title('高亮度直方图');
subplot(4,4,11),imshow(Ieq3),title('均衡化');
subplot(4,4,12),imhist(Ieq3,256),title('均衡化直方图');
subplot(4,4,13),imshow(f4),title('低亮度');
subplot(4,4,14),imhist(f4,256),title('低亮度直方图');
subplot(4,4,15),imshow(Ieq4),title('均衡化');
subplot(4,4,16),imhist(Ieq4,256),title('均衡化直方图');

matlab直方图均衡化,图像处理,matlab,计算机视觉

        通过观察四种状态pollen.jpg的均衡前直方图可以得到:高对比的的图像灰度分布较宽(单个灰度级上的像素数更少),因为高对比度就意味着黑的更黑且白的更白,使得灰度等级被加宽;低对比度的图像灰度分布较窄(单个灰度级上的像素数更多),因为低对比度就意味着黑的变白且白的变黑,使得灰度等级被压缩;高亮度的图像每个灰度都变白,低亮度的图像每个灰度等级都变黑,因此在直方图上高亮度与低亮度图像的灰度分布形状相似。

        通过观察四种状态pollen.jpg的均衡后直方图可以得到:对比度高的图作直方图均衡化处理前后得到的图像变化不大,因为均衡化会拉宽像素的灰度分布,而高对比度意味着灰度宽度本就较宽即细节更丰富,因此对高对比度的图像做均衡化处理就不会差生太大的差异。而低对比度、高亮度与低亮度三种图片做均衡化后相对于均衡化前就会产生较大的差异,即均衡化前图片细节不清晰但均衡化后比度更高也就使细节更清晰,亮度分布更均匀。文章来源地址https://www.toymoban.com/news/detail-713483.html

到了这里,关于【MATLAB图像处理】直方图均衡化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C#使用OpenCv(OpenCVSharp)图像直方图均衡化处理实例

    本文实例演示C#语言中如何使用OpenCv(OpenCVSharp)对图像进行直方图均衡化处理。 直方图均衡化原理 直方图均衡化(Histogram Equalization)是一种常用的图像增强技术,用于改善图像的对比度和亮度分布。它通过重新分配图像灰度级的像素值,使得图像的直方图在灰度范围内更加

    2024年02月07日
    浏览(41)
  • python数字图像处理基础(七)——直方图均衡化、傅里叶变换

    均衡化原理 图像均衡化是一种基本的图像处理技术,通过更新图像直方图的像素强度分布来调整图像的全局对比度。这样做可以使低对比度的区域在输出图像中获得更高的对比度。 简单理解:改变图像对比度,让色彩更丰富,灰度值直方图:瘦高 - 均衡 本质上,直方图均衡

    2024年01月18日
    浏览(40)
  • FPGA图像处理与直方图均衡化的综合应用:理论支撑、仿真波形与详细代码

    FPGA直方图均衡化 直方图拉伸 FPGA图像处理 工程和算法包含以下内容: 1,MATLAB中实现图像处理。 2,verilog代码利用MATLAB联合modelsim仿真实现的图像处理。 3,小梅哥AC620和正点原子新起点 开拓者的FPGA板卡上实现的图像处理。 4,效果展示。 有理论支撑,有仿真波形,有详细代

    2024年04月27日
    浏览(22)
  • 【matlab图像处理】图像直方图操作和matlab画图

    中国史之【平王东迁】: 公元前771年,因镐京曾遭地震,残破不堪,又接近戎、狄等外患威胁,周平王遂在郑、秦、晋等诸侯的护卫下,将国都东迁至洛邑,东周历史由此开始。 ——来源:全历史APP 【路漫漫其修远兮,吾将上下而求索】 今天介绍图像的直方图操作以及用

    2024年02月04日
    浏览(32)
  • (数字图像处理MATLAB+Python)第五章图像增强-第二节:基于直方图修正的图像增强

    基于直方图修正的图像增强 :是一种常见的图像处理方法。该方法通过对图像的像素值分布进行调整,以改善图像的对比度和亮度等视觉效果。具体地,直方图校正方法将图像的像素值转换为一个新的值域范围,使得像素值的分布更加均匀,从而增强图像的细节和对比度。这

    2023年04月19日
    浏览(32)
  • Python图像增强之直方图均衡化(全局直方图均衡、局部直方图均衡)

    图像增强是有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。 图像增强通常划分

    2024年02月13日
    浏览(27)
  • OpenCV10-图像直方图:直方图绘制、直方图归一化、直方图比较、直方图均衡化、直方图规定化、直方图反射投影

    图像直方图就是统计图像中每个灰度值的个数,之后将灰度值作为横轴,以灰度值个数或者灰度值所占比率作为纵轴的统计图。通过直方图,可以看出图像中哪些灰度值数目较多,哪些较少,可以通过一定的方法将灰度值较为集中的区域映射到较为稀疏的区域,从而使图像在

    2024年01月16日
    浏览(35)
  • 彩色图像处理之彩色图像直方图处理的python实现——数字图像处理

    彩色图像的直方图处理是一种重要的图像处理技术,用于改善图像的视觉效果,增强图像的对比度,或为后续的图像处理任务(如图像分割、特征提取)做准备。彩色图像通常由红色(R)、绿色(G)、蓝色(B)三个颜色通道组成,因此彩色图像的直方图处理相比单色图像更

    2024年01月23日
    浏览(45)
  • 我在Vscode学OpenCV 图像处理五(直方图处理)

    直方图是一种统计图,显示了图像中每个灰度级别(或颜色通道)的像素数量。通过分析图像的直方图,可以获得关于图像对比度、亮度和颜色分布等方面的重要信息。 了解图像的对比度、亮度和色彩分布等信息。你可以使用OpenCV中的函数来计算和绘制图像的直方图,从而进

    2024年01月21日
    浏览(48)
  • Python-OpenCV中的图像处理-图像直方图

    通过直方图你可以对整幅图像的灰度分布有一个整体的了解。直方图的 x 轴是灰度值( 0 到 255), y 轴是图片中具有同一个灰度的点的数目。 BINS:上面的直方图显示了每个灰度值对应的像素数。如果像素值为 0到255,你就需要 256 个数来显示上面的直方图。但是,如果你不需

    2024年02月12日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包