温故而知新:部分常见的图像数学运算处理算法的用途

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython

一、引言

这阵子把以前写的《数字图像处理》学习总结相关博客看了一遍,以前写一节节的学习和记录,知识的连贯性不好,而现在温习则花的时间少,因此又有不同的感悟,这次主要是把前面内容中涉及到的图像算法做个汇总,好方便速查。

二、部分常见的简单图像数学运算处理算法及其用途介绍

  1. 图像加法主要有两种用途,一种是可用于减少甚至消除图像采集中混入的噪声,由于图像各点的采集噪声是互不相关的,且噪声具有零均值的统计特性,因此可以对图像进行多次采集形成多副图像,然后将这多副图像相加再取平均值,就可以实现噪点的消除;另一种是用来做特效,把多幅图像叠加在一起,再进一步进行处理

  2. 图像减法操作可以用于增强图像之间的差别,如血管造影照和造影前的血管照相减可以获得造影剂在血管内的分布情况

  3. 图像相乘可以用一个模板图像与对应图像相乘从而留下感兴趣的ROI区域,即ROI区域对应的模板区域元素设置为1,其他区域设置为0,再进行图像和模板相乘即可获得ROI区域,也可以一幅图像自乘再归一化处理后增大图像的对比度增大,这是因为自乘后放大了图像中的差异

  4. 图像相乘或相除可以用于阴影校正(shading correction),一般是拿一幅图像去除以对应的无图像只有背景的图像,相关案例请参考《《数字图像处理》学习总结及感悟:第二章数字图像基础(5)数学工具》的介绍

  5. 反转变换特别适合增强嵌入在一幅图像暗区域中的白色或灰色细节,在黑色在图像范围占主导地位时特别有效。下图左边的原图是一幅带有小块病变的乳房的X光照片,右图是反转变换后的图像,可以看到反转后病变部位更清晰:
    在这里插入图片描述

  6. 对数变换将输入图像中范围较窄的低灰度值映射为了输出图像中范围较宽的灰度值,对数变换可以用于扩展图像中暗像素的值和压缩图像中亮像素的灰度值,同时可以压缩像素值变化比较大的图像的动态范围,即会使得大的图像动态范围变小,下图左边是傅里叶频谱的图像,右边是进行了对数变换的傅里叶频谱图像:
    在这里插入图片描述

  7. 反对数变化将输入图像中范围较宽的高灰度值映射为了输出图像中范围较窄的灰度值。反对数的变换可以用于收缩图像中暗像素的值和扩展图像中亮像素的灰度值

  8. 幂律变换又称为伽玛变换,其变换函数为:s=crγ,γ值小于1时,幂律函数本质上就是n次根函数,当变量(底数)小于1时它使得函数结果值比输入变量值变大,底数大于1时使得函数结果值比输入变量值变小,因此γ值小于1时的幂律变换,可以使得较窄范围的暗色像素输入值映射为较广范围的输出值,而对高灰度值则会收窄其输出值范围。γ值大于1时则效果与此相反。而当c和γ都等于1时,幂律变换就是恒等变换(identity transformation)。

    幂律变换可以用于显示设备的伽马校正以及暗图像对比度增强、亮图像对比度增强(γ值大于1来压缩灰度级提升对比度),相关案例请参考《《数字图像处理》第三章学习总结感悟1:灰度变换与空间滤波概念及常用灰度变换方法介绍

  9. 分段函数可以用于对比度拉伸、比特平面分层、灰度级分层,相关案例请参考《《数字图像处理》第三章学习总结感悟1:灰度变换与空间滤波概念及常用灰度变换方法介绍

  10. 10.直方图均衡具有扩展输入图像直方图(spread the histogram of the input image)的趋势,均衡后的图像的灰度级(intensity levels)跨越更宽灰度级(intensity scale)范围,最终结果(The net result)是增强了对比度(contrast enhancement),相关原理请参考《温故而知新:直方图均衡、直方图匹配的再次理解》以及《《数字图像处理》第三章学习总结感悟2:直方图处理》的介绍

  11. 线性平滑滤波器(Smoothing Linear Filters,也称为均值滤波器或空间均值滤波器)用于降低图像灰度的“尖锐”(sharp)变化(transitions),一个重要应用是为了对感兴趣的物体得到一个粗略的描述(gross representation)而模糊一幅图像,这样,那些较小物体的灰度就与背景混合在一起了,较大物体变得像“斑点”(bloblike)而易于检测,但可能会带来边缘模糊和伪轮廓效应(false contours),相关介绍请参考《数字图像处理:线性和非线性滤波的平滑空间滤波器(Smoothing Spatial Filters)

  12. 中值滤波器的主要功能是使拥有不同于周边像素灰度级的点看起来更接近于它的相邻点,中值滤波器对处理脉冲噪声(impulse noise,也称为椒盐嗓声salt-and-pepper noise)非常有效,因为这种噪声是以黑白点的形式叠加在图像上的,相关案例请参考《数字图像处理:线性和非线性滤波的平滑空间滤波器(Smoothing Spatial Filters)

  13. 最大值滤波器用于搜寻一幅图像中的最亮点,最小值滤波器用于查找最暗点

  14. 图像的微分增强就是 对图像求导数,用于边缘(edges)和其他突变(discontinuities,如噪声),而削弱(deemphasizes)灰度变化缓慢(slowly varying intensities)的区域,相关原理请参考《数字图像处理学习–导数运算与锐化空间滤波
    1> 一阶导数就是求图像灰度变化曲线的导数,能够突出图像中的对象边缘;
    2>图像的二阶导数产生由零分开(separated by zeros)的双边缘,边缘为一个像素宽(double edge one pixel thick),适合图像锐化处理(锐化处理用来识别图像中的噪声点、线与边缘)

三、小结

本文将图像处理中常用的数学运算算法及其对图像的作用做了个汇总介绍,有助于图像处理时针对对应场景快速选择合适的数学算法。

更多图像处理请参考专栏OpenCV-Python图形图像处理》及《图像处理基础知识》的介绍。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《 专栏:Python基础教程目录》从零开始学习Python。

如对文章内容存在疑问或需要相关资料,可在博客评论区留言,或关注:老猿Python 微信公号发消息咨询,可通过扫二维码加微信公众号。

写博不易,敬请支持

如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!

关于老猿的付费专栏

  1. 付费专栏《https://blog.csdn.net/laoyuanpython/category_9607725.html 使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,对应文章目录为《 https://blog.csdn.net/LaoYuanPython/article/details/107580932 使用PyQt开发图形界面Python应用专栏目录》;
  2. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10232926.html moviepy音视频开发专栏 )详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/107574583 moviepy音视频开发专栏文章目录》;
  3. 付费专栏《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初学者疑难问题集专栏目录
  4. 付费专栏《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。

如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

老猿Python,跟老猿学Python!

☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LaoYuanPython

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值