一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种图像紫边矫正的方法及装置与流程

2023-01-05 00:50:30 来源:中国专利 TAG:


1.本发明涉及图像处理技术领域,尤其涉及一种图像紫边矫正方法及装置。


背景技术:

2.数码相机在拍摄的过程中会产生紫边,紫边是图像色边的一种,由于被摄物体的反差较大,在图像亮部与暗部交界处出现的色散现象。
3.紫边现象对图像质量的影响较大,可以通过对光学镜头进行改进而来矫正紫边现象,但这种方式成本较高,因此往往采用紫边矫正技术来改善紫边现象。
4.紫边矫正技术通常分为紫边像素点检测和紫边像素点矫正两部分。常用的紫边像素点检测技术直接利用颜色属性进行检测,容易误检,将本来就是紫色的像素点也检测进来。常用的紫边像素点矫正技术采用去饱和化的方式,将紫边像素点矫正为中性灰度点,然而对于一些大尺度的紫边像素点,它往往是有颜色的,而不是中性灰度点,这种直接去饱和化的方法会直接导致过渡带图像出现颜色失真。


技术实现要素:

5.为了解决上述技术问题,本发明提供一种紫边矫正方法及装置。
6.具体的,本发明的技术方案如下:
7.本发明提供一种图像紫边矫正的方法,包括:
8.根据图像的rgb数据,选取高对比度区域;
9.判断所述高对比度区域是否为紫边区域;
10.当所述高对比度区域为所述紫边区域时,选取种子像素区域,所述种子像素区域为没有被紫边污染的具有正确颜色的区域;
11.将所述种子像素区域和所述紫边区域的所述rgb数据转化为yuv数据,所述yuv数据包括图像在yuv空间下的亮度值和色度值;
12.根据所述yuv数据,对所述紫边区域进行矫正。
13.在一些实施方式中,所述根据所述yuv数据,对所述紫边区域进行矫正,包括:
14.根据所述紫边区域的所述亮度值、所述紫边区域周围指定领域内的所述亮度值的标准差以及位于所述紫边区域周围指定领域内的所述种子像素区域的所述亮度值,计算所述紫边区域与所述种子像素区域之间的权重函数;
15.根据所述种子像素区域的所述色度值及所述权重函数,计算所述紫边区域的色度校正值。
16.在一些实施方式中,所述根据图像的rgb数据,选取高对比度区域,包括:
17.获取图像的rgb数据并归一化所述rgb数据;
18.将归一化后的所述rgb数据转化为his亮度分量,并对所述his亮度分量进行滤波;
19.根据滤波结果,计算图像中各像素点的梯度强度;
20.根据所述梯度强度,计算图像中各像素点的局部梯度和局部标准差;
21.根据所述局部梯度和所述局部标准差,计算图像中各像素点的梯度阈值;
22.选取所述梯度阈值小于所述梯度强度的区域为所述高对比度区域。
23.在一些实施方式中,根据以下公式将归一化后的所述rgb图像数据转化为所述his亮度分量:
24.c
max
=max(max(rn,gn),bn);
25.c
min
=min(min(rn,gn),bn);
[0026][0027]
其中,max为二者中选取较大值的比较选择函数,min为二者中选择较小值的比较选择函数,rn、gn、bn为归一化后的rgb图像数据,c
max
为rn、gn、bn中的最大值,c
min
为rn、gn、bn的最小值,in为his亮度分量。
[0028]
在一些实施方式中,所述选取种子像素区域,包括:
[0029]
对所述紫边区域进行形态学膨胀操作,得到膨胀后的所述紫边区域的边界点;
[0030]
根据所述边界点和所述高对比度区域,计算得到所述种子像素区域。
[0031]
在一些实施方式中,所述判断所述高对比度区域是否为紫边区域,包括:
[0032]
将所述高对比度区域内所有像素点的所述rgb数据转化为cie-xyy数据;
[0033]
当所述cie-xyy数据处于预设范围内时,所述高对比度区域为紫边区域。
[0034]
在一些实施方式中,所述将所述高对比度区域内所有像素点所述rgb图像数据转化为cie-xyy图像数据,包括:
[0035]
对所述高对比度区域内所有像素点的所述rgb数据进行归一化处理;
[0036]
将所述高对比度区域内所有像素点归一化后的所述rgb图像数据转化为线性rgb图像数据;
[0037]
根据以下公式将所述线性rgb图像数据转化为cie-xyy图像数据:
[0038][0039][0040]
其中,r
l
、g
l
、b
l
为线性化rgb图像数据,x、y、z为cie-xyz空间中的x、y、z分量,x、y为cie-xyy空间的分量。
[0041]
本发明提供一种图像紫边矫正的装置,包括:
[0042]
第一选取模块,用于根据图像的rgb数据,选取高对比度区域;
[0043]
判断模块,用于判断所述高对比度区域是否为紫边区域;
[0044]
第二选取模块,用于当所述高对比度区域为紫边区域时,选取种子像素区域,所述种子像素区域为没有被紫边污染的具有正确颜色的区域;
[0045]
转化模块,用于将所述种子像素区域和所述紫边区域的所述rgb数据转化为yuv数据,所述yuv数据包括图像在yuv空间下的亮度值和色度值;
[0046]
矫正模块,用于根据所述yuv数据,对所述紫边区域进行矫正。
[0047]
在一些实施方式中,所述矫正模块包括:
[0048]
第一计算单元,用于根据所述紫边区域的所述亮度值、所述紫边区域周围指定领域内的所述亮度值的标准差以及位于所述紫边区域周围指定领域内的所述种子像素区域的所述亮度值,计算所述紫边像素点与所述种子像素点之间的权重函数;
[0049]
第二计算单元,用于根据所述紫边区域的所述色度值、所述种子像素区域的所述色度值及所述权重函数,计算所述紫边区域的色度校正值。
[0050]
在一些实施方式中,述第一选取模块包括:
[0051]
处理单元,用于获取rgb数据并归一化所述rgb数据;
[0052]
转化单元,用于将归一化后的所述rgb数据转化为his亮度分量;
[0053]
选取单元,用于根据所述his亮度分量,选取高对比度区域。
[0054]
与现有技术相比,本发明至少具有以下一项有益效果:
[0055]
1、本发明利用对比度检测图像紫边,能够在有效检测紫边的同时,避免误检原本就是紫色的像素点。
[0056]
2、本发明选取具有正确颜色的种子像素区域,利用种子像素区域的色度值对紫边进行矫正,能够避免矫正点颜色失真,提高矫正的准确性。
[0057]
3、本发明能够在不改变镜头设计的情况下通过算法有效地矫正紫边,减少了矫正紫边的方案设计成本。
附图说明
[0058]
下面将以明确易懂的方式,结合附图说明优选实施方式,对本发明的上述特性、技术特征、优点及其实现方式予以进一步说明。
[0059]
图1是本发明的图像紫边矫正的方法的一个实施例的流程图;
[0060]
图2是本发明的图像紫边矫正的方法的另一实施例的流程图;
[0061]
图3是本发明的图像紫边矫正的装置的一个实施例的结构框图;
[0062]
图4是本发明的图像紫边矫正的装置的另一实施例的结构框图。
[0063]
附图标号说明:
[0064]
第一选取模块10,第二选取模块20,转化模块30,矫正模块40,第一计算单元41,第二计算单元42。
具体实施方式
[0065]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
[0066]
为使图面简洁,各图中只示意性地表示出了与发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
[0067]
还应当进一步理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0068]
在本文中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0069]
另外,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0070]
rgb色彩模式是工业界的一种颜色标准,是通过对红(r)、绿(g)、蓝(b)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,rgb即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。
[0071]
yuv是一种颜色编码方法,其中,y分量为亮度值,u、v分量为色度值,并且yuv空间中亮度和色度是分离的,如果只有y分量而没有u、v分量,那么这样表示的图像就是黑白灰度图像,与rgb相比,yuv的优势在于能够节省带宽。
[0072]
cie颜色系统是由国际照明委员会(cie)规定的一套标准色度系统,从基色出发定义一种与设备无关的颜色模型,用数学的方法从真实的基色推导出理论的三基色,创建一个新的颜色系统。
[0073]
在一个实施例中,如图1所示,一种图像紫边矫正的方法,包括:
[0074]
s100根据图像的rgb数据,选取高对比度区域;
[0075]
具体的,紫边检测过程中需要借助对比度来检测可能存在紫边的像素,可以在ycbcr颜色空间或his颜色空间中进行处理,利用图像亮度值的梯度信息,选取高对比区域。
[0076]
s200判断高对比度区域是否为紫边区域;
[0077]
具体的,由于rgb是与设备相关的颜色空间,因此在与设备无关cie-xyy空间中进行紫边颜色判断,将高对比度区域的rgb数据转化为cie-xyy数据,若cie-xyy数据落在cie-xyy空间中的紫色分布区域中,那么该cie-xyy数据对应的高对比度区域为紫边区域。
[0078]
s300当高对比度区域为紫边区域时,选取种子像素区域,种子像素区域为没有被紫边污染的具有正确颜色的区域;
[0079]
具体的,通过形态学膨胀操作,计算得到种子像素区域。
[0080]
s400将种子像素区域和紫边区域的rgb数据转化为yuv数据,yuv数据包括图像在yuv空间下的亮度值和色度值;
[0081]
s500根据yuv数据,对紫边区域进行矫正。
[0082]
具体的,把紫边区域中的所有像素点与周围点进行加权,根据该加权结果,建立最小二乘损失函数,求解该损失函数,得到紫边区域中某一个像素点的颜色分量,即该紫边像素点的矫正值,经过这样的计算,完成了紫边的矫正。
[0083]
本实施例,通过对比度来检测图像中可能存在紫边的区域,并利用种子像素点的颜色与亮度,对紫边区域中的像素点进行矫正,能够减少误检,提高矫正的准确性。
[0084]
在一个实施例中,如图2所示,在上述实施例的基础上,步骤s500包括:
[0085]
s501根据紫边区域的亮度值、紫边区域周围指定领域内的亮度值的标准差以及位于紫边区域周围指定领域内的种子像素区域的亮度值,计算紫边像素点与种子像素点之间
的权重函数;
[0086]
具体的,基于紫边像素点与种子像素点差异的平方,计算权重函数w(r):
[0087][0088]
其中,r点为紫边像素点,s点为空间位置上位于r点领域的种子像素点,y(r)、y(s)为r点、s点的亮度值,σr为r点周围指定领域内的亮度的标准差,常用的领域为以r点为中心的3x3窗口。
[0089]
s502根据种子像素区域的色度值及该权重函数,计算紫边区域的色度校正值。
[0090]
具体的,上述权重函数用于最小化以下损失函数j(x):
[0091]
j(x)=∑
r∈r
(x(r)-∑
s∈n(r)
w(r)x(s))2;
[0092]
其中,r点为紫边像素点,r为所有紫边区域,x(r)为紫边区域在位置r的颜色分量,x(s)为种子像素区域在位置s的颜色分量,n(r)为以r像素为中心的邻域。
[0093]
本实施例,由于种子像素区域为具有正确颜色的区域,而紫边区域虽然色度值不正确,但是其亮度值是正确的,因此通过计算紫边像素点与种子像素点之间的权重函数,由该权重求解最小二乘损失函数,得到的结果即为图像紫边的矫正值。
[0094]
在一个实施例中,在上述实施例的基础上,步骤s200包括:
[0095]
s201将高对比度区域内所有像素点的rgb数据转化为cie-xyy数据。
[0096]
具体的,高对比度区域内所有像素点的rgb数据进行归一化处理,将归一化后得到该rgb数据的各个分量转化到线性rgb域,可以根据以下公式进行计算:
[0097][0098]
其中,c代表着归一化后的rgb分量,c
l
表示线性rgb分量。
[0099]
根据以下公式,将线性rgb分量转化到cie-xyy域:
[0100][0101][0102]
其中,其中,r
l
、g
l
、b
l
为线性化rgb图像数据,x、y、z为cie-xyz空间中的x、y、z分量,x、y为cie-xyy空间的分量。
[0103]
s202判断cie-xyy数据是否处于预设范围内,若判断为是,则该cie-xyy数据对应的像素点为紫边像素点,所有紫边像素点的集合为紫边区域。
[0104]
具体的,紫色在cie-xyy空间中的分布区域为:
[0105]
reagion
purple
={(x,y)|y≤1.6533x-0.1880,y≤-0.2048x 0.3930,y≥0.5510x-0.0227};
[0106]
如果高对比像素点的cie-xyy数据落在region
purple
中,那么该像素点即为紫边像素点,所有紫边像素点的集合为紫边区域。
[0107]
本实施例,由于rgb是与设备相关的颜色空间,而cie为与设备无关的颜色空间,因此在cie颜色空间中进行紫边区域的颜色判断。
[0108]
在一个实施例中,一种图像紫边矫正的方法,包括:
[0109]
s101获取图像的rgb数据并归一化该rgb数据。
[0110]
具体的,由于图像的rgb数据受光照和阴影的影响较大,因此需要对图像的rgb数据进行归一化处理,将归一化后rgb数据中各个分量记为rn,gn,bn∈[0,1]。
[0111]
s102将归一化后的该rgb数据转化为his亮度分量;
[0112]
具体的,通过比较选择函数,计算his亮度分量in:
[0113]cmax
=max(max(rn,gn),bn);
[0114]cmin
=min(min(rn,gn),bn);
[0115][0116]
其中,max为二者中选取较大值的比较选择函数,同理min为二者中选择较小值的比较选择函数,c
max
为rn、gn、bn中的最大值,c
min
为rn、gn、bn中的最小值。
[0117]
s103根据所述his亮度分量,计算图像中各像素点的梯度强度。
[0118]
具体的,为了避免噪声对梯度计算的影响,可以采用双边滤波器对his亮度分量in进行降噪处理,滤波计算公式如下:
[0119][0120][0121]
其中,i
smooth
为滤波后的his亮度分量,g为高斯滤波核,σs为空间上的滤波核方差,σr为range方向上的滤波核方差,p为待滤波像素点,q为p点的s领域中的像素点,w
p
为归一化参数。
[0122]
根据以下公式,分别计算i
smooth
在水平方向和垂直方向的差分:
[0123]
ih(x,y)=i
smooth
(x,y)*kernelh(x,y);
[0124]iv
(x,y)=i
smooth
(x,y)*kernelv(x,y);
[0125]
其中,ih(x,y)为水平方向梯度,iv(x,y)为竖直方向的梯度,kernelh为水平方向梯度计算卷积核,kernelv为垂直方向梯度计算卷积核,这里的*为二维卷积运算,梯度卷积核为任意直接计算梯度卷积核,不需要进行加权处理,例如常用的sobel算子。
[0126]
根据上述运算结果,计算像素点(x,y)的梯度强度:
[0127]
gradi(x,y)=|ih(x,y)| |iv(x,y)|。
[0128]
s104根据所述梯度强度,计算图像中各像素点的局部梯度和局部标准差。具体的,采用盒子滤波器对梯度图像进行平滑处理,获取局部梯度μ
grad

