怎么根据数据做直方图,数字图像处理应用实例图,怎么根据数据做直方图,数字图像处理应用实例题
1.简介《数字图像处理:局部直方图处理(Local Histogram Processing) https://blog.csdn.net/LaoYuanPython/article/details/120383974》介绍了一种基于像素邻域的直方图均衡化或直方图匹配的方法。这种局部直方图处理方法克服了上一章《数字图像处理》“直方图均衡化学习概述”和《数字图像直方图匹配或规定化Histogram Matching (Specification)处理》中介绍的全局直方图均衡化和直方图匹配问题,局部直方图处理是局部直方图均衡化和局部直方图均衡化处理的结果。本文介绍了相关方法。
二。基础知识本文所需的数学知识来源于概率统计:
阅读《https://blog.csdn.net/LaoYuanPython/article/details/108864527:人工智能数学基础4:离差、平均差、方差、标准差、协方差、皮尔森相关系数》中介绍的均值差、方差、标准差、方差的相关概念。358 www.sina.com/(期望)是实验中每一个可能的结果概率乘以这个结果的和。因为它反映了随机变量平均值的大小,3358www。Sina.com/(期望)和对给定随机变量x的期望表示为e) x)或有限个集合e,是期望集合数的平均值3358www。Sina.com/(moment),是给定固定点A的各点方差幂的平均值,即A=0时e=[(x-a)]期望,A=平均时均值。数学期望代表一阶原点矩(代表分布的重心),方差代表二阶中心距(代表分散度)。三。图3.1中的统计信息。灰度均值和方差的定义命令R表示表示区间[0,L-1]内灰度值的离散随机变量,ri表示灰度值=I,p的灰度值(ri为
其中m是R的平均值(平均强度,平均灰度),其值如下:
相对于灰度级R平均值的二阶矩如下。
由于二次矩是方差,所以公式(3.3-19)称为http://www.sina.com/(强度方差),通常用表示。
矩
3.2.在定义另一种计算方法的灰度均值和方差时,使用的计算公式实际上是基于归一化直方图定义的。实际上,可以使用其他方法来计算数字图像的灰度和方差。即不需要计算直方图,而是直接根据图像的样本值。这样计算出来的平均值称为原点矩(样本均值,分散值称为http://www.Sina.com/sample方差。
平均抽样的计算公式如下。
抽样方差的计算公式如下。
其中m表示图像像素的行数,n表示图像像素的列数,f(x,y)表示对应位置为[x,y]的像素的灰度值。
很容易理解,在数字图像中,公式3.3-20和3.3-18是等价的,公式3.3-21和3.3-19是等价的。因为直方图的数据是从像素值的集合中产生的。
四。灰度均值和方差在图像增强中的应用。在整幅图像中计算全局和局部增强图像的全局均值和方差,测量并调整整幅图像的整体灰度和对比度。
在局部增强中,基于图像中每个像素的邻域,局部均值和方差是图像特征变化的基础,通常比全局增强要好。
如果结合使用两个过程的一些数据,则基于直方图统计来执行图像强调。
4.2.局部灰度均值和方差指令(x,y)指示给定图像中任何像素的坐标,Sxy指示以给定大小的(x,y)为中心的子图像(subimage)。附近像素的平均值由以下公式给出:
这里,PSxy是区域Sxy中像素的直方图。该直方图包括L个分量,对应于输入图像中L个可能的灰度值。但是,根据Sxy的大小,许多组件是不同的。例如,在附近大小为33且L=256的情况下,在附近直方图的256个分量中,只有1和9之间的分量不为零。这些非零值对应于s的不同灰度级。3该区域中最大可能的不同灰度级是9,最小灰度级是1。
类似地,邻近像素的方差由下式给出:
与全局平均值和方差一样,中心距(局部平均值)是邻域Sxy中的平均灰度,灰度方差(局部)
方差或标准偏差)是邻域中灰度对比度的度量。
4.3.在一个说明性的例子中,图图3.27(a)显示了缠绕在支架上的钨丝的SEM(扫描电子显微镜)图像。图像中央的钨丝及其支架清晰易辨。
然而,在图像A的右侧部分的黑暗面上,有另一个钨丝几乎察觉不到的结构,其大小和特征几乎无法区分。
利用全局直方图均衡化增强得到图像B,可以隐约看到隐藏的钨丝,可见效果还是不尽如人意。同时原图中的亮区也发生了变化,并不是预期的理想结果。
上图A的特殊情况,需要增强暗区,但同时尽量保持亮区不变,因为亮区不需要增强。
通过对比度操作进行局部增强是解决这类图像中隐藏特征问题的理想方法。
图C是通过直方图统计进行图像增强的结果,可以看到另一根钨丝的明显结构。
4.4.图像增强处理的直方图统计。图像增强区域候选条件的直方图统计。下面介绍的这种方法可以区分暗区和亮区的区别,只增强暗区而保持亮区不变。为实现这一目标,选定的暗区需要满足以下三个条件:
判断一个区域在点(x,y)处是暗还是亮的方法是比较局部平均灰度mSxy (Sxy是M的下标,xy是S的下标,下面其他引文也类似)和全局平均灰度mG(G是M的下标,下面其他引文也类似):如果mSxyk0*mG,其中k0是取值小于1.0的正常数,那么该点(x因为局部灰度低于全局灰度,不代表局部细节可以另一个关键因素是对比度是否足够。所以要选择对比度低的局部区域进行增强,所以需要一种测量方法来确定一个区域的对比度是否可以作为增强的候选。此时,如果Sxyk2*G(其中G是全局灰度的标准差,Sxy是像素邻域灰度的局部方差,k2是正常数),则点(x,y)处的像素被认为是增强的候选。如果我们的兴趣是增强亮区域,k2大于1.0,对于暗区域,k2小于1.0;对比度的最低值应该被限制,否则该过程将试图增强具有零标准偏差的恒定区域。因此,需要使用一个小于等于k2的常数k1,使得k1*GSxy(老ape的注释:即像素邻域内的局部对比度大于全局对比度的一定比例,由k1规定),从而为局部标准差设定一个下限值。位于满足以上所有三个局部增强条件的点(x,y)处的像素可以通过将像素值乘以指定的常数E来简单地处理,以便相对于图像的其他部分增加(或减少)其灰度值。不满足增强条件的像素保持不变。
4.4.2、直方图统计图像增强变换公式直方图统计图像增强方法的变换公式如下:
设f(x,y)表示图像任意坐标(x,y)处的像素值,g(x,y)表示这些坐标处对应的增强像素值,则对于x=0,1,2,…,M-1,y=0,1,2,…,N-1,有:
其中,如上所述,E、k1、k1、k2为指定参数,mG为输入图像的全局均值,G为输入图像的标准差。参数mSxy和Sxy分别是局部均值和标准差。传统上,m和n是图像行和列的尺寸。
4.4.3.直方图统计图像增强变换公式参数设置的考虑。通常,需要一些实验来选择公式(3.3-24)中的参数,以熟悉给定的图像或一类图像。在这种情况下,通常选择以下值:E=4.0,k0=0.4,k1=0.02,k2=0.4。
之所以为E选择一个相对较低的值4.0,是因为当E乘以待增强区域(暗区)的灰度级时,结果仍会趋向灰度级的暗端,从而保持图像的视觉平衡。选定的k0值略小于全局平均值的一半,因为在观察图像时,要增强的区域通常比全局平均值的一半暗。类似的分析可以指导k1和k2值的选择。这些常数的选择通常并不困难,但是这些明确的选择必须由特定增强问题的逻辑分析来指导。最后,为了保持细节和最小化计算负担,局部区域Sxy的大小应该尽可能小。所以我们选择一个3x3大小的小区域。图3.27(c)显示了用上述局部统计方法处理的结果。与图3.27(a)中的原始图像或图3.27(b)中的直方图均衡化结果相比,图3.27(c)的右侧显示了明显的细节。看这个例子,暗丝中的脊线现在非常清晰。值得注意的是,左侧亮灰色区域被完整保留,这是我们最初的目的之一。
5.本文介绍了直方图统计图像增强的背景和处理方法。利用直方图统计进行图像增强,通过选择对比度低于全局图像的暗区,直接将这些满足条件的局部区域的灰度值扩大e倍,增强图像暗区的细节,使整幅图像的整体效果变化不大。
更多直方图处理相关知识请参考《 《数字图像处理》第三章学习总结感悟二:直方图处理》。
介绍更多图像处理请参考专栏《OpenCV-Python图形图像处理》和《图像处理基础知识》。
对于缺乏Python基础的同事,可以通过老猿的免费专栏《专栏:Python基础教程目录》从零开始学习Python。
如对文章内容有疑问或需要相关资料,可在博客评论区留言,或关注:老猿Python微信公众号发送消息进行咨询。扫描二维码即可添加微信微信官方账号。
博客写作不易,请支持:如果看了这篇文章有所收获,请点赞、评论、收藏。谢谢大家的支持!
关于老ape的付费专栏《https://blog.csdn.net/laoyuanpython/category_9607725.html 使用PyQt开发图形界面Python应用》致力于基于Python的PyQt图形界面开发基础课程,对应文章目录《https://blog.csdn.net/LaoYuanPython/article/details/107580932 使用PyQt开发图形界面Python应用专栏目录》;付费栏目《https://blog.csdn.net/laoyuanpython/category_10232926.html moviepy音视频开发专栏 )详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/107574583 moviepy音视频开发专栏文章目录》;付费专栏《https://blog.csdn.net/laoyuanpython/category_10581071.html OpenCV-Python初学者疑难问题集》是《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理》的伴生专栏,是作者个人对OpenCV-Python中图形图像处理学习中遇到的一些问题的感悟的整合。相关资料基本都是老猿反复研究的成果,有助于OpenCV-Python初学者深入理解OpenCV。对应的文章目录是《https://blog.csdn.net/LaoYuanPython/article/details/109713407 OpenCV-Python初学者疑难问题集专栏目录》付费栏目《https://blog.csdn.net/laoyuanpython/category_10762553.html Python爬虫入门》。本文从互联网前端开发孤独猕猴桃的角度出发,介绍了爬虫开发你应该知道的内容,包括爬虫入门基础知识,以及抓取CSDN文章信息、博主信息、文章点赞评论等实用内容。前两个专栏适合有一些Python基础但没有相关知识的孤独奇异果读者。第三栏供你结合《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理》的学习使用。
对于缺乏python基础的人,可以通过老猿的免费专栏“https://blog . csdn . net/laoyuanpython/category _ 9831699 . html专栏:Python基础教程目录”从零开始学习Python。
欢迎有兴趣并愿意支持老猿的读者购买付费专栏。
老猿蟒,跟老猿学蟒!去老猿https://blog.csdn.net/LaoYuanPython.的Python博客目录
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。