欢迎来到网际学院,让您的头脑满载而归!

快速学编程——图像处理之伽玛变换

发布日期:2017-08-20 00:11:01 作者:管理员 阅读:636

在实际图像处理中,我们常会遇到这样一种现象,图像暗区太暗或者亮区太亮(本节所处理的图像均为灰度图像),

快速学编程——图像处理之伽玛变换

在实际图像处理中,我们常会遇到这样一种现象,图像暗区太暗或者亮区太亮(本节所处理的图像均为灰度图像),这样的图片会丢失很多细节。比如医学诊断中的X光片,由于X光的成像特点,会表现出暗区过暗的情况,如下图:快速学编程——图像处理之伽玛变换

图1

这是一张脊柱的图像,左侧暗区细节很不明显,但右侧亮区细节表现的很好,我们要拉亮暗区,亮区不变,那么怎么实现这一操作呢?本文的主角——伽玛变换在这种需求下应用而生。

快速学编程——图像处理之伽玛变换

伽玛变换

快速学编程——图像处理之伽玛变换

伽玛曲线

上图为伽玛变换的公式,上式中c = (Pmax - Pmin),r = (P - Pmin)/(Pmax - Pmin),最终计算结果还需要再加上Pmin(P , Pmin,Pmax分别对应任意点灰度,最小最大灰度)。当公式指数小于1时(必须大于0),作用为拉升暗区细节,当公式指数大于1时,作用为降低亮区细节。

快速学编程——图像处理之伽玛变换

图2

图2是对图1进行伽玛变换后结果,可以看到,暗区拉亮了许多,而亮区却没有变化。

对于伽玛变换,在opencv 及python下的操作很简单,只需要遍历整个灰度图,对每一个像素值按照公式(要选定指数,求出最值)进行伽玛变换,生成的新图片即为伽玛变换的结果。


Copyright oneie ©2014-2017 All Rights Reserved. 所有资料来源于互联网对相关版权责任概不负责。如发现侵犯了您的版权请与我们联系。 网际学院 版权所有
免责声明  商务合作及投稿请联系 QQ:86662817