一种基于前景与背景色差确定键值的方法

文档序号:7928643阅读:230来源:国知局
专利名称:一种基于前景与背景色差确定键值的方法
技术领域
本发明属于视频及图像的特效处理及合成技术领域,具体涉及一种基于前景与背
景色差确定键值的方法。本发明尤其适用于高质量、高效率的视频或图像的特效处理及合 成中。
背景技术
在图像或视频处理软件中,将图像或视频中某一类颜色抠掉是一种很广泛的需 求。这类方法的实质就是给定一种颜色(也可能附加别的参数)对图像中每个像素都计算 出一个键值,图像中和这个颜色相同或接近的颜色的像素的键值为零或者比较小,颜色相 差比较大的像素的键值比较大或者为1。那么这个键值就可以作为该图像与背景图像进行 合成时的alpha通道,从而达到抠像的目的。 在实际拍摄中,经常是物体在相同的背景中活动,需要将物体提取出来放到新的 背景中。如果采用传统的色键就需要选取抠像颜色,然后经过一系列操作将活动物体提取 出来。这种方法处理的速度较慢,而且对于活动物体也不容易将原始背景抠干净。

发明内容
针对现有技术中存在的缺陷,本发明的目的是提供一种速度既快、效果又好的基 于前景与背景色差确定键值的方法。 为了实现上述目的,本发明采用的技术方案为,一种基于前景与背景色差确定键 值的方法,包括以下步骤 (1)输入两幅图像,一幅图像是没有活动物体的背景图,一幅图像是有活动物体的 前景图,两幅图像的背景相同; (2)依次计算两幅图像中相对应像素的B-G-R分量的色差,并根据容忍度和软边 对色差进行调整,将调整后色差的最大值作为该像素的键值Key ;
(3)将键值Key限幅在
区间之内。 如上所述的一种基于前景与背景色差确定键值的方法,步骤(2)中计算两幅图像
中相对应像素的B-G-R分量的色差采用如下公式PixelDifColorRed = | (PixelF皿tRed-PixelBackRed) | ,PixelDifColorGreen = |(PixelFrontGreen-PixelBackGreen)|,PixelDifColorBlue = | (PixelF皿tBlue-PixelBackBlue) | ;其中,PixelDifColorRed表示像素R分量的色差,PixelFrontRed表示前景图
中像素的R分量值,PixelBackRed表示与前景图中像素相对应的背景图中像素的R分量
值;PixelDifColorGreen表示像素G分量的色差,PixelFrontGreen表示前景图中像素
的G分量值,PixelBackGreen表示与前景图中像素相对应的背景图中像素的G分量值;
PixelDifColorBlue表示像素B分量的色差,PixelFrontBlue表示前景图中像素的B分量
值,PixelBackGreen表示与前景图中像素相对应的背景图中像素的B分量值。
如上所述的一种基于前景与背景色差确定键值的方法,步骤(2)中根据容忍度和 软边对色差进行调整采用如下公式PixelDifColorRed' =max(0, (PixelDifColorRed—ToleranceRed));
如果SoftnessRed不等于O,则PixelDifColorRed" = PixelDifColorRed' /SoftnessRed; 如果PixelDifColorRed"大于等于O,则PixelDifColorRed" ' = min(1,PixelDifColorRed"); 如果PixelDifColorRe d〃小于0,则PixelDifColorRed" ' =1; PixelDifColorGreen' =max(0, (PixelDifColorGreen-ToleranceGreen)); 如果SoftnessGreen不等于0,贝U PixelDifColorGreen" = PixelDifColorGreen' /SoftnessGreen ; 如果PixelDifColorGreen"大于等于O,则PixelDifColorGreen" ' = min(1,PixelDifColorGreen"); 如果PixelDifColorGreen"小于O,则PixelDifColorGreen" ' =1;PixelDifColorBlue' =max(0, (PixelDifColorBlue-ToleranceBlue)); 如果SoftnessBlue不等于0,则PixelDifColorBlue" = PixelDifColorBlue' /SoftnessBlue; 如果PixelDifColorBlue"大于等于O,则PixelDifColorBlue" ' = min(l,PixelDifColorBlue"); 如果PixelDifColorBlue"小于O,则PixelDifColorBlue" ' =1;其中,PixelDifColorRed' 、PixelDifColorRed〃表示像素R分量色差调整过程中
的中间值,PixelDifColorRed"'表示像素R分量色差的最终值;PixelDifColorGreen'、
PixelDifColorGreen"表示像素G分量色差调整过程中的中间值,PixelDifColorRed"'
表示像素G分量色差的最终值;PixelDifColorBlue ' 、 PixelDifColorBlue 〃表示像
素B分量色差调整过程中的中间值,PixelDifColorBlue"'表示像素B分量色差的最
终值;SoftnessRed表示像素R分量的软边值,SoftnessGreen表示像素G分量的软边
值,SoftnessBlue表示像素B分量的软边值,ToleranceRed表示像素R分量的容忍度,
ToleranceGreen表示像素G分量的容忍度,ToleranceBlue表示B分量的容忍度。 本发明所述方法,通过在B-G-R色彩空间依次对比两幅具有相同背景图像相对应
像素的色差,将色差的最大值作为该像素的键值,并对该键值再进行加权处理的方式,实现
了将活动物体快速地从背景中提取出来,而且提取的效果较好。此外,该方法比较简单,非
常容易优化。


图1是具体实施方式
中基于前景与背景色差确定键值的方法流程图。
具体实施例方式
下面结合具体实施方式
和附图对本发明进行详细描述。 本发明的核心思想是在B-G-R色彩空间依次对比两幅具有相同背景图像相对应像素的色差,将色差的最大值作为该像素的键值,并将该键值作为活动物体与新背景进行 合成时的alfha通道,从而实现活动物体提取的目的。 图1出示了一种基于前景与背景色差确定键值的方法流程,主要包括以下步骤
(1)输入两幅图像,一幅图像是没有活动物体的背景图,一幅图像是有活动物体的 前景图,两幅图像的背景相同。 (2)依次计算两幅图像中相对应像素的B-G-R分量的色差,并根据容忍度和软边 对色差进行调整,将调整后色差的最大值作为该像素的键值Key。 像素的B-G-R分量是指红、绿、蓝三个分量。计算两幅图像中相对应像素的B-G-R 分量的色差采用如下公式PixelDifColorRed = | (PixelF皿tRed-PixelBackRed) | ; PixelDifColorGreen = |(PixelFrontGreen-PixelBackGreen)| ;PixelDifColorBlue = | (PixelF皿tBlue-PixelBackBlue) | 。其中,PixelDifColorRed表示像素R分量的色差,PixelFrontRed表示前景图
中像素的R分量值,PixelBackRed表示与前景图中像素相对应的背景图中像素的R分量
值;PixelDifColorGreen表示像素G分量的色差,PixelFrontGreen表示前景图中像素
的G分量值,PixelBackGreen表示与前景图中像素相对应的背景图中像素的G分量值;
PixelDifColorBlue表示像素B分量的色差,PixelFrontBlue表示前景图中像素的B分量
值,PixelBackGreen表示与前景图中像素相对应的背景图中像素的B分量值。 计算出两幅图像中相对应像素的B-G-R分量的色差后,还需要考虑容忍度
(Tolerance)和软边(Softness)两个参数对色差的影响。所述容忍度是用来调节多大差别
范围内可以认为色差为零,即完全透明(黑),容忍度越大透明区域越大。所述软边是用来
调节透明区和不透明区边界的过渡。 据容忍度和软边对色差进行调整采用如下公式PixelDifColorRed' =max(0, (PixelDifColorRed—ToleranceRed))。
如果SoftnessRed不等于0,贝UPixelDifColorRed" = PixelDifColorRed' /SoftnessRed。 如果PixelDifColorRed"大于等于O,则PixelDifColorRed" ' = min(1,PixelDifColorRed")。 如果PixelDifColorRed"小于O,则PixelDifColorRed" ' =1。 PixelDifColorGreen' =max(0, (PixelDifColorGreen-ToleranceGreen))。 如果SoftnessGreen不等于0,贝U PixelDifColorGreen" = PixelDifColorGreen' /SoftnessGreen。 如果PixelDifColorGreen"大于等于O,则PixelDifColorGreen" ' = min(1,PixelDifColorGreen")。 如果PixelDifColorGreen"小于O,则PixelDifColorGreen" ' =1。PixelDifColorBlue' =max(0, (PixelDifColorBlue-ToleranceBlue))。 如果SoftnessBlue不等于O,则PixelDifColorBlue" = PixelDifColorBlue' /SoftnessBlue。
如果PixelDifColorBlue"大于等于O,则
6
PixelDifColorBlue〃 ' = min(l,PixelDifColorBlue")。 如果PixelDifColorBlue"小于O,则PixelDifColorBlue" ' =1。 上述公式中,PixelDifColorRed ' 、 PixelDifColorRed 〃表示像素R分量
色差调整过程中的中间值,PixelDifColorRed〃 '表示像素R分量色差的最终值;
PixelDifColorGreen ' 、 PixelDifColorGreen 〃表示像素G分量色差调整过程中的中
间值,PixelDifColorRed 〃 '表示像素G分量色差的最终值;PixelDifColorBlue '、
PixelDifColorBlue"表示像素B分量色差调整过程中的中间值,PixelDifColorBlue"'
表示像素B分量色差的最终值;SoftnessRed表示像素R分量的软边值,SoftnessGreen表
示像素G分量的软边值,SoftnessBlue表示像素B分量的软边值,ToleranceRed表示像素
R分量的容忍度,ToleranceGreen表示像素G分量的容忍度,ToleranceBlue表示B分量的
容忍度。 比较调整后的色差,将色差的最大值作为该像素的键值Key,即Key = max (PixelDifColorRed 〃 ' , PixelDifColorGreen〃 ',
PixelDifColorBlue"')。 (3)对键值Key进行加权处理,并将处理后的键值Key限幅在
区间之内,获 得最终的键值Key。 对键值Key进行加权处理涉及两个参数加法加权(Lift)、乘法加权(Gain),这两 个参数是用来对键值Key进行整体提升。 加权处理采用公式Key = (Key+Lift) XGain。其中,等号右侧的Key表示加权处
理前的键值,等号左侧的Key表示加权处理后的键值,Lift和Gain均为经验值。 为了提高本发明所述方法的实现效率,优选采用intel的SIMD增强指令集SSE2。
由于SSE2可以进行整数或者浮点的矢量计算,所以可以同时计算多个像素的键值。另外由
于SSE2指令很容易实现掩模计算,使得在计算键值时没有任何条件分支语句,从而也提高
了速度。 试验结果表明在一台主频为2. 5GHz的处理器上,计算一幅720x576大小图像 (BGRA空间)的键值只需要5.0ms。如果再利用多核或超线程技术,将计算平均分配到每个 核上面或者硬件线程上,则一个四核的CPU处理上述图像只需要1. 5ms左右。
本发明并不限于上述具体实施方式
,本领域的技术人员根据本发明的技术方案得 出的其他实施方式,同样属于本发明的技术创新范围。
权利要求
一种基于前景与背景色差确定键值的方法,包括以下步骤(1)输入两幅图像,一幅图像是没有活动物体的背景图,一幅图像是有活动物体的前景图,两幅图像的背景相同;(2)依次计算两幅图像中相对应像素的B-G-R分量的色差,并根据容忍度和软边对色差进行调整,将调整后色差的最大值作为该像素的键值Key;(3)将键值Key限幅在
区间之内。
2. 如权利要求1所述的一种基于前景与背景色差确定键值的方法,其特征在于,步骤 (2)中计算两幅图像中相对应像素的B-G-R分量的色差采用如下公式PixelDifColorRed = |(PixelFrontRed-PixelBackRed)|, PixelDifColorGreen = | (PixelFrontGreen-PixelBackGreen)|, PixelDifColorBlue = | (PixelFrontBlue-PixelBackBlue) | ;其中,PixelDifColorRed表示像素R分量的色差,PixelFrontRed表示前景图中 像素的R分量值,PixelBackRed表示与前景图中像素相对应的背景图中像素的R分量 值;PixelDifColorGreen表示像素G分量的色差,PixelFrontGreen表示前景图中像素 的G分量值,PixelBackGreen表示与前景图中像素相对应的背景图中像素的G分量值; PixelDifColorBlue表示像素B分量的色差,PixelFrontBlue表示前景图中像素的B分量 值,PixelBackGreen表示与前景图中像素相对应的背景图中像素的B分量值。
3. 如权利要求2所述的一种基于前景与背景色差确定键值的方法,其特征在于,步骤 (2)中根据容忍度和软边对色差进行调整采用如下公式PixelDifColorRed' =max(0, (PixelDifColorRed-ToleranceRed)); 如果SoftnessRed不等于0,则PixelDifColorRed" = PixelDifColorRed' /SoftnessRed ;如果PixelDifColorRed"大于等于O,则PixelDifColorRe d' 〃 = min(1, PixelDifColorRed");如果PixelDifColorRed"小于0,则PixelDifColorRed' 〃 =1;PixelDifColorGreen' =max(0, (PixelDifColorGreen-ToleranceGreen));如果SoftnessGreen不等于0,则PixelDifColorGreen" = PixelDifColorGreen' /SoftnessGreen ;如果PixelDifColorGreen"大于等于O,则PixelDifColorGreen' 〃 = min(1,PixelDifColorGreen");如果PixelDifColorGreen"小于0,则PixelDifColorGreen' 〃 =1;PixelDifColorBlue' =max(0, (PixelDifColorBlue-ToleranceBlue));如果SoftnessBlue不等于0,则PixelDifColorBlue" = PixelDifColorBlue' /SoftnessBlue; 如果PixelDifColorBlue"大于等于O,则 PixelDifColorBlue' 〃= min(l,PixelDifColorBlue"); 如果PixelDifColorBlue"小于0,则PixelDifColorBlue' 〃 =1; 其中,PixelDifColorRed' 、 PixelDifColorRe d〃表示像素R分量色差调整过程中的 中间值,PixelDifColorRe d' 〃表示像素R分量色差的最终值;PixelDifColorGreen'、PixelDifColorGreen〃表示像素G分量色差调整过程中的中间值,PixelDifColorRed' 〃 表示像素G分量色差的最终值;PixelDifColorBlue ' 、 PixelDifColorBlue 〃表示像 素B分量色差调整过程中的中间值,PixelDifColorBlue' 〃表示像素B分量色差的最 终值;SoftnessRed表示像素R分量的软边值,SoftnessGreen表示像素G分量的软边 值,SoftnessBlue表示像素B分量的软边值,ToleranceRed表示像素R分量的容忍度, ToleranceGreen表示像素G分量的容忍度,ToleranceBlue表示B分量的容忍度。
全文摘要
本发明公开了一种基于前景与背景色差确定键值的方法,属于视频及图像的特效处理及合成技术领域。现有方法存在处理速度较慢、抠像效果差等缺陷。本发明所述方法首先输入两幅图像,一幅图像是没有活动物体的背景图,一幅图像是有活动物体的前景图,两幅图像的背景相同;然后依次计算两幅图像中相对应像素的B-G-R分量的色差,并根据容忍度和软边对色差进行调整,将调整后色差的最大值作为该像素的键值Key;最后将键值Key限幅在
区间之内。本发明所述方法实现了将活动物体快速地从背景中提取出来,而且提取的效果较好。
文档编号H04N1/62GK101764912SQ200810239418
公开日2010年6月30日 申请日期2008年12月9日 优先权日2008年12月9日
发明者刘铁华, 孙季川, 见良, 郑鹏程 申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1