CN112598600B - 图像摩尔纹校正方法及其电子设备和介质 - Google Patents

图像摩尔纹校正方法及其电子设备和介质 Download PDF

Info

Publication number
CN112598600B
CN112598600B CN202110006964.7A CN202110006964A CN112598600B CN 112598600 B CN112598600 B CN 112598600B CN 202110006964 A CN202110006964 A CN 202110006964A CN 112598600 B CN112598600 B CN 112598600B
Authority
CN
China
Prior art keywords
pixel point
moire
pixel
brightness
detected
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110006964.7A
Other languages
English (en)
Other versions
CN112598600A (zh
Inventor
凌晨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Technology China Co Ltd
Original Assignee
ARM Technology China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ARM Technology China Co Ltd filed Critical ARM Technology China Co Ltd
Publication of CN112598600A publication Critical patent/CN112598600A/zh
Application granted granted Critical
Publication of CN112598600B publication Critical patent/CN112598600B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20216Image averaging

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

本申请涉及图像处理技术领域,公开了一种图像摩尔纹校正方法及其电子设备和介质。本申请的方法包括:获取待校正图像;基于待校正图像中各像素点的亮度分量值,确定像素点是否位于摩尔纹区域;在像素点位于摩尔纹区域的情况下,对像素点进行摩尔矫正。本申请的摩尔纹校正方法通过检测待校正图像中某一方向上的多个连续的像素点之间的亮度变化,确定多个连续的像素点之间的亮度是否出现阶跃,在发生阶跃的像素点的数目大于阶跃阈值的情况下,确定该待检测像素点处于摩尔纹区域,使得电子设备能够更加准确地确定并校正待校正图像中的摩尔纹。

Description

图像摩尔纹校正方法及其电子设备和介质
本申请要求于2020年09月30日提交中国专利局、申请号为202011064866.0、申请名称为“图像摩尔纹校正方法及其电子设备和介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及图像处理领域,特别涉及一种图像摩尔纹校正方法及其电子设备和介质。
背景技术
当电子设备的图像传感器的采样频率低于拍摄场景的空间频率时,拍摄得到的图像中可能由于高频的图像信息堆叠在低频的像素空间中而产生摩尔纹,影响图像质量。当图像中存在包含摩尔纹区域时,同时还会伴有大量伪色。在包含摩尔纹区域的图像的像素空间中,摩尔纹区域内的像素点对应的感光元件的频率会明显高于周围的像素点的感光原件的频率,例如,在YUV(Luminance-Bandwidth-Chrominance,亮度宽度色度空间)格式的图像中,摩尔纹区域内的像素点的Y分量(Luminance,亮度),也就是亮度会明显高于周围像素点的亮度。
目前,大部分厂商选择在相机中使用光学低通滤镜,以降低图像锐度代价来抑制摩尔纹产生。常用的去除摩尔纹的方法是对拍摄后的原始Bayer图像(拜尔图像),由于Bayer 图像是电子设备的成像器件CCD(Charge-coupled Device,电荷耦合元件)或 CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体存储器)图像传感器获得的原始图像,因此,在无法获取Bayer原始图像的情况下,就无法采用上述方法。因此,需要一种能够支持常用图像格式的摩尔纹校正方法。
发明内容
本申请的目的在于提供一种图像摩尔纹校正方法及其电子设备和介质。通过本申请的方法电子设备能够检测待校正图像中待检测像素点的某一方向上的多个连续的像素点之间的亮度变化,确定多个连续的像素点之间的亮度是否出现阶跃,在发生阶跃的像素点的数目大于阶跃阈值的情况下,确定该待检测像素点处于摩尔纹区域,使得电子设备能够更加准确地确定待校正图像中的摩尔纹区域。
本申请的第一方面提供了一种图像摩尔纹校正方法,包括:获取待校正图像;基于待校正图像中各像素点的亮度分量值,确定像素点是否位于摩尔纹区域;在像素点位于摩尔纹区域的情况下,对像素点进行摩尔矫正。
即在本申请的实施例中,例如,待校正图像的格式可以是YUV (Luminance-Bandwidth-Chrominance,亮度宽度色度空间)格式的。像素点的亮度分量值可以是Y分量(Luminance,亮度)。
在上述第一方面的一种可能的实现中,基于待校正图像中各像素点的亮度分量,确定像素点是否位于摩尔纹区域,包括:
从待校正图像中选择待检测像素点的检测窗口所包括的像素点,其中,检测窗口包括待检测像素点,并且检测窗口包括M×M个像素点,M为大于1的奇数;
基于检测窗口中各像素点的亮度值,计算检测窗口中发生亮度阶跃的像素点的数目;
在检测窗口中发生亮度阶跃的像素点的数目超过预设数目的情况下,确定待检测像素点位于摩尔纹区域中。
在上述第一方面的一种可能的实现中,检测窗口为滑动窗。
即在本申请的实施例中,例如,检测窗口可以是图6中的5×5大小的滑动窗,即,检测窗口中可以包括25个像素点。预设数目可以是阶跃阈值,在预设的阶跃阈值为5的情况下,如果确定检测窗口中发生亮度阶跃的像素点的数目为10,即,检测窗口中的阶跃的次数step_hv为10,则确认确定待检测像素点位于摩尔纹区域中。
在上述第一方面的一种可能的实现中,待检测像素点位于检测窗口的中心。
例如,待检测像素点可以是图6中的像素点Y22。
在上述第一方面的一种可能的实现中,通过以下方式确定像素点是否发生亮度阶跃:
在检测窗口内的至少一个检测方向上的第一像素点至第二像素点的亮度值的亮度变化方向和第二像素点至第三像素点的亮度值的亮度变化方向不同的情况下,确定在第二像素点处发生亮度阶跃,其中第一像素点、第二像素点和第三像素点分别为在检测窗口内的三个相邻的像素点,亮度值的亮度变化方向包括亮度增大和亮度减小两种方向。
例如,可以通过判断第一像素点至第二像素点的亮度变化方向与第二像素点至第三像素点的亮度变化方向是否相反,来判断是否出现阶跃,如果两者的亮度变化方向相反,则说明出现阶跃。
在上述第一方面的一种可能的实现中,通过以下方式确定第一像素点至第二像素点的亮度变化方向和第二像素点至第三像素点的亮度变化方向是否相同:例如,这里的第一像素点、第二像素点以及第三像素点可以是图6中的Y21、Y22以及Y23;再如,这里的第一像素点、第二像素点以及第三像素点还可以是图6中的Y12、Y22以及Y32
通过以下公式计算第一像素点与第二像素点的亮度值阶跃符号diffH_r1:
Figure GDA0003994400680000021
其中,diffH1可以通过以下公式计算得到:
diffH1=sign(diff1)*diffHa1
其中,sign(diff1)为第一像素点与第二像素点的亮度值差值的符号位,diffHa1可以通过以下公式计算得到:
diffHa1=abs(diff1)-tn
其中,abs(diff1)为第一像素点与第二像素点的亮度值差值的绝对值,tn为噪声模型标定参数;
通过以下公式计算第二像素点与第三像素点的亮度值阶跃符号diffH_r2:
Figure GDA0003994400680000031
其中,diffH2可以通过以下公式计算得到:
diffH2=sign(diff2)*diffHa2
其中,sign(diff2)为第二像素点与第三像素点的亮度值差值的的符号位,diffHa2可以通过以下公式计算得到:
diffHa2=abs(diff2)-tn
其中,abs(diff1)为第二像素点与第三像素点的亮度值差值的绝对值;
在diffH_r1与diffH_r2的乘积为负数的情况下,确定第一像素点至第二像素点的亮度变化方向和第二像素点至第三像素点的亮度变化方向不同。
在上述第一方面的一种可能的实现中,在第一像素点与第二像素点的亮度值差值为负数的情况下,符号位为-1;在第一像素点与第二像素点的亮度值差值为非负数的情况下,符号位为1,并且,在第二像素点与第三像素点的亮度值差值为负数的情况下,符号位为-1;在第二像素点与第三像素点的亮度值差值为非负数的情况下,符号位为1。
在上述第一方面的一种可能的实现中,噪声模型标定参数用于去除第一像素点与第二像素点的亮度值差值的绝对值和第二像素点与第三像素点的亮度值差值的绝对值中的噪声信号。
例如,以图6中的Y23与Y22为例,噪声模型标定参数,用于表示Y23与Y22的Y 分量的噪声大小。噪声模型标定参数可以调节滑动窗中的像素点的Y分量的数值,取值可以随着滑动窗内,每个像素点的Y分量的数值的变化而变化。
在上述第一方面的一种可能的实现中,在第一像素点的亮度值小于第二像素点的亮度值,并且第一像素点和第二像素点的亮度值差值的绝对值大于第一阈值,并且,第三像素点的亮度值小于第二像素点的亮度值,并且第三像素点和第二像素点的亮度值差值的绝对值大于第二阈值的情况下,确定第二像素点处产生亮度阶跃。
例如,以图6中的Y21、Y22以及Y23为例,在Y22到Y23在Y分量上成上升变化,而Y21到Y22在Y分量上成下降变化的情况下,确定Y22处产生亮度阶跃。
在上述第一方面的一种可能的实现中,在像素点位于摩尔纹区域的情况下,对像素点进行摩尔矫正,包括:
基于检测窗口中各像素点的亮度值,计算检测窗口中的纹理评价指标,其中纹理评价指标用于描述检测窗口中各像素点的亮度值的分布状态。
例如,在图6中,计算以Y22为中心的滑动窗的纹理评价指标。
在上述第一方面的一种可能的实现中,通过以下公式计算检测窗口中的纹理评价指标:
通过以下公式计算检测窗口中每一个像素点与第四像素点的亮度值阶跃符号texH_r3 的:
Figure GDA0003994400680000032
其中,texH3可以通过以下公式计算得到:
texH3=sign(tex3)*texHa3
其中,sign(tex3)为每一个像素点与第四像素点的亮度值差值的符号位,texHa3可以通过以下公式计算得到:
texHa3=abs(tex3)-tn
其中,abs(tex3)为每一个像素点与第四像素点的亮度值差值的绝对值,tn为噪声模型标定参数;
求出检测窗口中的每一个像素点与第四像素点的亮度值阶跃符号texH_r3的总和,记为检测窗口的纹理评价指标。
在上述第一方面的一种可能的实现中,通过检测窗口中发生亮度阶跃的像素点的数目与检测窗口的纹理评价指标计算出对待检测像素点进行摩尔纹校正的校正参数,通过以下公式计算校正参数:
moire=step_hv/step_tex
alpha=k1/(1+e-a*(moire-b))-k2
其中,step_hv为检测窗口中发生亮度阶跃的像素点的数目,step_tex为检测窗口的纹理评价指标,alpha为校正参数,a,b,k1,k2为调试参数。
在上述第一方面的一种可能的实现中,通过以下公式对待检测像素点的亮度值进行校正:
CorY=beta*med+(1-beta)*mean
Yout=alpha*CorY+(1-alpha)*Y
其中,med和mean为以待检测像素点为中心的至少一个方向上的各个像素点与待检测像素点的亮度值的中值和均值;beta为调整参数,CorY为待检测像素点的亮度值的校正分量,Y为待检测像素点的亮度值,Yout为校正后的待检测像素点的亮度值。
在上述第一方面的一种可能的实现中,在待检测像素点与待校正图像的至少一条边界之间的距离小于M的情况下,检测窗口的部分区域位于待校正图像的边界之外。
在上述第一方面的一种可能的实现中,以待检测像素点为中心基于平行于边界的方向为对称轴,使用检测窗口的像素点的亮度值补足部分区域。
例如,如图13a和13b中的Y22位于待校正图像的左边界处,这时,以Y22为中心的滑动窗中,除了Y22之外,Y02、Y12、Y32以及Y42的左侧都没有相邻像素点,这时,可以通过以Y02、Y12、Y22、Y32以及Y42为中心,镜像复制右侧的像素点,以补全缺失的像素点。
在上述第一方面的一种可能的实现中,摩尔纹校正方法通过电子设备的图像信号处理器实现,并且待校正图像为电子设备的相机拍摄的图像。
在上述第一方面的一种可能的实现中,待校正图像的格式为亮度宽度色度空间的格式。
在上述第一方面的一种可能的实现中,检测方向为待校正区域中水平方向或者垂直方向或者对角线方向。
在上述第一方面的一种可能的实现中,按预设的步长在待校正图像中确定检测窗口。
在上述第一方面的一种可能的实现中,在待校正图像中确定下一个检测窗口,且下一个检测窗口中包含第二像素点的情况下,确定下一个待校正区域中第二像素点处产生阶跃。
例如,如图6至图8,检测窗口从以Y22为中心移动至以Y23为中心,对于Y22,检测窗口可以使用之前的检测结果,确定在Y22处产生阶跃。
本申请的第二方面提供了一种可读介质,可读介质中存储有指令,该指令被电子设备运行时,电子设备执行如前述第一方面提供的图像摩尔纹校正方法。
本申请的第三方面提供了一种电子设备,包括:
存储器,存储器中存储有指令,和
处理器,用于读取并执行存储器中的指令,以使得电子设备执行如前述第一方面提供的图像摩尔纹校正方法。
在上述第三方面的一种可能的实现中,处理器包括图像信号处理器。
附图说明
图1根据本申请的一些实施例,示出了一种摩尔纹校正的场景示意图;
图2a根据本申请的一些实施例,示出了一种待校正图像中待检测像素点出现阶跃的示意图;
图2b根据本申请的一些实施例,示出了另一种待校正图像中待检测像素点出现阶跃的示意图;
图2c根据本申请的一些实施例,示出了一种待校正图像中待检测像素点未出现阶跃的示意图;
图3根据本申请的实施例,示出了一种能够实现本申请的摩尔纹校正方法的手机的结构框图;
图4根据本申请的实施例,示出了一种能够实现本申请的摩尔纹校正方法的图像信号处理器ISP的结构框图;
图5根据本申请的实施例,示出了一种图像的摩尔纹校正的流程图;
图6根据本申请的实施例,示出了一种滑动窗的示意图;
图7a根据本申请的实施例,示出了一种待检测像素点为滑动窗中边界的像素点的示意图;
图7b根据本申请的实施例,示出了一种对边界的像素点的相邻像素点进行补位的示意图;
图8根据本申请的实施例,示出了一种滑动窗按照步长滑动至下一个待检测像素点的示意图;
图9根据本申请的实施例,示出了一种待检测像素点Y22的相邻像素点的亮度分量的示意图;
图10根据本申请的实施例,示出了一种用于摩尔纹校正的校正参数的图像的示意图;
图11根据本申请的实施例,示出了另一种滑动窗的示意图;
图12根据本申请的实施例,示出了一种图像的摩尔纹校正的流程图;
图13a根据本申请的实施例,示出了一种待检测像素点为滑动窗中边界的像素点的示意图;
图13b根据本申请的实施例,示出了一种对边界的像素点的相邻像素点进行补位的示意图;
图14根据本申请的一些实施例,示出了一种电子设备的结构结构图;
图15根据本申请的一些实施例,示出了一种基于SOC的电子设备的结构示意图。
具体实施例
本申请的说明性实施例包括但不限于图像摩尔纹校正方法及其电子设备和介质。
图1是根据本申请实施例的一种摩尔纹校正的场景示意图。
如图1所示,电子设备100在拍摄目标物体101时,基于前述原因,拍摄到的图像102中会出现摩尔纹。本申请公开的摩尔纹校正技术,能够通过检测图像102中待检测像素点的某一方向上的多个连续的像素点之间的亮度变化,确定多个连续的像素点之间的亮度是否出现阶跃,即,确定该待检测像素点是否处于摩尔纹区域。
例如,图2a至图2c示出了待检测像素点与其左侧和右侧的像素点之间出现阶跃的情况,例如,对于水平方向,可以通过判断待检测像素点左侧的像素点到待检测像素点的亮度变化方向与待检测像素点右侧的像素点到待检测像素点的亮度变化方向是否相反,来判断是否出现阶跃,如果两者的亮度变化方向相反,即上升后下降或者下降后上升,则说明出现阶跃。对于垂直方向也是如此,可以通过判断待检测像素点上方的像素点到待检测像素点的亮度变化方向与待检测像素点下方的像素点到待检测像素点的亮度变化方向是否相反,来判断是否出现阶跃,如果两者的亮度变化方向相反,即增加后下降或者下降后增加,则说明出现阶跃。例如,可以通过数值+1表示,像素点到像素点之间的亮度变化方向是上升,通过数值-1表示像素点到像素点之间的亮度变化是下降,通过数值0表示像素点到像素点之间的亮度没有变化。如图2a所示,当待检测像素点与左侧的像素点的亮度变化方向为+1,而待检测像素点与右侧的像素点的亮度变化方向为-1时,即两者的亮度变化方向为上升后下降,说明在待检测像素点出现阶跃,因此该待检测像素点处于摩尔纹区域。
图2b示出了两者的亮度变化方向为先下降后上升的情况。这时,待检测像素点与左侧的像素点的亮度变化方向为-1,而待检测像素点与右侧的像素点的亮度变化方向为+1。说明在待检测像素点出现阶跃,因此该待检测像素点处于摩尔纹区域。
图2c示出了两者的亮度变化方向为先没有变化后上升的情况,这时,待检测像素点与左侧的像素点的亮度变化方向为0,而待检测像素点与右侧的像素点的亮度变化方向为+1。说明在待检测像素点没有出现阶跃,因此该待检测像素点不处于摩尔纹区域。
然后,在确定像素点处于摩尔纹区域的情况下对其进行摩尔校正,例如,对图1的图像102进行摩尔校正,得到图像103。
具体地,本申请的摩尔纹校正方法包括:统计该待检测像素点出现阶跃的次数,然后,计算出滑动窗内的每一个像素点与其隔行以及隔列的像素点之间的亮度变化方向的数值的总和作为该滑动窗内所有像素点的纹理评价指标,通过待检测像素点出现阶跃的次数与纹理评价指标确定校正参数,再通过校正参数校正该待检测像素点,以消除摩尔纹。本申请的方法可以将滑动窗内的待检测像素点与相邻像素点之间亮度变化方向是否相反,来判断待检测像素点是否出现阶跃,通过待检测像素点的阶跃的次数进行摩尔纹检测,在对检测出的摩尔纹进行校正。通过本申请的方法,可以更加精确地检测并校正待校正图像中的摩尔纹,除了支持YUV格式的图像,还可以适用与其他格式的图像,同时,本申请使用十字中值滤波,较传统低通滤波抑制摩尔纹,可以更好地保护图像中的细节。
在本申请的实施例中,待校正图像是YUV格式的。YUV是常见的颜色空间。其中Y 分量表示亮度(Luminance或Luma),代表待校正图像中的亮度分量,U分量和V分量表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定待校正图像中2个色度分量。
可以理解,虽然本申请以YUV格式为例进行说明,但是本申请的技术方案还适用于任何具有亮度分量的颜色空间,例如,待校正图像还可以是YCbCr格式的,YCbCr格式中其中Y是指亮度分量,Cb指蓝色色度分量,而Cr指红色色度分量。
待校正图像可以是电子设备100通过其摄像头拍摄的图像,也可以是其他设备拍摄后获取的图像,然后发送至电子设备100进行摩尔纹校正。在电子设备100获取了待校正图像后,如果待校正图像的格式不属于YUV格式,则需要将其转化成YUV格式。
可以理解,在本申请的各实施例中,电子设备100可以是能够拍摄并处理图像的各种设备,例如:手机、电脑、膝上型计算机、平板计算机、电视、游戏机、显示设备、户外显示屏、车载终端、数码相机等各种带有摄像头的设备。为了便于说明,下文以手机100 为例进行说明。
图3根据本申请的实施例示出了一种能够实现本申请的摩尔纹校正方法的手机100的结构框图。具体地,如图3所示,手机100可以包括处理器110,RF电路120,无线通信模块125,显示屏130,摄像头140,图像信号处理器(image signal processor,ISP)141,外部存储接口150,内部存储器151,音频模块160,传感器模块170,输入单元180和电源 190。
可以理解的是,本申请的实施例示意的结构并不构成对手机100的具体限定。在本申请的另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器 (digital signal processor,DSP),DPU(data processing unit,数据处理器)、基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110 中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
RF电路120可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器110处理;另外,将涉及上行的数据发送给基站。通常,RF电路120包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(英文:Low Noise Amplifier,中文低噪声放大器)、双工器等。此外,RF电路120还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(英文:Global System of Mobilecommunication,中文:全球移动通讯***)、GPRS(英文:General Packet Radio Service,中文:通用分组无线服务)、CDMA(英文:Code Division Multiple Access,中文:码分多址)、 CDMA(英文:Wideband Code Division Multiple Access,中文:宽带码分多址)、LTE(英文: Long Term Evolution,中文:长期演进)、电子邮件、SMS(英文:Short MessagingService,中文:短消息服务)等。
无线通信模块125可以提供应用在手机100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块125可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块125经由天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块125还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线转为电磁波辐射出去。在一些实施例中,无线通信模块125能够实现前文所述的基于Wi-Fi网路的通信协议的多载波技术,从而支持手机100通过现有的Wi-Fi 协议实现超宽带传输。
手机100可以通过摄像头140,ISP 141,视频编解码器,GPU,显示屏130以及应用处理器等实现拍摄功能。
ISP 141用于处理摄像头140反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP 141处理,转化为肉眼可见的图像。ISP141还可以对图像的噪点,亮度,肤色进行算法优化。ISP 141还可以对拍摄场景的曝光,色温等参数优化。在本申请的一些实施例中,可以通过ISP 141处理摄像头140在拍摄的图像上产生的摩尔纹。这里的摄像头感光元件可以是图像传感器142。模拟数字转换器143(未示出)可以从图像传感器142接收图像区域的多个电信号,并将其转换为多个数字像素数据。
需要说明的是,在本申请的一些实施例中,ISP 141可以置于摄像头140内,在本申请的另外一些实施例中,ISP141也可以外接摄像头140,例如,设置在处理器110中,在此不做限制。
摄像头140用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体 (complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP 141将数字图像信号输出到 DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,手机100可以包括1个或N个摄像头140,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当手机100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。手机100可以支持一种或多种视频编解码器。这样,手机100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
外部存储器接口150可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机100 的存储能力。
内部存储器151可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器151可以包括存储程序区和存储数据区。在本申请的一些实施例中,处理器110 通过运行存储在内部存储器151的指令,和/或存储在设置于处理器中的存储器的指令以及各种功能应用以及数据处理。例如,内部存储器可以存储要进行摩尔矫正的待校正图像。
手机100还包括音频模块160,音频模块160可以包括扬声器,受话器,麦克风,耳机接口,以及应用处理器等实现音频功能。例如音乐播放,录音等。
手机100还包括传感器模块170,其中传感器模块170可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器等。
输入单元180可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
手机100还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理***与处理器110逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
可以理解的是,图3所示的结构仅仅是实现本申请技术方案中手机100的功能的一种具体结构,具有其他结构并能。实现类似的功能的手机100也适用于本申请的技术方案,在此不做限制。
可以理解,本申请的图像的摩尔纹校正可以实现在手机100相机的ISP 141中,也可以由手机100的处理器110来执行,或者手机100向服务器发送图像,由服务器来执行,在此不做限制。
为了方便说明,下文以手机100中的ISP141为例进行说明。图4示出了ISP 141的一种结构示意图。如图4所示,ISP 141包括摩尔纹检测单元141A、摩尔纹校正单元141B 以及色彩校正单元141C。具体的如下:
模拟数字转换器143从图像传感器142接收图像区域的多个像素电压,并将其转换为多个数字像素数据。摩尔纹检测单元141A根据待检测像素点与其周围的像素点的亮度分量之间差值,计算出待检测像素点的至少一个方向上的及其像素点之间是否产生亮度的阶跃,以确定待检测像素点是否处于摩尔纹区域。摩尔纹校正单元141B通过待检测像素点的至少一个方向上的像素点的亮度的阶跃以及纹理评价指标确定校正参数,对处于摩尔纹区域的待检测像素点进行摩尔纹校正。色彩校正单元141C对摩尔纹校正单元141B所输出的图像数据进行伪色抑制,再通过I/O接口传输到CPU处理,得到最终要显示的图像。
基于图3和图4所示的结构,下面详细介绍本申请实施例的图像的摩尔纹校正方案,其中,本申请的图像的摩尔纹校正方案可以由图4中的摩尔纹检测单元141A和摩尔纹校正单元141B实施。
图5示出了一种图像的摩尔纹校正的流程图,如图5所示,包括:
S501:摩尔纹检测单元141A获取待校正图像。
可以理解,待校正图像可以是摄像头140实时拍摄的图像,也可以是存储在手机100 的内部存储器151或者外部存储器中的图像。
S502:摩尔纹检测单元141A确定待检测像素点是否处于摩尔纹区域。如果是,执行S504,对待检测像素点进行摩尔纹校正。否则,回到S503,摩尔纹检测单元141A继续检测下一个待检测像素点。
可以理解,摩尔纹检测单元141A可以使用滑动窗遍历待校正图像,获取待检测像素点。对于滑动窗口,图6示出了本申请实施例中的滑动窗的一种示意图。滑动窗的大小可以为m×m,其中,m的值为大于等于3并且m为奇数,图6以m的值为5为例。可以理解,在滑动窗的长和宽皆为奇数的情况下,可以便于以滑动窗的中点作为待检测像素点。
例如,使用5×5大小的滑动窗遍历待校正图像,该滑动窗在待校正图像上每滑动一次,可以从待校正图像中提取25个像素点的Y分量,组成一个5×5大小的Y分量块,同时,以滑动窗中的中点作为待检测像素点。如图6所示,其中Y22表示滑动窗当前的待检测像素点,也就是5×5大小的滑动窗中第2行第2列的像素点的Y分量。可以理解,这里的Y分量就是YUV格式中的亮度。
在一些实施例中,如前所述,摩尔纹检测单元141A可以以待检测像素点为中心,通过判断在滑动窗内待检测像素点的某一方向上(例如,水平方向、或者垂直方向、与水平呈45度方向、或者其他任意方向上),所有的相邻像素点之间亮度是否存在阶跃来判断该待检测像素点是否处于摩尔纹区域。具体地,例如,对于水平方向,以待检测像素点为例,可以判断其左侧的像素点到待检测像素点的亮度变化方向与待检测像素点右侧的像素点与待检测像素点的亮度变化方向是否相反,来判断是否出现阶跃,如果两者的亮度变化方向相反,则说明出现阶跃。对于垂直方向也是如此,可以通过判断待检测像素点上方的像素点到待检测像素点的亮度变化方向与待检测像素点下方的像素点与待检测像素点的亮度变化方向是否相反,来判断是否出现阶跃,如果两者的亮度变化方向相反,即上升后下降或者下降后上升,则说明出现阶跃。
下面以水平和垂直方向为例说明摩尔纹区域的确定过程。例如,可以通过以下步骤和公式判断在待检测像素点的水平以及垂直方向上,相邻像素点之间是否出现阶跃来,确定待检测像素点处于摩尔纹区域。
摩尔纹检测单元141A确定待检测像素点是否处于摩尔纹区域的方法,包括:
a)摩尔纹检测单元141A计算待检测像素点在水平以及垂直方向上的相邻像素点的Y 分量的差值。
将Y22作为当前的待检测像素点,如图6所示,在Y22水平方向上,存在Y20,Y21,Y22,Y23和Y24五个像素点,需要计算Y21与Y20以及Y22与Y21之间,Y21与Y22 以及Y23与Y22之间,Y23与Y22以及Y24与Y23之间的Y分量的差值。同理,在垂直方向上,需要计算Y12与Y02以及Y22与Y12之间,Y32和Y22以及Y22和Y12之间, Y32与Y22以及Y42与Y32之间的Y分量的差值。
继续参考Y22,下面以Y21与Y22以及Y23与Y22之间为例,可以通过以下公式(一)计算Y22水平方向上右侧的像素点Y23与其的Y分量的差值。
diff23-22=Y23-Y22 (一)
其中,diff23-22=Y23-Y22表示水平方向上,Y23与Y22之间Y分量的差值。
同理,diff22-21=Y22-Y21表示水平方向上,Y22与Y21之间Y分量的差值。
b)摩尔纹检测单元141A从相邻像素点的Y分量的差值中去除噪声。
通过以下公式(二),摩尔纹检测单元141A计算Y22与Y23之间的Y分量的差值的绝对值,减去预设的噪声模型标定参数。
diffHa23-22=abs(diff23-22)-tn (二)
其中,abs表示取Y23与Y22之间Y分量的差值的绝对值,tn是一个预设的噪声模型标定参数,用于表示像素点的亮度值的噪声大小,也就是Y分量的噪声大小。tn用于调节滑动窗中的像素点的Y分量的数值,tn的取值可以随着滑动窗内,每个像素点的Y分量的数值的变化而变化。当滑动窗包含的像素点属于高频的图像信息时,即,滑动窗包含的像素点的Y分量的数值较大,tn的取值也可以相应地增大。例如,当滑动窗包含的像素点的 Y分量的均值为100时,tn的取值可以是80。当滑动窗包含的像素点的Y分量的均值为 80时,tn的取值可以是60。
可以理解,tn不仅仅可以根据块的平均亮度有不同大小的tn,也可以根据图像中像素点的不同频率(例如边缘,平坦区,纹理区)设置不同大小的tn。
同理,对于Y22与Y21,可以通过diffHa22-21=abs(diff22-21)-tn去除Y22与Y21 的Y分量的差值中的噪声信号。
c)摩尔纹检测单元141A将待检测像素点与其相邻像素点的Y分量的差值转换为待检测像素点与其相邻像素点在Y分量上的变化方向。
摩尔纹检测单元141A对待检测像素点Y22与其相邻像素点Y23的Y分量的差值进行符号运算,将其结果乘以通过步骤b)获取的数值。
diffH23-22=sign(diff23-22)*diffHa (三)
其中,函数sign表示获取diffH23-22的符号位运算,也就是当diff23-22>=0, sign(diff23-22)=1;当diff23-22<0,sign(diff23-22)=-1。
同理,对于Y22与Y21,diffH22-21=sign(diff22-21)*diffHa
d)摩尔纹检测单元141A获取对待检测像素点与其相邻像素点在Y分量上的变化方向。
可以通过以下公式(四)对步骤c)获取的diffH23-22再次进行符号运算,根据获得的结果来判断Y23与Y22在Y分量上的变化方向。
Figure GDA0003994400680000111
当diffHr23-22大于0时,说明从Y22到Y23在Y分量上成上升变化;当diffHr23-22小于0时,说明从Y22到Y23在Y分量上成下降变化;当diffHr23-22等于0时,说明从Y22 到Y23在Y分量上没有变化。
同理,摩尔纹检测单元141A获取Y22与Y21在Y分量上的变化方向。
下面以图6所示的Y21、Y22以及Y23的Y分量的数据,通过上述公式(一)到(四),确定在Y22是否出现阶跃。当Y23=1.5,Y22=1,Y21=2.5并且tn=0.4时,对于Y23和Y22 之间,
diff23-22=Y23-Y22=0.5;diffHa23-22=abs(0.5)-0.4=0.1;
diffH23-22=sign(0.5)*(0.1)=0.1;diffHr23-22=1。
对于Y22和Y21之间,同样地使用上述公式(一)到(四),可以计算出。
diff22-21=Y22-Y21=-1.5;diffHa22-21=abs(-1.5)-0.4=1.1;
diffH22-21=sign(-1.5)*(1.1)=-1.1;diffHr22-21=-1。
e)摩尔纹检测单元141A通过判断水平方向上,待检测像素点左侧的像素点到待检测像素点在Y分量上的变化方向与待检测像素点右侧的像素点到待检测像素点在Y分量上的变化方向是否相反,来确定在待检测像素点是否出现阶跃,如果发生阶跃,统计阶跃的次数step_hv,这里的阶跃的次数step_hv可以是一个保存在摩尔纹检测单元141A中的变量。
以Y22为例,对于diffHr22-21=-1说明从Y21到Y22的Y分量的变化方向是下降,对于diffHr23-22=1说明从Y22到Y23的Y分量的变化方向是上升。通过计算Y22和Y21 和Y23与Y22,diffHr22-21和diffHr23-22的乘积来判断在Y22是否发生了阶跃。当待检测像素点与其连续两个相邻像素点在水平方向上的Y分量的差之间的乘积为负,则说明在该像素点处出现了一个阶跃。这里的阶跃,也就是Y22与其连续两个相邻像素点Y21和 Y23在水平方向上的Y分量的差从-1跳变到1的过程,从-1跳变到1说明,从Y21到Y22 到Y23在其Y分量上出现了一个“下降沿+上升沿”。可以理解,Y22出现阶跃的情况也可以是,Y22与其连续两个相邻像素点Y21和Y23在水平方向上的Y分量的差从1跳变到-1,也就是从Y21到Y22到Y23在其Y分量上出现一个“上升沿+下降沿”的过程。
可以理解,以Y22为例,如果在Y22处出现了阶跃,说明从Y21到Y22,以及从Y22 到Y23,Y分量的数值发生了较大的变化。同时,将阶跃的次数加1记数。
除了Y21与Y22以及Y23与Y22之间,在Y22的水平方向上,还需要计算Y21与 Y20以及Y22与Y21之间,Y23与Y22以及Y24与Y23之间是否出现阶跃,如果出现,也将阶跃的次数加1记数。
同理,以Y32与Y22以及Y22与Y12之间为例,也就是Y22垂直方向上的Y12和 Y32,也通过上述步骤a)到e)计算其Y分量的变化方向,即diffHr32-22和diffHr22-12,如果Y32与Y22以及Y22与Y12之间的Y分量也存在“下降沿+上升沿”或者“上升沿+ 下降沿”的过程,则说明Y22在垂直方向上也出现阶跃,并将阶跃的次数加1记数。
除了Y32与Y22以及Y22与Y12之间,在Y22的垂直方向上,还需要计算Y12与 Y02以及Y22与Y12之间,Y32与Y22以及Y42与Y32之间是否出现阶跃,如果出现,将阶跃的次数加1记数。
f)摩尔纹检测单元141A判断阶跃的次数是否大于0,如果是,则说明待检测像素点处于摩尔纹区域。
例如,依据上述diffHr22-21以及diffHr23-22的结果,判断出在Y22的水平方向上出现至少一次阶跃,因此摩尔纹检测单元141A确定Y22处于摩尔纹区域。并将阶跃的次数发送给摩尔纹校正单元141B。
在本申请的一些实施例中,在待检测像素点是待校正图像的边界上的像素点的情况下,如图7a所示,以Y00为例,假设Y00是待校正图像的第一个像素点,这时,以Y00为中心的水平和垂直方向上,各有一个方向上不存在像素点,因此,也不存在对应的Y分量。这时,如图7b所示,可以通过以Y00为中心,镜像复制其一侧的像素点后,使用上述公式(一)到(四)判断Y00在水平以及垂直方向上与的相邻像素点之间的Y分量上是否发生阶跃。例如,以上述Y00为例,在水平方向上,其只有右侧存在相邻像素点Y01,Y02,因此以Y00为中心,镜像复制Y01和Y02至Y00左侧,作为Y00的左侧的像素点。同理,在垂直方向上,以Y00为中心,镜像复制Y10,Y20至Y00上方,作为Y00的上方的像素点。
S503:摩尔纹检测单元141A继续检测下一个待检测像素点。
在校正完待检测像素点后或者待检测像素点没有处于摩尔纹区域的情况下,滑动窗按照步长为1水平滑动至下一个待检测像素点,对滑动窗内的下一个待检测像素点进行摩尔纹检测。以Y22为例,如图8所示,在校正完Y22后,滑动窗按照步长为1滑动至下一个待检测像素点Y23。
可以理解,在一些实施例中,滑动窗也可以按照步长为1在垂直方向上滑动。
可以理解,除了S502中的摩尔纹像素点的检测方法,以水平方向上为例,当待检测像素点的左侧的相邻像素点以及右侧的相邻像素点的亮度值皆小于或者大于待检测像素点的亮度值,并且,该左侧的相邻像素点和待检测像素的亮度值差值的绝对值大于第一阈值,右侧的相邻像素点和待检测像素的亮度值差值的绝对值大于第二阈值的情况下,也可以确定待检测像素点出现阶跃。
S504:摩尔纹校正单元141B对待检测像素点进行摩尔纹校正。
在一些实施例中,摩尔纹校正单元141B对待检测像素点进行摩尔纹校正的过程,包括:
a)摩尔纹校正单元141B计算待检测像素点在水平以及垂直方向上的隔行隔列的像素点的Y分量的差值。
对于滑动窗中的待检测像素点,计算在其水平和垂直方向上隔行隔列的像素点的Y分量的差值的和,作为滑动窗的纹理评价指标step_tex。
例如,对于图6所示的滑动窗来说,将Y22作为当前的待检测像素点,如图6所示,在Y22水平方向上,存在Y20,Y21,Y22,Y23和Y24五个像素点,需要计算Y20与 Y22之间,Y21与Y23之间以及Y22与Y24之间的Y分量的差值。同理,在垂直方向上,需要计算Y22与Y02,Y32与Y12之间,Y42和Y22以及之间的Y分量的差值,在对求出的差值进行求和计算。
以计算Y22在水平和垂直方向上与其隔行隔列的像素点的Y分量的差值为例进行说明,继续参考图9,以摩尔纹检测单元141A需要计算其水平方向上Y24与Y22以及垂直方向上Y42与Y22之间的差值即可,可以通过以下公式(五)计算Y24与Y22之间Y分量的差值。
tex24-22=Y24-Y22 (五)
接着,摩尔纹校正单元141B从Y24与Y22的Y分量的差值中去除噪声信号。该步骤与上述S502中的步骤b)相同。
可以通过以下公式(六)从Y24与Y22的Y分量的差值中去除噪声信号。
texHa24-22=abs(tex24-22)-tn (六)
然后,摩尔纹校正单元141B将Y24与Y22的Y分量的差值转换为Y22与其相邻像素点在Y分量上的变化方向。该步骤与上述S502中的步骤c)相同,可以通过公式(七) Y24与Y22的Y分量的差值转换为Y22与其相邻像素点在Y分量上的变化方向。
texH24-22=sign(tex24-22)*texHa (七)
摩尔纹校正单元141B获取对Y24与Y22在Y分量上的变化方向。该步骤与上述S502中的步骤d)相同,使用以下公式(八)对texH24-22再次进行符号运算,获取对Y24与Y22 在Y分量上的变化方向。
Figure GDA0003994400680000141
最后,将Y24与Y22在Y分量上的变化方向的值texHr24-22,累加至滑动窗的纹理评价指标step_tex。
例如,当Y24=2.0,Y22=1,Y20=1.5并且tn=0.4时,对于Y24和Y22之间,
tex24-22=Y24-Y22=1;texHa24-22=abs(1)-0.4=0.6;
texH24-22=sign(1)*(0.6)=0.6;texHr24-22=1。
因此,对于Y24与Y22,texHr24-22=1。累加后的纹理评价指标step_tex=1。
可以理解,除了Y24与Y22之间,还需要计算Y22与Y20,Y23与Y21之间的texHr22-20和texHr23-21
同理,对于Y42与Y22之间,也计算其Y分量的变化方向的值texHr42-22,并将texHr42-22累加至滑动窗的纹理评价指标step_tex。
可以理解,除了Y42与Y22之间,还需要计算Y22与Y02,Y32与Y12之间的texHr22-02和texHr32-12
可以理解,除了当前的待检测像素点Y22在水平以及垂直方向上的隔行隔列的像素点的Y分量的差值。对于滑动窗中的其他像素点,也需要计算其水平以及垂直方向上的隔行隔列的像素点的Y分量的差值,并统计至滑动窗的纹理评价指标step_tex。例如,对于Y00来说,需要计算Y02与Y00之间以及Y20与Y00之间的差值。
在本申请的一些实施例中,如果滑动窗中的一部分像素点不存在于该滑动窗内的水平和垂直方向上隔行隔列的像素点时,则不用计算其Y分量的差值。例如,以图6中的Y04为例,在水平方向上,在滑动窗中,Y04不存在隔列的像素点,因此,不用计算其水平方向上的Y分量的变化方向。
b)在摩尔纹校正单元141B计算出滑动窗中所有像素点的纹理评价指标后,摩尔纹校正单元141B通过待检测像素点的阶跃的次数和纹理评价指标计算出待检测像素点的校正参数。
摩尔纹校正单元141B可以通过从摩尔纹检测单元141A获取的待检测像素点的阶跃的次数step_hv以及自身计算出的滑动窗的纹理评价指标step_tex,使用公式(九)计算出待检测像素点的校正参数alpha。
moire=step_hv/step_tex
alpha=k1/(1+e-a*(moire-b))-k2 (九)
对于校正参数alpha来说,a,b,k1,k2为调试参数。1+e-a*(moire-b)为高斯距离。校正参数alpha的公式的图像可以如图10所示,通过调节校正参数alpha的公式中的a,b,k1,k2,使计算出的alpha的范围可以在(0,1)之间,并且使得校正参数alpha的函数图像趋于平滑。调节参数a,b,k1,k2的过程可以包括:首先,准备一组moire的训练数据,以及与moire 的训练数据对应的alpha的训练结果,例如,100个范围在[1,20]之间的moire的训练数据,以及与其对应的100个范围在(0,1)之间的alpha的训练结果。然后,将moire的训练数据输入公式后与alpha的训练结果进行比较,求出100组a,b,k1,k2的范围。最后,在100组 a,b,k1,k2中取其各自的中值作为校正参数alpha的公式的参数,中值表示通过moire的训练数据以及alpha的训练结果获得的a,b,k1,k2比较集中的数值。可以理解,对于参数a,b, k1,k2,可以使用不同的moire的训练数据以及alpha的训练结果重复多次上述步骤,以获得更加精确的参数a,b,k1,k2。
c)摩尔纹校正单元141B使用校正参数对滑动窗中的待检测像素点进行摩尔纹校正。
在本申请的实施例中,摩尔纹校正单元141B可以采用十字中值滤波方式计算出待检测像素点的校正中值。
继续参考图9,以待检测像素点Y22为例进行说明,采用十字中值滤波方式计算出Y22 的校正中值med22
例如,如图9所示,对于滑动窗中的Y22,获取以Y22为中心,获取其在滑动窗内的Y22的水平和垂直方向上的Y02,Y12,Y32,Y42以及Y20 Y21 Y23 Y24的Y分量加上Y22,计算出上述9个Y分量对于Y22的校正中值med22为2。
同时,摩尔纹校正单元141B采用十字滤波方式计算出待检测像素点的均值。
例如,对于滑动窗中的Y22,采用十字中值滤波方式计算出均值mean22包括,获取Y22周围的Y02,Y12,Y32,Y42以及Y20 Y21 Y23 Y24的Y分量加上Y22,计算出上述9 个Y分量对于Y22的均值mean22为1.89。
然后,摩尔纹校正单元141B使用待检测像素点的校正中值和均值计算出校正Y分量例如,使用以下公式(十)计算出Y22的校正Y分量CorY。
CorY22=beta*med22+(1-beta)*mean22 (十)
例如,其中beta为调整参数,在Y22的校正中值med22为2,Y22的均值mean22为1.89,beta为0.5的情况下,计算出Y22的校正Y分量CorY22为1.94。
最后,摩尔纹校正单元141B基于校正参数和校正Y分量对待检测像素点进行校正。
例如,摩尔纹校正单元141B使用(十一)计算出Y22的校正后的Y分量Yout22
Yout22=alpha*CorY22+(1-alpha)*Y22(十一)
例如,在Y22的校正Y分量CorY22为1.94,alpha为0.4的情况下,计算出的Y22的校正后的Y分量Yout22为1.37。
在本申请的另一实施例中,可以采用另一种大小的窗口对待检测像素点进行校正中值和均值的计算。
例如,如图11所示,通过一个3×3大小的窗口对Y22进行校正中值med22和均值mean22的计算。在图11中,以Y22为中心,获取其在滑动窗内的Y22的水平和垂直方向上的Y12,Y32,以及Y21和Y23的Y分量加上Y22,计算出上述5个Y分量对于Y22的校正中值med22为1.5。同理,计算出Y22的均值mean22为1.6。
S505:色彩校正单元141C对校正后的待检测像素点进行伪色抑制。
继续以Y22为例,在摩尔纹校正单元141B对滑动窗中的待检测像素点Y22的Y分量进行摩尔纹校正后,色彩校正单元141C使用校正参数alpha对待检测像素点Y22对应的U 分量和V分量进行伪色抑制。
例如,根据S504中计算得到的上述校正参数alpha=0.4,对U分量和V分量表示的饱和度进行抑制。
对于滑动窗中Y22对应的U22来说,可以使用以下公式(十二)Uout22=(U22–128) *(1–alpha)*C(十二)对Y22的U分量进行饱和度抑制。其中,128表示U分量的中值,其表示无饱和度。C为调试参数。例如,根据Y分量计算得到的校正参数alpha=0.4, U22=156,C=4时,Uout22=(156-128)*(1-0.4)*4=112。同理,当Y22对应V22=180时,根据Vout22=(V–128)*(1–alpha)*C计算出Vout22=124。
在校正完待检测像素点后,执行步骤503,滑动窗按照步长为1水平滑动至下一个待检测像素点。
可以理解,上述S501至S505中使用的数值都是示例性的,在使用本申请的方法的时候,可以包括其他的数值。
可以理解,在本申请的另一实施例中,还可以通过检测待检测像素点与其对角方向上的相邻像素点之间的亮度变化,确定拍摄待检测像素点的亮度是否出现阶跃。例如,可以通过判断待检测像素点左上侧的像素点到待检测像素点的亮度变化方向与待检测像素点右下侧的像素点到待检测像素点的亮度变化方向是否相反,来判断是否出现阶跃,如果两者的亮度变化方向相反,即上升后下降或者下降后上升,则说明出现阶跃。
在本申请的另一个实施例中,在手机100通过摩尔纹检测单元141A检测出摩尔纹像素点后,还可以使用其他方式对摩尔纹像素点进行校正。
例如,将摩尔纹像素点的Y分量进行分解,获取摩尔纹像素点的摩尔纹层内容和图像层内容,然后,对摩尔纹层内进行滤波,分离去除摩尔纹像素点中的摩尔纹后,将图像层内容合并为摩尔纹像素点的Y分量。
可以理解,这里对摩尔纹层内进行滤波可以采用上述中值滤波的方式,也可以采用高斯滤波的方式。
在上述图5所示的图像的摩尔纹校正的方法中,以待检测像素点Y22的水平和垂直两个方向上,所有的相邻像素点之间亮度是否存在阶跃来判断该滑动窗内的像素点是否处于摩尔纹区域。下面以待检测像素点Y22的两个对角线方向上的所有的相邻像素点之间亮度是否存在阶跃来进行说明。
如图6所示,在摩尔纹检测单元141A确定待检测像素点Y22是否处于摩尔纹区域的时候,在Y22的左上至右下的对角线方向上,存在Y00,Y11,Y22,Y33和Y44五个像素点,摩尔纹检测单元141A需要计算Y22与Y11以及Y11与Y00之间,Y33与Y22以及Y22与Y11之间,Y44与Y33以及Y33与Y22之间的Y分量的差值。
以Y33与Y22以及Y22与Y11为例,可以通过上述公式(一)至公式(四),计算出Y33与Y22在Y分量上的变化方向diffHr33-22,以及Y22与Y11在Y分量上的变化方向 diffHr22-11。如果,diffHr33-22和diffHr22-11的乘积为负数,则说明从Y11到Y22到 Y33在其Y分量上出现一个“上升沿+下降沿”的过程,也就是在Y22出发生一个阶跃。同理,在Y22的左上至右下的对角线方向上,还需要计算Y22与Y11以及Y11与Y00之间以及Y22与Y11以及Y11与Y00之间是否发生阶跃,如果存在,统计至阶跃的次数 step_hv。
之后,同理,在左下至右上的对角线方向上,通过上述公式(一)至公式(四),摩尔纹检测单元141A需要计算Y22与Y31以及Y31与Y40之间,Y13和Y22以及Y22和 Y31之间,Y04与Y13以及Y13与Y22之间的Y分量的差值。并统计Y22与Y31以及 Y31与Y40之间,Y13和Y22以及Y22和Y31之间,Y04与Y12以及Y12与Y22之间是否发生阶跃,如果存在,统计至阶跃的次数step_hv。
这里,摩尔纹校正单元141B可以采用与S504中相同的方法,来计算滑动窗的纹理评价指标step_tex。也就是待检测像素点Y22为中点的滑动窗中的每个像素点的隔行隔列的 Y分量的变化方向的值。
除了上述步骤S502中描述的,确定以待检测像素点Y22为中点的5×5大小的滑动窗,通过计算以Y22为中心的各个方向上的像素点之间的亮度是否存在阶跃来确定该滑动窗的区域是否为摩尔纹区域,如果是,则对像素点Y22进行摩尔纹校正的方法。本申请的实施例还提供了另一种确定图像中的待检测像素点是否处于摩尔纹区域的方法。在该方法中,摩尔纹检测单元141A会对待校正图像中的每个像素点进行检测,以确定待校正图像中是否存在需要进行摩尔校正的像素点。在确定一个像素点是否需要进行摩尔校正时,需要确定该像素点是否位于摩尔纹区域。在一些实施例中,可以通过下列方法确定一个像素点是否位于摩尔纹区域。
先以待检测像素点为中心,确定包含待检测像素点的滑动窗;接着计算该滑动窗内存在阶跃的像素点的数目,如果超过阶跃阈值,则说明该滑动窗中具有位于摩尔纹区域的像素点,即位于中心的待检测像素点位于摩尔纹区域,需要进行摩尔校正,如果未超过阶跃阈值,则说明滑动窗内的像素点不处于摩尔纹区域,即位于中心的待检测像素点不位于摩尔纹区域,无需进行摩尔校正。下面将参考图12说明该方案。如图12所示,包括:
S1201:摩尔纹检测单元141A确定待校正图像中包含待检测像素点的滑动窗。
例如,摩尔纹检测单元141A可以使用与步骤S501中相同的方法获取待校正图像。在获取待校正图像之后,摩尔纹检测单元141A确定待校正图像中,以待检测像素点为中点的5×5大小的滑动窗。
S1202:摩尔纹检测单元141A确定滑动窗中是否有缺失的像素点。
在本申请的实施例中,如果摩尔纹检测单元141A确定待检测像素点位于待检测图像的边界或者靠近待检测图像的边界,则滑动窗中会存在缺失的像素点。在这种情况下,需要执行S1203,将缺失的像素点补全。这里,确定待检测像素点是否位于待检测图像的边界或者靠近待检测图像的边界的方法,可以通过判断待检测像素点的坐标与待检测图像的边界的坐标之间的差异来确定。
S1203:摩尔纹检测单元141A通过镜像复制的方式,补足滑动窗中缺失的像素点。
在本申请的实施例中,摩尔纹检测单元141A可以以待检测像素点为中心镜像复制与缺失的像素点相对的另一侧的像素点,以补全缺失的像素点。
例如,如图13a所示,滑动窗中的Y22位于待校正图像的左边界处,这时,以Y22 为中心的滑动窗中,除了Y22之外,Y02、Y12、Y32以及Y42的左侧都没有相邻像素点,这时,如图13b所示,摩尔纹检测单元141A可以通过以Y02、Y12、Y22、Y32以及Y42 为中心,镜像复制右侧的像素点,以补全缺失的像素点。在补全滑动窗中缺失的像素点后,执行S1204。
S1204:摩尔纹检测单元141A确定待检测像素点是否位于摩尔纹区域。
在本申请的实施例中,在滑动窗中的不存在缺失的像素点或者摩尔纹检测单元141A 通过执行S1203补全了滑动窗中的像素点后。摩尔纹检测单元141A检测待检测像素点是否位于摩尔纹区域。如果是,则执行S1205,对待检测像素点进行摩尔纹校正。如果不是,则执行S1207,摩尔纹检测单元141A在待校正图像中选择一未被检测的像素点作为待检测像素点,并确定包含待检测像素点的滑动窗。下文将详细描述S1204中摩尔纹检测单元141A确定待检测像素点是否位于摩尔纹区域的方法。
S1205:摩尔纹校正单元141B对待检测像素点进行摩尔纹校正。
摩尔纹校正单元141B可以使用与步骤S504中相同的方法对待检测像素点进行摩尔纹校正。例如,摩尔纹校正单元141B可以使用上述步骤S504中a)至c)的方法,计算出滑动窗的纹理评价指标,使用纹理评价指标以及存在亮度阶跃的像素点的数目计算出校正参数,对处于摩尔纹区域的待检测像素点进行摩尔纹校正。
S1206:色彩校正单元141C对校正后的待检测像素点进行伪色抑制。
色彩校正单元141C可以使用与步骤S505中相同的方法对校正后的待检测像素点进行伪色抑制。在完成对待检测像素的摩尔纹校正后,继续执行至S1206,继续检测下一个待检测像素点。
S1207:摩尔纹检测单元141A在待校正图像中存在未被检测的像素点的情况下,选择一未被检测的像素点作为待检测像素点。
在校正完待检测像素点后或者待检测像素点没有处于摩尔纹区域的情况下,摩尔纹检测单元141A可以使用与步骤S503中相同的方法继续在待校正图像中存在未被检测的像素点的情况下,选择一未被检测的像素点作为待检测像素点,对滑动窗内的待检测像素点进行摩尔纹检测。
下面将通过以下步骤a)至f)详细描述在步骤S1204中摩尔纹检测单元141A确定待检测像素点是否处于摩尔纹区域的方法。步骤S1204中包括的a)至f)可以与S502中描述的a)至f)相同的方法相同。
继续参考图13b,以图13b中的像素点Y24、Y23、Y22、Y23以及Y24为例,其中, Y24、Y23,是通过镜像复制Y22右侧的Y23以及Y24获得的像素点,通过以下方法计算存在亮度阶跃的像素点的数目。
a)摩尔纹检测单元141A计算滑动窗内的三个相邻的像素点的Y分量的差值。
继续参考图13b,以滑动窗内的Y24、Y23、Y22三个相邻的像素点为例,需要计算Y24与Y23以及Y23与Y22之间的Y分量的差值。这里的Y24、Y23、Y22是待检测像素点Y22水平方向上的三个相邻的像素点。
在摩尔纹检测单元141A确定并获取了Y24、Y23、Y22的Y分量后,计算Y24与Y23 以及Y23与Y22之间的Y分量的差值。这里,摩尔纹检测单元141A计算Y分量的差值的方法,可以与步骤S502的a)中的方法相同。摩尔纹检测单元141A通过计算Y24与Y23 之间Y分量的差值diff23-24和Y23与Y22之间的Y分量的差值diff22-23
b)摩尔纹检测单元141A从三个相邻的像素点的Y分量的差值中去除噪声。
这里,摩尔纹检测单元141A可以使用与步骤S502的b)中相同的方法,对获得的Y24与Y23之间Y分量的差值和Y23与Y22之间的Y分量的差值,计算其绝对值,减去预设的噪声模型标定参数,获得diffHa23-24和diffHa22-23
c)摩尔纹检测单元141A将三个相邻的像素点的Y分量的差值转换为三个相邻的像素点在Y分量上的变化方向。
这里,摩尔纹检测单元141A可以使用与步骤S502的c)中相同的方法,对去除噪声的 Y24与Y23之间diffHa23-24和Y23与Y22之间的diffHa22-23进行符号运算,获得Y24 与Y23以及Y23与Y22在Y分量上的变化方向diffH23-24和diffH22-23
d)摩尔纹检测单元141A获取三个相邻的像素点在Y分量上的变化方向。
这里,摩尔纹检测单元141A可以使用与步骤S502的d)中相同的方法,将Y24与Y23以及Y23与Y22在Y分量上的变化方向diffH23-24和diffH22-23转换为-1,0以及1的数值。这里的-1,0以及1表示Y24与Y23以及Y23与Y22在Y分量上呈上升,下降或者没有变化。
e)摩尔纹检测单元141A通过判断三个相邻的像素点在Y分量上的变化方向是否相反,来确定是否出现阶跃,如果发生阶跃,统计阶跃的次数step_hv。
这里,摩尔纹检测单元141A可以使用与步骤S502的e)中相同的方法,通过计算转换为-1,0以及1数值的Y24与Y23以及Y23与Y22在Y分量上的变化方向的乘积,确定在Y23是否发生了阶跃。当Y24与Y23以及Y23与Y22的Y分量的变化方向的乘积为负,则说明在该像素点处出现了一个阶跃。摩尔纹检测单元141A将阶跃的次数加1记数,统计至阶跃的次数step_hv。
f)摩尔纹检测单元141A判断阶跃的次数是否大于阶跃阈值,如果是,则说明滑动窗内的像素点处于摩尔纹区域。
这里,摩尔纹检测单元141A在确定完Y24、Y23、Y22三个像素点中Y23处发生阶跃后,摩尔纹检测单元141A继续确定滑动窗内其他的三个相邻的像素点是否发生阶跃,例如,Y23、Y22、Y23三个像素点,在摩尔纹检测单元141A计算完成滑动窗内所有相邻的像素点后,判断统计获得的阶跃的次数step_hv是否超过预设的阶跃阈值,如果超过,摩尔纹检测单元141A确定滑动窗内的像素点处于摩尔纹区域。并将阶跃的次数step_hv发送给摩尔纹校正单元141B。
上文S1204中通过摩尔纹检测单元141A计算待检测像素点Y22水平方向上的相邻像素点来确定滑动窗中存在亮度阶跃的像素点的数目。在本申请的另一个实施例中,在滑动窗如图6所示的情况下,上述S1204中摩尔纹检测单元141A计算滑动窗中存在亮度阶跃的像素点的数目的方法还可以通过以下步骤实现。
摩尔纹检测单元141A可以通过判断滑动窗内三个相邻的像素点之间的亮度是否存在阶跃来判断该滑动窗内的像素点是否处于摩尔纹区域。这里的三个像素点可以是该滑动窗内的某一方向上的三个相邻的像素点(例如,水平方向、或者垂直方向、与水平呈45度方向、或者其他任意方向上)。例如,三个相邻的像素点可以表示为第一像素点,第二像素点和第三像素点,以水平方向为例,第一像素点,第二像素点和第三像素点按从左至右的顺序位于滑动窗内,摩尔纹检测单元141A可以通过判断第一像素点到第二像素点的亮度变化方向与第二像素点到第三像素点的亮度变化方向是否相反,来判断在第二像素点处是否出现阶跃,如果两者的亮度变化方向相反,则说明在第二像素点处出现阶跃。对于垂直方向也是如此,第一像素点,第二像素点和第三像素点按从上至下的顺序位于滑动窗内,摩尔纹检测单元141A可以通过判断第一像素点到第二像素点的亮度变化方向与第二像素点到第三像素点的亮度变化方向是否相反,来判断在第二像素点处是否出现阶跃,如果两者的亮度变化方向相反,则说明在第二像素,来判断在第二像素点处是否出现阶跃,如果两者的亮度变化方向相反,即上升后下降或者下降后上升,则说明在第二像素点处出现阶跃。
下面以滑动窗中的水平方向上,三个相邻的像素点为例说明摩尔纹检测单元141A确定滑动窗内的像素点是否处于摩尔纹区域的过程,该过程包括:
a)摩尔纹检测单元141A计算滑动窗内的三个相邻的像素点的Y分量的差值。
继续参考图6,以滑动窗内的Y00,Y01,Y02三个相邻的像素点为例,需要计算Y00与Y01以及Y01与Y02之间的Y分量的差值。这里的Y00,Y01,Y02是图6所示的滑动窗内,水平方向上的三个相邻的像素点,可以理解,滑动窗内的三个相邻的像素点还可以是Y01,Y02,Y03;Y00,Y10,Y20以及Y00,Y11,Y22等,滑动窗内的水平方向、或者垂直方向、与水平呈45度方向、或者其他任意方向上的三个相邻的像素点。本申请的实施例以Y00,Y01,Y02三个相邻的像素点进行说明。
在摩尔纹检测单元141A确定并获取了Y00,Y01,Y02的Y分量后,计算Y00与Y01 以及Y01与Y02之间的Y分量的差值。这里,摩尔纹检测单元141A计算Y分量的差值的方法,可以与步骤S502的a)中的方法相同。摩尔纹检测单元141A通过计算获得diff01-00和diff02-01,其分别表示Y00与Y01之间Y分量的差值和Y01与Y02之间的Y分量的差值。
b)摩尔纹检测单元141A从三个相邻的像素点的Y分量的差值中去除噪声。
这里,摩尔纹检测单元141A可以使用与步骤S502的b)中相同的方法,对获得的Y00与Y01之间Y分量的差值和Y01与Y02之间的Y分量的差值,计算其绝对值,减去预设的噪声模型标定参数,获得diffHa01-00和diffHa02-01
c)摩尔纹检测单元141A将三个相邻的像素点的Y分量的差值转换为三个相邻的像素点在Y分量上的变化方向。
这里,摩尔纹检测单元141A可以使用与步骤S502的c)中相同的方法,对去除噪声的 Y00与Y01之间Y分量的差值diffHa01-00和Y01与Y02之间的Y分量的差值diffHa02-01 进行符号运算,获得Y00与Y01以及Y01与Y02在Y分量上的变化方向diffH01-00和 diffH02-01
d)摩尔纹检测单元141A获取三个相邻的像素点在Y分量上的变化方向。
这里,摩尔纹检测单元141A可以使用与步骤S502的d)中相同的方法,将Y00与Y01以及Y01与Y02在Y分量上的变化方向diffH01-00和diffH02-01转换为-1,0以及1的数值。这里的-1,0以及1表示Y00与Y01以及Y01与Y02在Y分量上呈上升,下降或者没有变化。
e)摩尔纹检测单元141A通过判断三个相邻的像素点在Y分量上的变化方向是否相反,来确定是否出现阶跃,如果发生阶跃,统计阶跃的次数step_hv。
这里,摩尔纹检测单元141A可以使用与步骤S502的e)中相同的方法,通过计算转换为-1,0以及1数值的Y00与Y01以及Y01与Y02在Y分量上的变化方向的乘积,确定在Y01是否发生了阶跃。当Y00与Y01以及Y01与Y02的Y分量的变化方向的乘积为负,则说明在该像素点处出现了一个阶跃。摩尔纹检测单元141A将阶跃的次数加1记数,统计至阶跃的次数step_hv。
f)摩尔纹检测单元141A判断阶跃的次数是否大于阶跃阈值,如果是,则说明滑动窗内的像素点处于摩尔纹区域。
这里,摩尔纹检测单元141A在确定完Y00、Y01和Y02三个像素点中Y01处是否发生阶跃后,摩尔纹检测单元141A继续确定滑动窗内其他的三个相邻的像素点是否发生阶跃,在摩尔纹检测单元141A确定完成滑动窗内其他的三个相邻的像素点后,判断统计获得的阶跃的次数step_hv是否超过预设的阶跃阈值,如果超过,摩尔纹检测单元141A确定滑动窗内的像素点处于摩尔纹区域。并将阶跃的次数step_hv发送给摩尔纹校正单元141B。例如,摩尔纹检测单元141A确定滑动窗的阶跃的次数step_hv为10,而预设的阶跃阈值为5,则摩尔纹检测单元141A确定滑动窗内的像素点处于摩尔纹区域。
在摩尔纹检测单元141A确定以待检测像素点Y22为中点形成的5×5大小的滑动窗内的像素点处于摩尔纹区域后,进入S1204,摩尔纹校正单元141B对待检测像素点Y22进行摩尔纹校正。
可以理解,除了上述Y00、Y01和Y02三个像素点,摩尔纹检测单元141A还通过上述a-f的步骤检测滑动窗内的其他像素点。在滑动窗内的像素点不处于摩尔纹区域或者摩尔纹校正单元141B对滑动窗内的像素点完成摩尔纹校正后,滑动窗按照预设的步长在待校正图像内滑动,摩尔纹检测单元141A对滑动后的滑动窗内继续通过上述a-f的步骤检测滑动窗内的像素点,判断其是否处于摩尔纹区域。
在本申请的一个实施例中,摩尔纹检测单元141A是手机100中的ISP141中的硬件模块。在这种情况下,在摩尔纹检测单元141A采用上述a)-f)的步骤完成一次对滑动窗内的像素点是否处于摩尔纹区域的检测后,摩尔纹检测单元141A不会存储本次检测的结果。例如,参考图6和图8,以Y01、Y02和Y03三个相邻的像素点为例,在图6中,摩尔纹检测单元141A确定在Y02处发生阶跃。当滑动窗滑动至图8的位置,摩尔纹检测单元141A 将重新检测在Y02处是否发生阶跃,而不会读取之前的结果。
在本申请的一个实施例中,摩尔纹检测单元141A也可以是运行在手机100中的ISP141 中的软件模块。不同与硬件模块,在摩尔纹检测单元141A采用上述a-f的步骤完成一次对滑动窗内的像素点是否处于摩尔纹区域的检测后,摩尔纹检测单元141A可以在手机100 的存储区域内存储本次检测的结果。例如,参考图6和图8,以Y01、Y02和Y03三个相邻的像素点为例,在图6中,摩尔纹检测单元141A确定在Y02处发生阶跃。当滑动窗滑动至图8的位置,摩尔纹检测单元141A可以直接读取Y02发生阶跃的结果,而无需重新计算在Y02处是否发生阶跃。
现在参考图14,所示为根据本申请的一个实施例用于摩尔矫正的电子设备1400的框图。图14示意性地示出了根据多个实施例的示例电子设备1400。在一个实施例中,电子设备1400可以包括一个或多个处理器1404,与处理器1404中的至少一个连接的***控制逻辑1408,与***控制逻辑1408连接的***内存1412,与***控制逻辑1408连接的非易失性存储器(NVM)1416,以及与***控制逻辑1408连接的网络接口1420。
在一些实施例中,处理器1404可以包括一个或多个单核或多核处理器。在一些实施例中,处理器1404可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任意组合。处理器1404可以被配置为执行各种符合的实施例,例如,如图1-13所示的多个实施例中的一个或多个,对待校正图像中的摩尔纹进行校正。
在一些实施例中,***控制逻辑1408可以包括任意合适的接口控制器,以向处理器 1404中的至少一个和/或与***控制逻辑1408通信的任意合适的设备或组件提供任意合适的接口。
在一些实施例中,***控制逻辑1408可以包括一个或多个存储器控制器,以提供连接到***内存1412的接口。***内存1412可以用于加载以及存储数据和/或指令。在一些实施例中电子设备1400的内存1412可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(DRAM)。
NVM/存储器1416可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,NVM/存储器1416可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如HDD(Hard Disk Drive,硬盘驱动器), CD(Compact Disc,光盘)驱动器,DVD(Digital Versatile Disc,数字通用光盘)驱动器中的至少一个。
NVM/存储器1416可以包括安装在电子设备1400上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口1420通过网络访问NVM/存储1416。NVM/存储器1416可以被配置为用于存储待校正图像。
特别地,***内存1412和NVM/存储器1416可以分别包括:指令1424的暂时副本和永久副本。指令1424可以包括:由处理器1404中的至少一个执行时导致电子设备1400 实施如图1-13所示的方法的指令。在一些实施例中,指令1424、硬件、固件和/或其软件组件可另外地/替代地置于***控制逻辑1408,网络接口1420和/或处理器1404中。
网络接口1420可以包括收发器,用于为电子设备1400提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口1420可以集成于电子设备1400的其他组件。例如,网络接口1420可以集成于处理器1404的,***内存1412,NVM/存储器1416,和具有指令的固件设备(未示出) 中的至少一种,当处理器1404中的至少一个执行所述指令时,电子设备1400实现如图4 所示的方法。
网络接口1420可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口1420可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。
在一个实施例中,处理器1404中的至少一个可以与用于***控制逻辑1408的一个或多个控制器的逻辑封装在一起,以形成***封装(SiP)。在一个实施例中,处理器1404 中的至少一个可以与用于***控制逻辑1408的一个或多个控制器的逻辑集成在同一管芯上,以形成片上***(SoC)。
电子设备1400可以进一步包括:输入/输出(I/O)设备1432。I/O设备1432可以包括用户界面,使得用户能够与电子设备1400进行交互;***组件接口的设计使得***组件也能够与电子设备1400交互。在一些实施例中,电子设备1400还包括传感器,用于确定与电子设备1400相关的环境条件和位置信息的至少一种。
在一些实施例中,用户界面可包括但不限于显示器(例如,液晶显示器,触摸屏显示器等),扬声器,麦克风,一个或多个相机(例如,静止图像照相机和/或摄像机),手电筒(例如,发光二极管闪光灯)和键盘。这里的相机,用于拍摄待校正图像。
在一些实施例中,***组件接口可以包括但不限于非易失性存储器端口、音频插孔和电源接口。
在一些实施例中,传感器可包括但不限于陀螺仪传感器,加速度计,近程传感器,环境光线传感器和定位单元。定位单元还可以是网络接口1420的一部分或与网络接口1420交互,以与定位网络的组件(例如,全球定位***(GPS)卫星)进行通信。
根据本申请的实施例,图15示出了一种基于SoC(System on Chip,片上***)的电子设备1500的框图。在图15中,相似的部件具有同样的附图标记。另外,虚线框是更先进的SoC的可选特征。在图15中,电子设备1500包括:互连单元1550,其被耦合至应用处理器1515;***代理单元1570;总线控制器单元1580;集成存储器控制器单元1540;一组或一个或多个协处理器1520,其可包括集成图形逻辑、图像处理器、音频处理器和视频处理器;静态随机存取存储器(SRAM)单元1530;直接存储器存取(DMA)单元1560。在一个实施例中,协处理器1520包括专用处理器,诸如例如网络或通信处理器、压缩引擎、 GPGPU、高吞吐量MIC处理器、或嵌入式处理器等等。应用处理器1515以及协处理器1520 可以配置为对待校正图像中的摩尔纹进行校正。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程***上执行的计算机程序或程序代码,该可编程***包括至少一个处理器、存储***(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理***包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何***。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理***通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。

Claims (18)

1.一种图像摩尔纹校正方法,其特征在于,包括:
获取待校正图像;
基于所述待校正图像中各像素点的亮度分量值,确定所述像素点是否位于摩尔纹区域,包括:
从待校正图像中选择待检测像素点的检测窗口所包括的像素点,其中,所述检测窗口包括所述待检测像素点,并且所述检测窗口包括M×M个像素点,M为大于1的奇数;
基于所述检测窗口中各像素点的亮度值,计算所述检测窗口中发生亮度阶跃的像素点的数目;
在所述检测窗口中发生亮度阶跃的像素点的数目超过预设数目的情况下,确定所述待检测像素点位于摩尔纹区域中,其中,通过以下方式确定所述像素点是否发生亮度阶跃:
在所述检测窗口内的至少一个检测方向上的第一像素点至第二像素点的亮度值的亮度变化方向和所述第二像素点至第三像素点的亮度值的亮度变化方向不同的情况下,确定在所述第二像素点处发生亮度阶跃,其中所述第一像素点、所述第二像素点和所述第三像素点分别为在所述检测窗口内的三个相邻的像素点,所述亮度值的亮度变化方向包括亮度增大和亮度减小两种方向;
在所述像素点位于摩尔纹区域的情况下,对所述像素点进行摩尔矫正。
2.根据权利要求1所述的方法,其特征在于,所述待检测像素点位于所述检测窗口的中心。
3.根据权利要求1所述的方法,其特征在于,通过以下方式确定第一像素点至第二像素点的亮度变化方向和所述第二像素点至第三像素点的亮度变化方向是否相同:
通过以下公式计算所述第一像素点与所述第二像素点的亮度值阶跃符号diffH_r1:
Figure FDA0003994400670000011
其中,diffH1通过以下公式计算得到:
diffH1=sign(diff1)*diffHa1
其中,sign(diff1)为所述第一像素点与所述第二像素点的亮度值差值的符号位,diffHa1通过以下公式计算得到:
diffHa1=abs(diff1)-tn
其中,abs(diff1)为所述第一像素点与所述第二像素点的亮度值差值的绝对值,tn为噪声模型标定参数;
通过以下公式计算所述第二像素点与所述第三像素点的亮度值阶跃符号diffH_r2:
Figure FDA0003994400670000021
其中,diffH2可以通过以下公式计算得到:
diffH2=sign(diff2)*diffHa2
其中,sign(diff2)为所述第二像素点与所述第三像素点的亮度值差值的的符号位,diffHa2可以通过以下公式计算得到:
diffHa2=abs(diff2)-tn
其中,abs(diff2)为所述第二像素点与所述第三像素点的亮度值差值的绝对值;
在所述diffH_r1与所述diffH_r2的乘积为负数的情况下,确定所述第一像素点至所述第二像素点的亮度变化方向和所述第二像素点至所述第三像素点的亮度变化方向不同。
4.根据权利要求3所述的方法,其特征在于,在所述第一像素点与所述第二像素点的亮度值差值为负数的情况下,所述符号位为-1;在所述第一像素点与所述第二像素点的亮度值差值为非负数的情况下,所述符号位为1,并且,在所述第二像素点与所述第三像素点的亮度值差值为负数的情况下,所述符号位为-1;在所述第二像素点与所述第三像素点的亮度值差值为非负数的情况下,所述符号位为1。
5.根据权利要求3所述的方法,其特征在于,所述噪声模型标定参数用于去除所述第一像素点与所述第二像素点的亮度值差值的绝对值和所述第二像素点与所述第三像素点的亮度值差值的绝对值中的噪声信号。
6.根据权利要求3所述的方法,其特征在于,在所述第一像素点的亮度值小于所述第二像素点的亮度值,并且所述第一像素点和所述第二像素点的亮度值差值的绝对值大于第一阈值,并且,所述第三像素点的亮度值小于所述第二像素点的亮度值,并且所述第三像素点和所述第二像素点的亮度值差值的绝对值大于第二阈值的情况下,确定所述第二像素点处产生亮度阶跃。
7.根据权利要求1所述的方法,其特征在于,在所述像素点位于摩尔纹区域的情况下,对所述像素点进行摩尔矫正,包括:
基于所述检测窗口中各像素点的亮度值,计算所述检测窗口中的纹理评价指标,其中所述纹理评价指标用于描述所述检测窗口中各像素点的亮度值的分布状态。
8.根据权利要求7所述的方法,其特征在于,通过以下公式计算所述检测窗口中的纹理评价指标:
通过以下公式计算所述检测窗口中每一个像素点与第四像素点的亮度值阶跃符号texH_r3的,其中,所述第四像素点为所述检测窗口内的一个像素点:
Figure FDA0003994400670000022
其中,texH3通过以下公式计算得到:
texH3=sign(tex3)*texHa3
其中,sign(tex3)为所述每一个像素点与所述第四像素点的亮度值差值的符号位,texHa3通过以下公式计算得到:
texHa3=abs(tex3)-tn
其中,abs(tex3)为所述每一个像素点与所述第四像素点的亮度值差值的绝对值,tn为噪声模型标定参数;
求出所述检测窗口中的所述每一个像素点与所述第四像素点的亮度值阶跃符号texH_r3的总和,记为所述检测窗口的纹理评价指标。
9.根据权利要求8所述的方法,其特征在于,通过所述检测窗口中发生亮度阶跃的像素点的数目与所述检测窗口的纹理评价指标计算出对所述待检测像素点进行摩尔纹校正的校正参数,通过以下公式计算所述校正参数:
moire=step_hv/step_tex
alpha=k1/(1+e-a*(moire-b))-k2
其中,step_hv为所述检测窗口中发生亮度阶跃的像素点的数目,step_tex为所述检测窗口的纹理评价指标,alpha为校正参数,a,b,k1,k2为调试参数。
10.根据权利要求9所述的方法,其特征在于,通过以下公式对所述待检测像素点的亮度值进行校正:
CorY=beta*med+(1-beta)*mean
Yout=alpha*CorY+(1-alpha)*Y
其中,med和mean为以所述待检测像素点为中心的至少一个方向上的各个像素点与所述待检测像素点的亮度值的中值和均值;beta为调整参数,CorY为所述待检测像素点的亮度值的校正分量,Y为所述待检测像素点的亮度值,Yout为校正后的所述待检测像素点的亮度值。
11.根据权利要求2所述的方法,其特征在于,在所述待检测像素点与所述待校正图像的至少一条边界之间的距离小于M的情况下,所述检测窗口的部分区域位于所述待校正图像的边界之外。
12.根据权利要求11所述的方法,其特征在于,以所述待检测像素点为中心基于平行于所述边界的方向为对称轴,使用所述检测窗口的像素点的亮度值补足所述部分区域。
13.根据权利要求1所述的方法,其特征在于,所述摩尔纹校正方法通过电子设备的图像信号处理器实现,并且所述待校正图像为所述电子设备的相机拍摄的图像。
14.根据权利要求1所述的方法,其特征在于,所述待校正图像的格式为亮度宽度色度空间的格式。
15.根据权利要求1所述的方法,其特征在于,所述检测方向为所述摩尔纹区域中水平方向或者垂直方向或者对角线方向。
16.一种可读介质,其特征在于,所述可读介质中存储有指令,该指令被电子设备运行时,所述电子设备执行如权利要求1-15中任意一项所述的图像摩尔纹校正方法。
17.一种电子设备,其特征在于,包括:
存储器,所述存储器中存储有指令,和
处理器,用于读取并执行所述存储器中的指令,以使得所述电子设备执行如权利要求1-15中任意一项所述的图像摩尔纹校正方法。
18.根据权利要求17所述的电子设备,其特征在于,所述处理器包括图像信号处理器。
CN202110006964.7A 2020-09-30 2021-01-05 图像摩尔纹校正方法及其电子设备和介质 Active CN112598600B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011064866 2020-09-30
CN2020110648660 2020-09-30

Publications (2)

Publication Number Publication Date
CN112598600A CN112598600A (zh) 2021-04-02
CN112598600B true CN112598600B (zh) 2023-03-10

Family

ID=75206945

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110006964.7A Active CN112598600B (zh) 2020-09-30 2021-01-05 图像摩尔纹校正方法及其电子设备和介质

Country Status (1)

Country Link
CN (1) CN112598600B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421087B1 (en) * 1997-03-05 2002-07-16 Canon Kabushiki Kaisha Image pickup apparatus having a signal processor for generating luminance and chrominance signals in accordance with image pickup signals
CN104813648A (zh) * 2012-12-11 2015-07-29 富士胶片株式会社 图像处理装置、摄像装置、图像处理方法及图像处理程序
CN108615227A (zh) * 2018-05-08 2018-10-02 浙江大华技术股份有限公司 一种图像摩尔纹的抑制方法及设备
CN108846818A (zh) * 2018-06-25 2018-11-20 Oppo(重庆)智能科技有限公司 去除摩尔纹的方法、装置、终端及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004025645A1 (de) * 2004-05-24 2005-12-29 Jenoptik Laser, Optik, Systeme Gmbh Verfahren zur Reduzierung von Farbmoire in digitalen Bildern

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421087B1 (en) * 1997-03-05 2002-07-16 Canon Kabushiki Kaisha Image pickup apparatus having a signal processor for generating luminance and chrominance signals in accordance with image pickup signals
CN104813648A (zh) * 2012-12-11 2015-07-29 富士胶片株式会社 图像处理装置、摄像装置、图像处理方法及图像处理程序
CN108615227A (zh) * 2018-05-08 2018-10-02 浙江大华技术股份有限公司 一种图像摩尔纹的抑制方法及设备
CN108846818A (zh) * 2018-06-25 2018-11-20 Oppo(重庆)智能科技有限公司 去除摩尔纹的方法、装置、终端及计算机可读存储介质

Also Published As

Publication number Publication date
CN112598600A (zh) 2021-04-02

Similar Documents

Publication Publication Date Title
US10497097B2 (en) Image processing method and device, computer readable storage medium and electronic device
US8890963B2 (en) Image quality evaluation device, terminal device, image quality evaluation system, image quality evaluation method and computer-readable recording medium for storing programs
US8363123B2 (en) Image pickup apparatus, color noise reduction method, and color noise reduction program
US8471932B2 (en) Spatial filtering for image signal processing
US8922680B2 (en) Image processing apparatus and control method for image processing apparatus
US9111365B2 (en) Edge-adaptive interpolation and noise filtering method, computer-readable recording medium, and portable terminal
US10516860B2 (en) Image processing method, storage medium, and terminal
CN104380727B (zh) 图像处理装置和图像处理方法
US8379977B2 (en) Method for removing color fringe in digital image
CN113096022B (zh) 图像虚化处理方法、装置、存储介质与电子设备
JP5749409B2 (ja) 撮像装置、画像処理方法及びプログラム
US8736739B2 (en) Imaging apparatus, imaging control method, and program
CN112598600B (zh) 图像摩尔纹校正方法及其电子设备和介质
JP5877931B2 (ja) 画素補間装置およびその動作制御方法
EP2696584B1 (en) Image capturing device and image capturing method
CN109672829B (zh) 图像亮度的调整方法、装置、存储介质及终端
US8675106B2 (en) Image processing apparatus and control method for the same
KR102015585B1 (ko) 영상 처리 장치 및 영상 처리 방법
WO2014007041A1 (ja) 画像処理装置および方法ならびに撮像装置
JP2013223108A (ja) 画像処理装置、情報端末、画像処理方法及びプログラム
JP2013225772A (ja) 画像処理装置及び方法
KR100799834B1 (ko) 노이즈 특성이 개선된 영상 프레임 획득방법
JP4155559B2 (ja) 信号処理装置及び方法
CN115767287A (zh) 图像处理方法与电子设备
CN118233718A (zh) 坏点校正方法及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant