一种数字图像增强方法
技术领域
本发明涉及一种数字图像处理方法,尤其是涉及一种在移动平台上对数字图像gamma校正和增强相结合的快速数字图像增强方法,用于数码照相机与数码摄像机以及相关的成像设备中的gamma校正和图像增强***。
背景技术
Gamma校正的大部分过程是一个客观过程,由于人眼所能分辨的亮差层次是以对数方式分布,而非线性方式分布,这样导致输入电压与输出亮度是非线性的,存在一种失真。通过gamma校正使显示器输出图像与输入的图像相同。
图像增强是将图像中感兴趣的特征有选择的突出,而衰减不需要的特征,它的目的主要是提高图像的可懂度。当图像为视觉解释而进行处理时,由观察者最后判断特定方法的效果。一般对于数码照相机与数码摄像机而言增加图像的亮度和对比度的同时能够增加图像细节信息进而达到图像增强的目的。
在现有的图像处理技术中,经常采用的方法是曲线变换,例如gamma曲线变换(幂次变换),gamma曲线变换的公式如下:
S=c×rγ
gamma曲线变换中的指数γ是gamma值。其中c和γ是正常数。当0<γ<1时曲线把输入窄带暗值映射到宽带输出值。由于gamma曲线的特性随着γ的减小,宽带输出值随着窄带暗值迅速增加。这样使窄带暗值的其他部分的灰度值映射的动态范围过小,使图像的对比度降低。
另一种方法是通过对数变换来进行图像增强。对数变换的公式如下:
其中c是一个常数,并假设r≥0,a>1。对数曲线同样可以把输入暗窄带值映射到宽带输出值,并且随着a值的减小窄带暗值非线性增加,对数函数没有幂次函数变化灵活,同时也存在对比度降低的问题。
发明内容
本发明的目的在于提供一种快速数字图像增强方法;该方法能够进行gamma校正的同时进行图像增强。
本发明的目的可通过以下的技术措施来实现:一种快速数字图像增强方法,包括以下步骤:
步骤1,根据输入的gamma值得到gamma变换曲线映射表,所述曲线映射表指曲线经均匀量化后产生的映射表;
步骤2,根据输入的二次B样条曲线点控制参数得到二次B样条曲线,对曲线进行均匀量化进而得到图像对比度增强的映射表;
步骤3,将步骤1和步骤2的两个曲线映射表相乘得一个新的图像曲线,进而得到新的曲线映射表;
步骤4,对步骤3结合后的图像曲线进行非均匀分割,存储分段点的映射值;
步骤5,对于当前图像和下一帧图像直接通过存储的分段点的映射值计算图像的映射表,对输入图像每点的R、G、B像素值分别进行映射得到新的像素值。
本发明步骤1中通过gamma曲线变换公式得到gamma变换图像曲线映射表。
本发明步骤2中根据输入的二次B样条曲线点控制参数确定四个控制点P0,P1,P2,P3,根据二次B样条曲线公式得到二次B样条曲线。通过均匀量化得到图像对比度增强的曲线映射表。
本发明中步骤3所述的曲线映射表指曲线经均匀量化后产生的映射表。
本发明步骤4中把曲线映射表非均匀的分割32段,其中曲线在起始点和终点接近于直线,在分段时相对较长;剩下的30段曲线进行均匀划分。
本发明步骤4中如果象素值的映射不在分段点上,把曲线按分段进行直线处理,根据下面线性变换获得:
这里(xk,yk)表示分段点处的映射值,(x,y)表示在分段直线上的点;其中xk<x<xk+1, 是分段直线的斜率。
本发明把图像gamma校正和增强相结合;通过gamma校正对图像进行校正的同时,结合gamma曲线和二次B样条曲线对图像进行增强,在对图像gamma校正的同时使图像的亮度得到增强。并且两条曲线相结合后采用分段直线处理,存储分段点;对于当前图像和后面帧可以直接调用分段点值进行计算得到整个映射表。实现图像gamma校正和增强的同时也减少了运算量,提高了处理效率。
附图说明
图1是木发明的图像校正和增强过程的原理示意图;
图2是gamma值为1/2.2曲线的近似;
图3是参数iDistance为32的二次B样条曲线的近似;
图4是gamma值为1/2.2和iDistance为32两条曲线相乘的曲线近似;
图5是整个***应用框图。
图6是图像应用gamma校正和增强的方法框图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的说明。
首先,对于gamma曲线S=c×rγ,根据输入的gamma参数值,计算gamma曲线映射表。典型的gamma值是1/2.2和1/2.5,本发明根据外部的亮度调节gamma值,在这里采用c=1.099。图2是gamma值为1/2.2曲线的近似(这里的曲线是经过量化后拟合的曲线)。
然后,根据输入二次B样条曲线的点控制参数计算曲线映射表。
下面介绍二次B样条曲线的点控制参数对曲线的影响。二次B样条曲线的3个基函数为:
本发明的4个控制点坐标为:
P0(-iDistance,0),
P0(iDistance,0)
P2(2n-1-iDistance,2n-1)
P3(2n-1+iDistance,2n-1)
这里n是图像数据的位数。由公式
得P0,P1,P2和P1,P2,P3确定两段曲线。由P(t)的方程可得关于P0,P1,P2点的x和y的变化曲线方程:
x=F0,2(t)×P0+F1,2(t)×P1+F2,2(t)×P2(x的方程中P0,P1,P2是对应点处的x的值)
y=F0,2(t)×P0+F1,2(t)×P1+F2,2(t)×P2(y的方程中P0,P1,P2是对应点处的y的值)
图3是参数iDistance为32的二次B样条曲线的近似,曲线经过(0,0)、(2n/2-1,2n/2-1)、(2n-1,2n-1)。iDistance≥0时曲线是一条在区间[0,2n/2-1]是向下弯曲的递增曲线,在区间[2n/2-1,2n-1]是向上弯曲的递增曲线。控制iDistance值来改变二次B样条曲线的弯曲程度来改变图像的对比度。
接着两个曲线映射表相乘得一个新的图像曲线映射表。相结合的曲线能够把输入窄带暗值映射到宽带输出值,同时窄带暗值的其他部分的值的动态范围与相同gamma参数值的gamma曲线相比也得到了增加。图4是gamma值为1/2.2和iDistance为32两条曲线相乘的曲线近似。
由于相结合的曲线在起始点和终点接近于直线,所以在分段时相对较长。剩下的30段曲线进行均匀划分;保存分段点处的映射值。
如果象素值的映射不在分段点上,根据下面公式获得 (0≤k<32)
这里(x
k,y
k)表示分段点处的映射值,(x,y)表示在分段直线上的点,其中x
k<x<x
k+1。
是分段直线的斜率,最后得到新的映射表。
最后,对输入图像每点的R、G、B像素值根据新的映射表分别进行映射得到新的像素值。产生新的图像进行显示或则存储。
图像可以是静止的图像,也可以是动态的图像。通过输入的gamma值和二次B样条曲线点控制参数最后计算得到32条线段的分段点(这里的分段点数为33),对分段点的映射值进行存储,对于当前图像和后面帧可以直接调用分段点值和映射值进行计算得到整个映射表,在使图像gamma校正和增强的同时也减少了运算量,达到时间同步处理的目的。
图5是整个***应用框图。图像传感器将采集到的图像数据传送到数据总线上,图像处理模块对数据总线上的数据进行各种处理,处理后的数据经数据总线传输到显示模块显示或数据存储模块保存。
图6是图像应用gamma校正和增强的方法框图。图像采集模块将采集到的图像数据传送到图像gamma校正和增强处理模块进行图像校正和增强处理。图像经过gamma校正和增强后对数据进行数据保存或数据显示。
本发明可以应用到数码照相机与数码摄像机以及相关的成像设备中。