[0129]
μ
grad
=boxfilterk(gradi);
[0130]
这里boxfilter为一种局部平均的平滑滤波器,下标k表示滤波器核的大小,通常我们将k设置为奇数,通过盒子滤波,得到图像的局部梯度。
[0131]
s105根据所述局部梯度和所述局部标准差,计算图像中各像素点的梯度阈值。
[0132]
具体的,利用上述梯度强度和局部梯度,计算图像中每个像素点(x,y)的局部标准差σ
grad
(x,y):
[0133][0134]
其中,m为以x为中心窗口的滑动范围,n为以y为中心窗口的滑动范围,k为步骤s104中盒子滤波器的滤波核的大小。
[0135]
接着计算每个像素点的梯度阈值t
grad
(x,y):
[0136]
t
grad
(x,y)=μ
grad
(x,y) ασ
grad
(x,y);
[0137]
其中,α∈[0,3]为可调整参数,用于筛选较大的梯度所在的像素点,常用的经验范围是α∈[0.5,3]。
[0138]
s106选取所述梯度阈值小于所述梯度强度的区域为所述高对比度区域。
[0139]
具体的,对图像中每个像素点都进行上述计算,得到每个像素点的梯度强度和梯度阈值,将这些像素点对应的梯度强度与梯度阈值进行比较,若某一个像素点的梯度强度大于梯度阈值,那么该像素点为高对比度像素点,所有高对比度的集合为高对比度区域。
[0140]
s200判断所述高对比度区域是否为紫边区域。
[0141]
具体的,将高对比度区域内所有像素点的rgb数据转化为cie-xyy数据,判断cie-xyy数据是否处于预设范围内,若判断为是,则该cie-xyy数据对应的像素点为紫边像素点,所有紫边像素点的集合为紫边区域。
[0142]
s300当所述高对比度区域为紫边区域时,选取种子像素区域,所述种子像素区域为没有被紫边污染的具有正确颜色的区域;
[0143]
具体的,在紫边检测步骤结束之后,需要选择种子点,种子点必须是没有被紫边损坏的具有正确颜色的点,检测到紫边区域后,基于该紫边区域和前述高对比度区域,利用形态学膨胀运算,选取种子像素区域,该区域中的种子像素点用于对紫边像素点进行着色操作,将紫边像素点的色度值替换为种子像素点的色度值,实现紫边矫正。
[0144]
s400将所述种子像素区域和所述紫边区域的所述rgb数据转化为yuv数据,所述yuv数据包括图像在yuv空间下的亮度值和色度值;
[0145]
具体的,将种子像素区域和紫边区域内所有像素点的rgb数据,转化为yuv数据,与rgb数据相比,yuv数据兼容性更好,有利于在进行紫边矫正时,减少数据处理量。
[0146]
s500根据所述yuv数据,对所述紫边区域进行矫正。
[0147]
具体的,根据紫边像素点r的亮度值y(r)、位于紫边像素点周围指定领域内种子像素点s的亮度值y(s)以及紫边像素点周围指定领域内的亮度值的标准差σr,计算紫边像素点与种子像素点之间的权重函数,根据该权重函数,并结合种子像素区域的色度值x(s),求解最小二乘损失函数,得到紫边区域的矫正值x(r)。
[0148]
本实施例,基于图像的rgb数据获取各像素点在his空间的亮度值,实现亮度与色度的分离,筛选出高对比区域,利用高对比度区域的梯度信息检测图像紫边,能够避免误检;采用形态学膨胀操作选取种子像素点,根据紫边像素点与种子像素点之间的权重函数及损失函数,计算得到图像紫边的矫正值,能够避免出现颜色失真的现象。
[0149]
在一个实施例中,在上述实施例的基础上,步骤s300包括:
[0150]
s301对紫边区域进行形态学膨胀操作,得到膨胀后紫边区域的边界点。
[0151]
具体的,检测出的紫边区域为pfr(purple fringing region),通过以下运算操作对pfr进行形态学膨胀,膨胀后的紫边区域记为pfr
dilation
,se为形态学滤波核:
[0152][0153]
接着用pfr
dilation
减去原始的pfr,得到pfr
dilation
的边界,记为pfr
d-boundary

