【技术实现步骤摘要】
一种面向硬件的联合去噪去马赛克方法
[0001]本专利技术涉及图像信号处理领域,具体的说是一种面向硬件的联合去噪去马赛克方法。
技术介绍
[0002]智能手机由于其普及型、便携性以及强大的处理能力,已经取代数码相机和单反相机,成为日常摄影的主要工具。图像信号处理器作为成像系统中的重要环节,在很大程度上决定了图像质量的好坏。在智能手机平台的图像信号处理器有几大挑战:(1)作为单反相机的替代品,智能手机尤其是旗舰手机对图像质量的要求很高;(2)由于硬件面积和功耗的限制,在智能手机平台对算法复杂度的要求也很高;(3)手机平台需要实时处理高帧率高分辨率图像的能力。在图像信号处理器中,去噪和去马赛克作为其中的主要组成部分,是近年来的热门研究课题。
[0003]早期的去马赛克和去噪是分开进行的,在图像信号处理流程中处于级联模式。具体有两种实现方式:先去噪后去马赛克;先去马赛克后去噪。这两种方式均有优缺点。先去马赛克后去噪的优势在于,在去噪时,三通道的信息都是齐全的,因此可以达到较优的去噪效果。但其劣势是去马赛克时观测到的是带噪声的原始Raw图,因此去马赛克的效果会受噪声影响。相反,先去噪后去马赛克的优势是去马赛克时能够看到无噪声的图,便于得到较好的去马赛克结果。但劣势在单通道的Raw图上去噪有比较大的挑战,如果去噪效果不好,会损失分辨率,也会造成去马赛克中的伪彩色。
[0004]由于分开的去马赛克和去噪存在缺陷,之后大部分的解决方案都转向了联合去噪和去马赛克。传统的联合去噪去马赛克方法对问题进行数学建模,然后利用
【技术保护点】
【技术特征摘要】
1.一种面向硬件的联合去噪去马赛克方法,其特征按如下步骤进行:步骤1,获取二维Bayer图像I
Bayer
,其中,所述二维Bayer图像I
Bayer
是以维度为2
×
2的阵列排列而成,每个阵列中的第一行第一列像素为B像素,第一行第二列像素和第二行第一列像素均为G像素,第二行第二列像素为R像素;步骤2,设定滑动窗口的尺寸为9
×
9;从所述二维Bayer图像I
Bayer
中的第一个像素点开始,以第一个像素点为中心像素点,按照从左到右,从上到下进行滑动窗口处理,得到每个滑动窗口所对应的图像块,且当滑动窗口中的中心像素点为R像素或者B像素,则计算对应图像块的中心像素点在其左右上下四方向的权重W
L
,W
R
,W
U
,W
D
,当中心像素点所在的图像块内的像素点不满足9
×
9的尺寸,则采用镜像的方式填补;步骤3,对每个滑动窗口内的R像素、G像素和B像素分别计算其平均值M
R
,M
G
,M
B
;并分别计算R像素的白平衡系数和B像素的白平衡系数再对滑动窗口内的R像素和B像素分别乘以对应的白平衡系数,从而得到每个滑动窗口内更新后的图像块;步骤4,自动镜像反转:步骤4.1,利用式(1)计算任一滑动窗口内更新后的图像块中的中心像素点在其左右上下四个方向的梯度和TD
L
,TD
R
,TD
U
,TD
D
:式(1)中,A表示9
×
9的图像块,(i,j)表示中心像素点的坐标,(m,n)表示图像块中任意一个像素点;步骤4.2,将左右梯度值的差异与所设定的阈值T进行比较,如果则将更新后的图像块中右半部分的像素点赋值给左半部份的像素点,如果则将更新后的图像块中左半部分的像素点赋值给右半部份的像素点;步骤4.3,将上下梯度值的差异与所设定的阈值T进行比较,如果则更新后的图像块中下半部分的像素点赋值给上半部分的像素点,如果则更新后的图像块中上半部分的像素点赋值给下半部分的像素点,从而得到镜像反转后的图像块;步骤5,根据式(1)计算镜像反转后的图像块的中心像素点(i,j)在其左右上下四个方向的梯度和TD
′
L
,TD
′
R
,TD
′
U
,TD
′
D
;再利用单调下降函数将梯度和TD
′
L
,TD
′
R
,TD
′
U
,TD
′
D
转换成对应四个方向的局部梯度权重W
L
‑
Local
,W
R
‑
Local
,W
U
‑
Local
,W
D
‑
Local
;
步骤6,计算镜像反转后的图像块在水平方向和竖直方向的全局方向权重W
H
‑
global
,W
V
‑
global
:步骤6.1、获取镜像反转后的图像块的中心像素点(i,j)所在的5
×
5尺寸的Raw数据块,利用式(2)计算所述Raw数据块中像素点(m,n)处的水平方向和竖直方向的全局梯度H1(m,n),V1(m,n),从而得到所述Raw数据块的15个水平方向和竖直方向的全局梯度:H1(m,n)=|A
′
(i+m,j+n)
‑
A
′
(i+m,j+n+2)|(2)V1(m,n)=|A
′
(i+m,j+n)
‑
A
′
(i+m+2,j+n)|式(2)中,A
’
表示5
×
5尺寸的Raw数据块;步骤6.2、从15个水平方向和竖直方向的全局梯度中剔除最大的3个水平方向和竖直方向的全局梯度以及最小的6个水平方向和竖直方向的全局梯度,用剩下的6个水平方向和竖直方向的全局梯度的平均值即为计算所述Raw数据块在水平方向和竖直方向的全局最优梯度;并利用单调下降函数将全局最优梯转换成在水平方向和竖直方向的全局方向权重W
H
‑
global
,W
V
‑
global
;步骤7,计算镜像反转后的图像块在水平方向和竖直方向的通道间权重W
H
‑
Var
,W
V
‑
Var
:步骤7.1、利用式(3)计算所述Raw数据块中像素点(m,n)处的水平方向和竖直方向的通道间梯度H2(m,n),V2(m,n),从而得到所述Raw数据块的20个水平方向和竖直方向的全局梯度:H2(m,n)=|A
′
(i+m,j+n)
‑
A
′
(i+m,j+n+1)|(3)V2(m,n)=|A
′
(i+m,j+n)
‑
A
′
(i+m+1,j+n)|步骤7.2、从20个水平方向和竖直方向的全局梯度中剔除最大的4个水平方向和竖直方向的全局梯度以及最小的8个水平方向和竖直方向的全局梯度,用剩下的8个水平方向和竖直方向的全局梯度的平均值即为所述Raw数据块在水平方向和竖直方向的全局最优梯度;并利用单调下降函数将全局最优梯转换成在水平方向和竖直方向的全局方向权重W
H
‑
Var
,W
V
‑
Var
;步骤8,计算镜像反转后的图像块在水平方向和竖直方向的颜色方差权重W
H
‑
VarCbr
,W
V
‑
VarCbr
和绝对颜色权重W
H
‑
AbsCbr
,W
V
‑
AbsCbr
:步骤8.1,获取镜像反转后的图像块的中心像素点(i,j)所在的7
×
7尺寸的数据块,利用式(4)得到所述数据块中像素点(m,n)处水平方向和竖直方向的插值结果G
H
(m,n),G
V
(m,n):G
H
(m,n)=(G(i+m,j+n
‑
1)+G(i+m,j+n+1))/2(4)G
V
(m,n)=(G(i+m
‑
1,j+n)+G(i+m+1,j+n))/2式(4)中,G表示经过镜像反转后的7
×
7数据块中的G像素点的值;步骤8.2,计算插值后的数据块中每个像素点在水平方向的B像素与G像素之差的标准方差以及R像素与G像素之差的标准方差;计算插值后的数据块中每个像素点在竖直方向的B像素与G像素之差的标准方差以及R像素与G像素之差的标准方差;再利用单调下降函数将水平方向和竖直方向的标准方差转换成对应的颜色方差权重W
H
‑
VarCbr
,W
V
‑
VarCbr
;步骤8.3,计算插值后的数据块中每个像素点在水平方向的B像素与G像素之差的绝对
值的均值以及R像素与G像素之差的绝对值的均值;计算插值后的数据块中每个像素点在竖直方向的B像素与G像素之差的绝对值的均值以及R像素与G像素之差的绝对值的均值;再利用单调下降函数将水平方向和竖直方向的均值转换成对应的绝对颜色权重W
H
‑
AbsCbr
,W
V
‑
AbsCbr
;步骤9,利用式(5)计算镜像反转后的图像块的中心像素点(i,j)在其四个方向的融合权重W
L
‑
init
,W
R
‑
init
,W
U
‑
init
,W
D
‑
init
:步骤10,利用式(6)计算计算镜像反转后的图像块在水平方向和竖直方向的颜色权重W
H
‑
Color
,W
V
‑
Color
:W
H
‑
Color
=W
H
‑
VarCbr
.W
H
‑
AbsCbr
(6)W
V
‑
Color
=W
V
‑
VarCbr
.W
V
‑
AbsCbr
步骤11,定义颜色阈值为Thre_Color,如果或者或者则利用式(7)得到融合权重W
L
,W
R
,W
U
,W
D
;否则,直接将W
L
‑
init
,W
R
‑
init
,W
U
‑
init
,W
D
‑
init
依次赋值给融合权重W
L
,W
R
,W
U
,W
D
;W
L
=W
R
=W
H
‑
Color
(7)W
U
=W
D
=W
H
‑
Color
步骤12,利用融合权重W
L
,W
R
,W
U
,W
D
对二维Bayer图像I
Bayer
进行插值,得到初始绿色目标图像I
Green
‑
Init
:对二维Bayer图像I
Bayer
中原始的图像块,若其中心像素点(i,j)为G像素,则将中心像素点(i,j)的值复制给绿色目标图像I
Green
‑
Init
的中心像素点的值GV;若其中心像素点(i,j)为B像素,则按照式(8)得到绿色目标图像I
Green
‑
Init
的中心像素点的值GV;若其中心像素点(i,j)采样点为R像素,则将式(8)的B像素替换成R像素后,计算得到绿色目标图像I
Green
‑
Init
的中心像素点的值GV;式(8)中,G
L
表示原始的图像块的中心像素点(i,j)左侧G像素点的值,G
R
表示原始的图像块的中心像素点(i,j)右侧的G像素点的值,G
U
表示原始的图像块的中心像素点(i,j)上方的G像素点的值,G
D
表示原始的图像块的中心像素点(i,j)下方的G像素点的值;B表示9
×
9尺寸的原始的图像块中B像素点的值;步骤13,计算绿色目标图像I
Green
的自适应高频系数β
*
:步骤13.1:对二维Bayer图像I
Bayer
中原始的图像块,若其中心像素点(i,j)为R像素或者B像素,则执行步骤13.2;否则,步骤13.2:获取中心像素点(i,j)所在的3
×
3区域,并初始化高频系数β=min;步骤13.3:利用公式(9)计算高频系数β在3
×
3区域内所有非G像素的绿色通道:3区域内所有非G像素的绿色通道:式(9)中,G
′
L
表示3
×
3区域内中心像素点(i,j)左侧的G像素点的值,G
′
R
表示3
×
3区域内中心像素点(i,j)右侧的G像素点的值,G
′
U
表示3
×
3区域内中心像素点(i,j)上方的G像素点的值,G
′
D
表示3
×
3区域内中心像素点(i,j)下方的G像素点的值,GV1表示在3
×
3区域内任意一个非G像素的绿色通道;步骤13.4:所述中心像素点(i,j)的绿色通道与3
×
3区域内其余八个绿色通道进行比较,如果中心像素点(i,j)的绿色通道小于八个绿色通道的最小值或者大于八个绿色通道的最大值,则表示中心像素点(i,j)为奇异点,并执行步骤13.5;反之,表示中心像素点(i,j)为正常点;并执行步骤步骤13.6;步骤13.5:将当前的高频系数β作为自适应高频系数β
*
,并执行步骤14;否则,执行步骤13.6;步骤13.6:将β+s赋值给β后,判断β>max是否成立,若成立,则将当前的β作为自适应高频系数β
*
,并执行步骤14;否则返回步骤13.3;其中,s表示步长;min表示高频系数的下限值,max表示高频系数的上限值;...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。