[0154]
s302根据该边界点和高对比度区域,计算得到种子像素区域。
[0155]
具体的,高对比度区域记为nsr(near saturation region),该区域内的像素点都具有很高的亮度值,因此,pfr
dilation
中的像素点大概率不是完整无污染的点,所以还需要将nsr区域从pfr
d-boundary
中剔除,记seed为种子像素区域:
[0156]
seed=pfr
d-boundary-nsr
[0157]
本实施例,基于紫边区域pfr和高对比度区域nsr,通过上述运算操作得到种子像素区域,利用该区域内的各个像素点的色度值对紫边区域中的像素点进行矫正。
[0158]
在一个实施例中,如图3所示,一种图像紫边矫正的装置,包括第一选取模块10、第二选取模块20、转化模块30、矫正模块40,其中:
[0159]
第一选取模块10,用于根据图像的rgb数据,选取高对比度区域,并判断所述高对比度区域是否为紫边区域;
[0160]
第二选取模块20,用于当所述高对比度区域为紫边区域时,选取种子像素区域,所述种子像素区域为没有被紫边污染的具有正确颜色的区域;
[0161]
转化模块30,用于将所述种子像素区域和所述紫边区域的所述rgb数据转化为yuv数据,所述yuv数据包括图像在yuv空间下的亮度值和色度值;
[0162]
矫正模块40,用于根据所述yuv数据,对所述紫边区域进行矫正。
[0163]
在一个实施例中,如图4所示,在上述实施例的基础上,矫正模块40包括第一计算单元41和第二计算单元42,其中:
[0164]
第一计算单元41,用于根据所述紫边区域的所述亮度值、所述紫边区域周围指定领域内的所述亮度值的标准差以及位于所述紫边区域周围指定领域内的所述种子像素区域的所述亮度值,计算所述紫边像素点与所述种子像素点之间的权重函数;
[0165]
第二计算单元42,用于根据所述紫边区域的所述色度值、所述种子像素区域的所述色度值及所述权重函数,计算所述紫边区域的色度校正值。
[0166]
在一个实施例中,第一选取模块20包括处理单元21、转化单元22、选取单元23、判断单元24,其中:
[0167]
处理单元21,用于获取rgb数据并归一化所述rgb数据;
[0168]
转化单元22,用于将归一化后的所述rgb数据转化为his亮度分量;
[0169]
选取单元23,用于根据所述his亮度分量,选取高对比度区域;
[0170]
判断单元24,用于判断所述高对比度区域是否为紫边区域。
[0171]
本发明中上述任一图像紫边矫正的装置与前述图像紫边矫正的装置的方法基于同一技术构思,其带来的技术效果与本发明前述方法实施例相同,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0172]
应当说明的是,上述实施例均可根据需要自由组合。以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献