CN101536078B - 改进图像蒙板 - Google Patents

改进图像蒙板 Download PDF

Info

Publication number
CN101536078B
CN101536078B CN2007800414541A CN200780041454A CN101536078B CN 101536078 B CN101536078 B CN 101536078B CN 2007800414541 A CN2007800414541 A CN 2007800414541A CN 200780041454 A CN200780041454 A CN 200780041454A CN 101536078 B CN101536078 B CN 101536078B
Authority
CN
China
Prior art keywords
pixel
image
opacity
value
color
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
CN2007800414541A
Other languages
English (en)
Other versions
CN101536078A (zh
Inventor
G·D·威伦斯基
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.)
Adobe Inc
Original Assignee
Adobe Systems Inc
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 Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of CN101536078A publication Critical patent/CN101536078A/zh
Application granted granted Critical
Publication of CN101536078B publication Critical patent/CN101536078B/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
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/62Semi-transparency

Abstract

一种方法、系统、设备以及计算机程序产品,其特征在于接收图像蒙板(1020),其中该图像蒙板标识光栅图像(1010)中的像素的第一不透明度值。第一不透明度值在代表前景的值与代表背景的值之间变化。图像中的每个像素具有颜色。标识图像中的第一边界像素。使用不透明度的第一局部颜色模型来确定第一边界像素的第二不透明度值。基于图像中位于第一边界像素的局部邻域内的像素的颜色,来确定不透明度的第一局部颜色模型。

Description

改进图像蒙板
技术领域
本公开涉及图形图像处理,并且更具体地,涉及选择图像的部分。
背景技术
通常,针对图像中的每个像素,图像蒙板(image mask)指示每个像素是否被选择。图像蒙板有时称为图像遮罩(image matte)、选择蒙板或者alpha通道。二值蒙板是可以用于为每个像素指示两个互斥状态(选择或者不选择、前景或者背景,等等)中的一个状态的图像蒙板。不透明蒙板(有时也称为渐进不透明蒙板)是指示每个像素在两个互斥状态中的一个状态的程度的图像蒙板。不透明蒙板可以用来例如指示某些像素完全是前景或者完全是背景,而其他像素主要是前景,略有点背景。给定像素由不透明蒙板定义为前景的程度可以称为像素相对于不透明蒙板的不透明度。
不透明蒙板通常用来选择图像的区块,这些区块描绘了具有模糊边缘(例如,边缘与其他描绘的对象或背景混合)的对象。通常,这种对象包括头发、毛皮、羽毛、火和烟等。可以通过对二值蒙板的边缘进行人工羽化或软化(例如,模糊),来根据二值蒙板生成不透明蒙板。然而,作为结果的不透明蒙板通常展现统一的软化边缘,而这些边缘并未反映图像中所描绘的特征(例如,锐边)。
通过选择颜色的范围或者使用不透明度的全局颜色模型(这取决于图像中所有像素的颜色),也可以生成不透明蒙板。然而,这些技术可能产生并不完全包括所期望区块的不透明蒙板。
发明内容
总体上,在一个方面,实施方式的特征在于接收图像蒙板,其中该图像蒙板标识光栅图像中像素的第一不透明度值。第一不透明度值在代表前景的值与代表背景的值之间变化。图像中的每个像素都具有颜色。在图像中标识第一边界像素。使用不透明度的第一局部颜色模型来确定第一边界像素的第二不透明度值。不透明度的第一局部颜色模型是基于图像中第一边界像素的局部邻域内的像素颜色而确定的。此方面的其他实施方式包括相应的系统、设备和计算机程序产品。
这些和其他实施方式可以可选地包括下述特征的一个或多个。可以基于第二不透明度值来更新图像蒙板。可以在图像中标识第二边界像素。可以基于第二边界像素的局部邻域内的像素的颜色和第二不透明度值来确定不透明度的第二局部颜色模型。可以基于第二局部颜色模型来确定第二边界像素的第三不透明度值。
不透明度的第一局部颜色模型可以是非线性的。不透明度的第一局部颜色模型可以是线性的。图像蒙板可以是二值蒙板。图像蒙板可以是不透明蒙板。可以标识前景像素与背景像素之间的边沿。确定不透明度的第一局部颜色模型可以包括:在确定不透明度的第一局部颜色模型时,降低接近边沿的一个或多个像素的颜色值的贡献的重要性,其中所述一个或多个像素在像素的局部邻域内。第一边界像素可以邻近所标识的边沿。可以接收指示邻近范围的用户输入。第一边界像素可以是这样的像素,该像素所标识的不透明度值位于不透明度值的区间内。可以接收指定区间的用户输入。
确定不透明度的第一局部颜色模型可以包括:标识将给定像素的颜色作为参数的函数,其中该函数的值是给定像素的不透明度值,并且其中该函数是多个项的和。每一项是以下二者的乘积:相应的未定系数和相应的单项式,所述单项式具有与所述给定像素的颜色的每个分量相对应的一个或多个变量。通过确定函数中每个系数的值,推导出边界像素处不透明度的第一局部颜色模型,其中所述推导是基于像素邻域内的像素颜色和第一不透明度值。
确定不透明度的第一局部颜色模型可以包括:基于整个图像中像素的颜色和每个像素各自的第一不透明度值,来确定不透明度的第二局部颜色模型。可以基于不透明度的第二局部颜色模型以及图像中第一边界像素的局部邻域内的像素的颜色,来求解不透明度的第一局部颜色模型。可以基于图像的较低分辨率版本来确定不透明度的第二局部颜色模型。
可以标识图像的较低分辨率版本中的低分辨率像素,其中低分辨率像素对应于边界像素。边界像素的局部邻域可以是图像的较低分辨率版本中邻近低分辨率像素的一个或多个像素。可以针对图像的较低分辨率版本确定不透明度的第二局部颜色模型,并且可以根据对第二局部颜色模型进行插值来确定不透明度的第一局部颜色模型。确定第二不透明度值可以包括:使用第一边界像素的颜色来评估不透明度的第一颜色模型。可以基于第一边界像素的第一不透明度值来确定第一边界像素的第二不透明度值。
总体上,在另一方面,实施方式的特征在于接收标识图像中多个像素的用户输入。图像由像素的光栅定义。在接收到用户输入时,执行下述动作一次或多次:1)基于所标识的像素来确定图像蒙板;2)标识图像中的边界像素;3)使用不透明度的局部颜色模型来确定边界像素的不透明度值;4)基于所确定的边界像素的不透明度值来更新图像蒙板;以及5)在接收到用户输入时,在显示器上更新图像的绘制,以描绘经更新的图像蒙板。此方面的其他实施方式包括相应的系统、设备和计算机程序产品。
确定图像蒙板可以包括:基于接收的用户输入,对像素进行一致的分类。可以沿着图像蒙板中的边缘对不透明度值进行平滑。可以将图像蒙板与图像中的颜色边缘对齐。当用户在图像上画出笔划时,用户输入可以被接收。在显示器上更新图像的绘制以描绘经更新的图像蒙板包括以下一个或多个:1)突出显示主要具有前景不透明度值或背景不透明度值的像素;2)对主要具有前景不透明度值或背景不透明度值的像素进行模糊;3)对其不透明度值主要是前景或背景的像素应用滤波器;4)绘制图像蒙板,所述图像蒙板描绘每个像素的不透明度值;或者5)绘制像素区块的边沿,其中这些像素的不透明度值主要是前景或背景。
可以实施本说明书中所描述主题的特定实施方式,以实现下述益处的一个或多个。可以产生一致的不透明蒙板,其表征对应于图像中所描绘对象的硬边缘或软边缘的硬边缘和软边缘二者。可以利用相对较少的用户输入来产生精确的不透明蒙板。可以改进没有完全捕捉图像中所描绘对象的图像蒙板的精度。可以改进具有硬边缘的二值蒙板,以产生可以表征硬边缘或软边缘二者的连续图像蒙板。基于边缘附近的像素的颜色特性而不是基于整个图像的颜色特性来确定不透明蒙板的边缘,从而产生了更准确的边缘和对象选择。图像蒙板的生成或改进在计算上高效到足以向用户提供即时反馈,从而允许选择过程是交互式的。
在附图和下述描述中给出了本发明的一个或多个实施方式的细节。通过描述、附图和权利要求,本发明的其他特征、方面和优势将变得明显。
附图说明
本专利或申请文件包含至少一个彩色附图。根据请求以及必要的付费,专利局将提供具有彩色附图的此专利或专利申请公开的副本。
图1示出了具有前景笔划(brushstroke)和背景笔划的图像。
图2A示出了用于图1中图像的二值蒙板。
图2B示出了用于图1中图像的第二图像蒙板。
图3示出了具有边沿的图2中的第二图像蒙板。
图4示出了基于图2A中二值蒙板的边沿蒙板。
图5是边沿函数的曲线图。
图6示出了二值蒙板的像素。
图7是用于确定图像中哪些像素可以用来确定不透明度的局部颜色模型的函数曲线图。
图8示出了多个较低分辨率处的全分辨率图像。
图9是用于改进初始图像蒙板的流程图。
图10示出了用于改进初始图像蒙板的示例性系统。
各种附图中相同的附图标记和命名指示相同元素。
具体实施方式
图1示出了具有前景笔划110和背景笔划120的图像100。通常,图像可以由像素的光栅(例如,像素的二维阵列)表示,其中每个像素对描述特定位置处的图像的值(例如,颜色、亮度,或二者)进行编码。彩色图像通常按照具体颜色空间(例如,RGB、CMYK、CIELAB、CIE XYZ、CIE LUV、YCC、YIQ、HSB、HSL、灰度级,或者黑白)进行规定,颜色空间确定了如何将图像中每个像素的值解释成颜色。例如,在RGB编码的图像中,每个像素由至少三个值进行编码,这三个值对应于RGB三个颜色分量(红、绿和蓝)的每一个。在灰度级图像中,颜色对应于亮度水平或者灰色阴影。在黑白图像中,颜色或者是白,或者是黑。
通常,图像及其组成像素由具有图像格式的文件进行描述和存储,其中图像格式诸如联合图像专家组(JPEG)格式、便携式网络图像(PNG)格式、图形交换格式(GIF)格式、位图(BMP)格式、标记图像文件格式(TIFF)格式及其他。
两个单独的笔划(例如,110和120)被示出为叠加在图像100上。已由笔划覆盖的像素被标识为处于由图像蒙板表示的两个状态(例如,前景或背景)之一中的像素。例如,笔划110标识前景像素,而笔划120标识背景像素。
可以创建图像100的初始二值蒙板,其将图像中的像素标识为前景或背景。图像100的二值蒙板的生成可以随实现而变化。在某些实现中,用户标识的前景像素和背景像素可以用来生成二值蒙板。例如,二值蒙板可以基于一致分类来确定,如Gregg Wilensky等人于2006年9月6日提交的名为LIVE COHERENT IMAGESELECTION的美国专利申请11,517,189中所描述的。在其他实现中,二值蒙板可以根据例如满水法填充(flood fill)来生成,其中满水法填充规定了“填满的”连续像素区域,该区域中的每个像素具有特定颜色范围内(例如,对应于用户所标识的像素颜色的颜色范围)的颜色值。其他实现可以基于颜色范围选择来生成二值蒙板,其中图像中任何位置的像素基于它们的颜色位于预定范围内的程度而被分类为前景。
图2示出了用于图像100的二值蒙板200。二值蒙板200包括用白色绘制的前景像素210和用黑色绘制的背景像素220。通常,二值蒙板标识相应图像中的特定像素是前景还是背景。在某些实现中,二值蒙板基于不透明度值来标识像素是前景还是背景。例如,前景像素可以由不透明度值1来表示,而背景像素可以由不透明度值0来表示。在其他实现中,前景像素和背景像素的具体不透明度值可以包括其他值(例如,背景不透明度值和前景不透明度值分别为0和255,或者-1和1)。
在二值蒙板中,像素的不透明度值通常是表示前景或背景的两个离散值之一,与此不同,在不透明蒙板中,像素的不透明度值在离散值之间连续变化。在某些实现中,不透明蒙板中的不透明度值可以是0和1(包括0和1)之间的任何值。例如,不透明度值0.75表示像素大部分是前景(75%),小部分是背景(25%)。
在某些实现中,图像的前景区域和背景区域中的像素不透明度值可以表示为前景(+)投影函数∏+(r)和背景(-)投影函数∏-(r),其中r是像素在图像中的空间位置(例如,r={x,y},其中x和y表示像素在图像光栅中的位置)。每个函数在r处的值基于初始蒙板中r的不透明度值,表示为α0(r)。例如,在某些实现中:
+(r)=α0(r)
                         以及
-(r)=1-α0(r)。
这些函数是互补的,从而在r的每个值处,两个函数的和都是1:
+(r)+∏-(r)=1。(1)
除非特别指出,本说明书的其余部分都假设初始蒙板中的不透明度值具有上述互补性质。
在图2A中,二值蒙板200具有硬离散边沿230,其中前景像素210邻近背景像素220。在蒙板200中,沿着边沿230,前景像素与背景像素毗邻。然而,边沿230未必表示施加了蒙板的对象或者未必如对象边界在图像100中所描绘的那样来表示对象边界。例如,在图像100的左侧,沙丘的阴影部分并不是由可辨别的硬边缘来分隔的。
可以根据图像200中描绘的二值蒙板来生成不透明蒙板,其更为准确地对图像中对象边界的边缘施加蒙板。总体上,第二图像蒙板是通过对初始图像蒙板的特定区域内的像素的不透明度值进行重新评估而从任何初始图像蒙板生成的不透明度蒙板。对给定像素的重新评估是相对于像素的初始不透明度值(由初始图像蒙板给出)以及图像中该像素的颜色及其他像素的颜色而做出的。第二图像蒙板更准确地捕获图像中所描绘对象的边界,即使对象的边界是软边界或者难以辨别的边界(例如,火的边缘、烟的边缘、雾的边缘、云的边缘、头发的边缘或毛皮的边缘)。在某些实现中,初始图像蒙板和第二图像蒙板由共同的基础图像蒙板表示。
图2B示出了用于图像100的第二图像蒙板250,其可以基于初始二值蒙板200来确定。虽然第二图像蒙板250通常表征与二值蒙板200相同的前景区块和背景区块,但是邻近边沿230的区域(诸如,区域280)中的像素的不透明度值得到了改进。具体地,区域280中像素的不透明度值更准确地反映了图像100中所示对象的边缘。
在某些实现中,可以通过对初始二值蒙板中的边界区域内像素的不透明度进行重新评估来生成第二图像蒙板。边界区域是邻近边界的像素的连续区块,其中前景像素和背景像素在该边界处汇合。例如,边沿230附近的前景像素和背景像素的不透明度值都根据邻近边沿230的像素的颜色特性进行了重新评估。在某些实施方式中,可以对离边沿预定距离内的所有像素(由半径R确定,并且表示为像素的量)进行重新评估。
图3示出了将边沿230示为红线的第二图像蒙板250。如上所述,在二值蒙板(例如200)中,边沿230描绘了前景区域和背景区域汇合之处。注意,边沿230两侧的像素的不透明度值都已调整。先前在二值蒙板200中被标识为背景像素的区块320中的像素在第二图像蒙板250中被标识为部分前景。类似地,在二值蒙板200中被标识为前景像素的区块330中的像素在第二图像蒙板250中被标识为部分背景。
图4示出了基于二值蒙板确定的边沿蒙板400。边沿蒙板标识在二值蒙板(例如,200)中表示的像素的边界不透明度值。边界蒙板400包括一个或多个边界区域(例如430),其中每个像素以与像素的边界不透明度值成比例的白色阴影示出。边界区域外(例如,区域410和420)的像素(以黑色示出)包括这样的像素,这些像素并不接近边沿,并且其不透明度值无需为了确定第二图像蒙板而进行重新评估。边沿蒙板中像素的边界不透明度值有效地确定了像素应该以何种程度在第二图像蒙板中保持其初始不透明度值(例如,由初始图像蒙板指示)。在某些实现中,像素与其离边沿(例如,边沿230)的距离成比例地保持其初始不透明度值。例如,不在边界区域中的像素(例如,区域410和420中的像素)的不透明度值可以在第二图像蒙板中保持其初始不透明度值。相反,邻近边沿的像素(例如,区域430中的像素)的不透明度值要进行重新评估,并且将潜在地在第二图像蒙板中具有更准确的不透明度值。
图5是可以用来确定边沿蒙板(例如,边沿蒙板400)的边沿函数β的曲线图500。在某些实现中,边沿函数可以是高斯函数,其基于像素离最近边沿有多远来生成像素的不透明度值。在其他实现中,边沿函数可以根据欧式距离变换函数(其测量从每个像素到最近边沿像素的距离)来确定。图500的曲线510将不透明度值表示为距边沿520(由虚线表示)的距离505的函数。β的变化距离取决于半径R 530(即,像素距边沿520的距离)。例如,半径530对应于边沿蒙板400中所示的边界区域430的宽度。β在r处的值是像素r的边界不透明度值。从曲线510可证实,在某些实现中,对更靠近边沿520的前景像素和背景像素进行更有效的重新评估。离开边沿、但是在边界区域内的像素可以保持其一些初始不透明度值(例如,可以对像素的重新评估的不透明度值与其初始不透明度值进行混合,以生成改进的像素值)。
图6是二值蒙板600中像素的示意图。以虚线示出的边界610表示前景像素和邻近的背景像素的汇合之处。边界区域650(示为区块602内的像素)可以通过标识边沿610附近的像素来确定。在某些实现中,边界区域650可以包括边沿610的特定距离或半径之内的任何像素。边界区域650例如包括离边沿610小于三个像素的那些像素。在某些实现中,此半径对应于函数β大于0的那些半径(例如,半径530)。一般地,其他半径长度也是可行的,并且半径的长度可以随实现而变化。在某些实现中,半径可以是预先确定的、基于图像的大小而确定的或者基于用户输入指定的。
对边界区域内像素的重新评估可以基于不透明度的颜色模型,类似于在Gregg Wilensky在2006年9月19日提交的名为IMAGEMASK GENERATION的美国专利申请11/524,219中所描述的。不透明度的颜色模型用于确定给定像素的不透明度值。在某些实现中,不透明度的颜色模型(以向量符号表示)具有以下形式:
α(r)=λ·ξ(r)。(1.5)
在等式(1.5)中,α(r)是像素r的不透明度值,ξ是包含给定像素的颜色分量的组合的向量,而λ是不透明度的颜色模型中的常数系数的对应向量。ξ的每个元素是像素r的颜色分量的唯一乘积。例如,在RGB颜色空间中的像素可以具有以下形式的颜色分量:r、g、b、b2、gb3、r4。对于ξ中的每个颜色分量,在λ中存在相应的系数。颜色分量组合的数量可以预先确定、自动确定或者基于用户输入指定。对于RGB颜色空间中的图像以及使用二阶颜色分量组合,例如,不透明度的颜色模型中每个向量可以具有以下形式(其中,wn表示λ中第n个系数,而r,g,b分别表示红色分量、绿色分量、蓝色分量):
λ={w0,w1,w2,w3,w4,w5,w6,w7,w8,w9}和
ξ={l,r,g,b,r2,rg,rb,b2,bg,g2}。
一般地,颜色分量组合的数量对根据对图像中像素的重新评估而得到的不透明蒙板的逼真度有所影响。较多的颜色分量通常会产生较为扩张的区块(例如,前景的或背景的),并且每个区块可以包含较丰富的颜色变化。
在某些实现中,λ中系数的值可以通过最小化以下误差函数来确定:
error = 1 2 ∫ { Π + ( r ) [ 1 - λ · ξ ( r ) ] 2 + Π - ( r ) [ 0 - λ · ξ ( r ) ] 2 } dr . - - - ( 2 )
在等式(2)中,前景投影函数和背景投影函数表示每个像素在初始不透明蒙板中的不透明度值。然而,在某些实现中,对于用户标识的像素(例如,图1中描绘的笔划,其标识了来自于图像100的特定像素),前景投影函数和背景投影函数都具有非零值。在这种实现中,前景投影函数和背景投影函数分别对应于前景笔划和背景笔划,并且并未表现出等式(1)中规定的互补性质。例如,如果r被标识为背景像素,则背景投影函数值为1;否则为0。
使用等式(2)中给出的误差函数,系数向量λ可以由下述函数确定,其中<…>表示封闭变量(例如,图像中的所有像素)的平均值:
λ=M-1·<∏+(r)ξ(r)>。
在上述等式中,M-1是颜色相干矩阵的逆矩阵,其中颜色相干矩阵被定义为:
M=<[∏+(r)+∏-(r)]ξ(r)ξ(r)>。
或者,在简化了互补的不透明度值之后:
M=<ξ(r)ξ(r)>
                以及
λ=M-1·<α0(r)ξ(r)>。
根据以上给出的误差函数(2),λ是基于图像中所有像素颜色值的系数向量。使用此系数向量会得到不透明度的全局颜色模型(参见等式1.5)。然而,如果允许λ在空间上逐个像素地变化,则可以将不透明度的颜色模型有效地局部化。所谓的不透明度的局部颜色模型是基于图像的特定空间区域内的像素颜色,而并非取决于图像中所有像素的颜色。这样,对于图像中的每个空间区域,可以确定不透明度的多个局部颜色模型以及每个模型的相应系数向量λ,。在某些实现中,可以为图像中每个像素计算系数向量λ,。
初始图像蒙板中像素的不透明度值可以使用下述误差函数(从等式(2)修订而来的)、基于不透明度的局部颜色模型来评估:
error = 1 2 &Integral; &gamma;&beta; ( r ) [ &alpha; ( r ) - &lambda; &prime; ( r ) &CenterDot; &xi; ( r ) ] 2 + &gamma; &prime; ( 1 - &beta; ( r ) ) [ &alpha; ( r ) - &alpha; 0 ( r ) ] 2 + ( &dtri; &lambda; &prime; ( r ) ) 2 + &lambda; &prime; ( r ) &CenterDot; M 2 &CenterDot; &lambda; &prime; ( r ) dr - - - ( 3 )
在上述误差函数(3)中,α是像素r的新不透明度值(例如,在第二图像蒙板中的)。第一项包括来自于不透明度的局部颜色模型的值,即,局部系数向量λ′和颜色分量向量ξ。第一项的作用是导出第二图像蒙板中的不透明度值,以便与不透明度的局部颜色模型相一致。第二项包括像素r处的初始不透明度值α0。第二项的作用是根据初始不透明蒙板导出与其初始值相一致的不透明度值。根据边沿函数β,第一项和第二项彼此对立,其中边沿函数β影响像素r的新不透明度值由不透明度的局部颜色模型或者像素的初始不透明度值来确定的程度。与图5中示出的函数β的曲线相比,需要注意:随着β值变小,像素的新不透明度值主要由像素的初始不透明度值来驱动。当β值为0时(例如,像素在边界区域之外),则像素保持其初始不透明度。在某些实现中,在确定第二图像蒙板期间可以忽略边界区域外的像素。值γ和γ′表示常数值,其分别控制第一项与第二项的影响之间的平衡。
误差函数中的第三项包括梯度算子
Figure G2007800414541D00121
其有效地用于确保第二图像蒙板中不透明度值的空间平滑性。梯度算子的值与系数向量λ随r改变的快慢成比例地增大。对于误差函数,梯度算子基于系数向量的值中的突然(例如,很大的)变化而指派惩罚。
在第四项中,M是常数对角矩阵,对于不透明度的局部颜色模型中每n项,该矩阵M具有n行和n列。矩阵中的每个对角元素具有相同的常数值m2,除了对[0,0]条目是0;此例外对应于颜色分量向量中退化的第一个值(例如,ξ0(r)=1)。矩阵的常数对角值确定以像素为单位来测量的空间广度,在该空间广度上,来自于图像的颜色影响不透明度的局部颜色模型。在某些实现中,空间广度中的像素被称为像素r周围的像素邻域。
第三项和第四项关于新不透明度值α有效地起到了平滑度约束的作用。第四项确定用于确定系数向量λ′的值的r附近的像素的局部邻域的大小。第三项确保了系数向量的值在图像上平滑地变化,以及避免了系数值从一个像素到下一个像素变化过快。在某些实现中,当平滑性约束主导了第一项和第二项时(例如,当值γ和γ′二者都非常小时),系数向量的值接近于恒定的图像宽度值,类似于可以从等式(2)导出的系数向量。
为了确定新的不透明度值α,对等式(3)中给出的误差函数进行求导并使其最小化。为了求解等式,可以针对每个未知变量,即系数向量λ′和新不透明度值α,对该等式进行求导。
为了求解α,可对等式(3)求导为:
&alpha; ( r ) = &gamma;&beta; ( r ) &lambda; &prime; ( r ) &CenterDot; &xi; ( r ) + &gamma; &prime; ( 1 - &beta; ( r ) ) &alpha; 0 ( r ) &gamma;&beta; ( r ) + &gamma; &prime; ( 1 - &beta; ( r ) ) - - - ( 4 )
上述等式将像素r的新不透明度值描述为不透明度的局部颜色模型的贡献与像素的初始不透明度值的贡献。
为了求解系数向量λ′的值,对等式(3)求导为:
( - &dtri; 2 + M 2 + &gamma; &beta; ( r ) &xi; ( r ) &xi; ( r ) ) &CenterDot; &lambda; &prime; ( r ) = &gamma; &beta; ( r ) &alpha; 0 ( r ) &xi; ( r ) , - - - ( 5 )
其中 &gamma; &beta; ( r ) = &gamma;&beta; ( r ) &gamma; &prime; ( 1 - &beta; ( r ) ) &gamma;&beta; ( r ) + &gamma; &prime; ( 1 - &beta; ( r ) )
注意,在等式(5)中,颜色系数向量λ′仅是像素r的初始不透明度值α0与颜色分量向量ξ的函数。给定像素在初始不透明蒙板中的不透明度值和像素在图像中的颜色,这两个值都是已知的。
值γβ是边沿函数β以及γ和γ′的值的函数。在确定不透明度的局部颜色模型中的系数向量γ′的值时,γβ的值确定特定像素的颜色值对λ′的值以及不透明度的局部颜色模型的影响程度。γβ在r处的值取决于r与边沿的接近程度(例如,由于通过定义,β的值基于r与最近边沿的接近程度)。
图7是用于确定图像中哪些像素可以用来确定不透明度的局部颜色模型的函数γβ的曲线图700。曲线730描述了像素的颜色对不透明度的局部颜色模型的相对贡献。在某些实现中,曲线730基于边沿函数β710,其被示出以用于比较。两个函数都根据像素r距边沿的距离而变化,其中边沿由垂直的虚线720示出。曲线730表明:离边沿最近的像素(例如,在距离750内的像素)的颜色值对不透明度的局部颜色模型并无显著贡献。为了确定不透明度的局部颜色模型,与那些在一定程度上远离边沿(例如,在距离780处)的像素相比,有效地降低边沿附近的像素的重要性。回想:像素的初始不透明度值确定了每个像素在确定λ′的值时被视为前景或背景的程度。考虑以下事实:边沿附近的像素所具有的颜色值潜在地可能不具有其初始不透明度值的典型特征。例如,假设初始图像蒙板不是最优的,如果边沿附近的像素与边沿两侧的像素(例如,附近的前景像素和背景像素)共享颜色特征,则该像素很可能具有错误的不透明度值。反之,离边沿较远的像素很有可能具有不同的颜色值。使用远离边沿720的(例如,在距离780处)像素来确定不透明度的局部颜色模型能够产生较为准确的不透明度的局部颜色模型。
在等式(5)中,注意,对于图像中像素的离散光栅,拉普拉斯算子
Figure G2007800414541D00141
针对特定像素表示了其操作数λ′与其操作数λ′在像素的局部邻域上的平均值之间的差。像素的局部邻域可以是特定距离内与特定像素邻近的像素(例如,特定像素加4个、9个、21个或25个邻近像素)。在某些实现中,邻域的大小可以预先确定、自动确定或者基于用户输入来指定。与系数向量λ′之间的关系可以表示如下:
- &dtri; 2 &lambda; &prime; ( r ) = 4 [ &lambda; &prime; ( r ) - < &lambda; &prime; > N ( r ) ] , 其中<…>N指示封闭的量在N个最近像素上的平均值。利用此恒等式,等式(5)可以通过以下矩阵等式来表示:
(4+M2β(r)ξ(r)ξ(r))·λ′(r)=γβ(r)α0(r)ξ(r)+4<λ′>N(r)
上述函数可以利用矩阵逆运算来求解,其中矩阵逆运算确定了系数向量λ′。矩阵通常包含相对较少的非零条目,由此,用于对稀疏矩阵求逆的具体方法可以随实现而变化(例如,共轭梯度下降法或者前承条件共轭梯度法)。
在某些实现中,λ′的值可以通过迭代逼近来确定,其中该迭代逼近通过一次或多次迭代来细化系数向量的值。迭代逼近可以包括:使用初始系数向量λ的值的最初猜想,并使用下述等式在每次迭代中生成改进的系数向量,其中该等式按照改进的系数向量λ′中的每个单独的第α个值来表示:
&lambda; &prime; a ( r ) = a = 0 : < &lambda; a > N ( r ) + &chi; ( r ) [ &alpha; 0 ( r ) - < &lambda; a > N ( r ) - &mu; < &lambda; > N ( r ) &CenterDot; &xi; &prime; ( r ) ] a &NotEqual; 0 : &mu; < &lambda; a > N ( r ) + &mu;&chi; ( r ) [ &alpha; 0 ( r ) - < &lambda; a > N ( r ) - &mu; < &lambda; > N ( r ) &CenterDot; &xi; &prime; ( r ) ] &xi; &prime; a ( r ) - - - ( 6 )
其中ξ’(r)S表示像素r的颜色分量,只有第一分量等于1。例如,如果ξ(r)={1,c0,c1,...,cn+1},则ξ’(r)={c0,c1,...,cn+1}。
&mu; = 1 1 + m 2 / 4 (6.1)以及
&chi; ( r ) = 1 / 4 &gamma; &beta; ( r ) 1 + 1 / 4 &gamma; &beta; ( r ) ( 1 + &mu;c 2 ) - - - ( 6.2 )
等式(6)中的系数向量的初始值λ可以使用整个图像的不透明度的颜色模型(例如,在等式(2)中计算的)来确定。系数向量的初始值用作启动对系数向量进行迭代改进的种子。在每次迭代中,改进的系数向量可以用来生成图像的中间不透明蒙板。松弛法(例如,连续过松弛法,或者Yousef Saad在1996年发表于PWS上的“Iterative Methods for Sparse Linear Systems”中提出的方法)可以用来在迭代之间对中间系数向量的值与之前确定的系数向量进行混合。迭代的数量可以是预定义的或者基于用户输入,或者可以基于迭代之间改变的程度(例如,基于对不透明蒙板从一次迭代到下一迭代的变化量的测量)而自动确定。
在某些实现中,可以根据其来确定值α0(r)的不透明蒙板可以是初始不透明蒙板(例如,图2A中示出的二值蒙板)的模糊版本。初始蒙板的模糊程度是由模糊半径确定的,并且在某些实现中,该程度是边沿半径R的恒定比例。例如,模糊半径可以是边沿半径长度的1/3。当在给出初始不透明蒙板的情况下不透明度的局部颜色模型无法捕获颜色差时(例如,其中,在图像中,相比于背景区块,前景中的像素之间几乎不存在可区别的颜色差),对初始不透明蒙板进行模糊可能有助于保持第二图像蒙板边缘的柔和。
在从用户接收标识前景区块或背景区块的像素选择(例如,图1中描绘的笔划)的实现中,用户标识的像素可以直接用来生成第二图像蒙板。在这些实现中,前景投影函数和背景投影函数(例如,∏+和∏-)可以表示响应于用户输入而标识的前景像素和背景像素。在某些实现中,用户输入可以在上述等式(2)中用来确定初始系数向量λ(可以从其确定系数向量的迭代改进)。
备选地,通过用下述投影函数替换α0(r),前景投影函数和背景投影函数可以直接用在等式(3)中的误差函数中:
上述修改不会以其他方式影响确定系数向量的方式(例如,公式(5)仍然适用)。然而,像素在第二图像蒙板中的不透明度值可以由下述经修改的等式来确定:
&alpha; ( r ) = &gamma;&beta; ( r ) &lambda; &prime; ( r ) &CenterDot; &xi; ( r ) + &gamma; &prime; ( 1 - &beta; ( r ) ) &Pi; + ( r ) &gamma;&beta; ( r ) + &gamma; &prime; ( 1 - &beta; ( r ) ) ( &Pi; + ( r ) + &Pi; - ( r ) ) - - - ( 7 )
图8是多个较低分辨率(例如,图像840和图像860)处的全分辨率图像820的示意图800。每个较低分辨率图像包含全分辨率图像的代表性内容,例如,图像860中的像素865对应于图像840中的多个像素845。类似地,图像840中每个像素对应于全分辨率图像820中的多个像素865。每个较低分辨率图像可以通过对全分辨率图像820进行下采样来生成。可以通过有效地使用采样方法(诸如,线性插值、双三次插值或者其他图像缩放技术或采样技术)来实现下采样。
假设全分辨率图像820是用户感兴趣的图像。在某些实现中,感兴趣的图像是作为不透明蒙板的基础并且用户最终感兴趣的图像。备选地,感兴趣的图像可以是展示给用户的特定图像,该图像自身可以是基础图像的展示。在其他情况下,感兴趣的图像可以被下采样一次或多次,从而产生诸如图像840或图像860的较低分辨率图像。与图像相关、并且用于生成不透明蒙板的其他输入(例如,笔划,初始二值蒙板或不透明蒙板)也可以以类似方式下采样。
较低分辨率图像及其所对应的较低分辨率的用户标识的像素和输入蒙板可以用于确定不透明度的局部颜色模型的系数向量λ′。例如,系数向量可以基于较低分辨率图像850而确定(例如,通过使用等式(5))。同样的系数向量可以用于确定全分辨率图像820中像素的不透明度值(例如,通过使用等式(4))。对于全分辨率图像820中的特定像素,低分辨率图像中对应像素的系数向量可以用于确定该特定像素的不透明度。例如,可以针对较低分辨率图像860中的每个像素确定系数向量。确定图像820中所有9个像素825的不透明度值可以基于针对较低分辨率图像860中的像素865而确定的相同系数向量。
在某些实现中,不透明度的局部颜色模型和每个模型的系数向量可以针对较低分辨率图像中的每个边界像素或者边界像素群组来确定。可以对基于较低分辨率图像的不透明度的局部颜色模型进行插值,以便针对全分辨率图像中的像素来确定不透明度的局部颜色模型。该插值可以由一种插值技术或插值技术的组合来确定,其中插值技术包括线性插值技术、双三次插值技术、双线性插值技术、最近邻域插值技术或者其他公知的插值技术。经过插值的不透明度的局部颜色模型可以用作种子,以迭代地改进模型(例如,针对全分辨率图像改进模型)。
图9是用于通过使用不透明度的局部颜色模型来改进初始图像蒙板的方法900的流程图。方法900可选地包括接收将来自于图像的像素标识为前景或背景的用户输入(步骤905)。通常,这种像素基于接收到的用户输入由用户标识。例如,用户可以使用输入设备(例如,计算机鼠标、触摸屏、跟踪板、压敏板或者可以用于在图像中标识像素的其他设备)在图像上画出前景笔划。前景笔划覆盖的像素被标识为前景像素。
方法900还包括标识初始图像蒙板(步骤910)。在某些实现中,这包括接收标识像素的用户输入(如步骤905中所述),以及基于用户输入来确定初始图像蒙板。例如,可以基于所标识的像素将图像中的像素一致地进行分类,从而生成初始二值蒙板。备选地,可以标识预先确定的初始图像蒙板。
在某些实现中,当初始图像蒙板是二值蒙板(例如,通过对图像中的像素一致分类而生成)时,可以执行中间处理以便在改进之前对二值图像蒙板进行细化。中间处理可以包括例如使用非线性扩散(其在沿着前景区块和背景区块交汇的边缘对不透明度值进行平滑的同时,保留了初始蒙板的形状)来平滑二值蒙板。此平滑技术有时称为基于曲率的运动。在某些实现中,平滑二值蒙板将产生不透明蒙板。可以通过使用level-set方法将蒙板与图像中的颜色边缘对齐(snapping),从而进一步细化蒙板。此对齐方法也称为流向边缘(flowing-to-edges)。将蒙板与颜色边缘对齐增大了边沿区域中的像素邻近图像中所描绘边缘的可能性。平滑和对齐两者都在J.A.Sethian(1999)的″Level Set Methods and Fast Marching Methods″中进行了描述。
方法900包括标识边界区域内的像素(步骤920)。使用初始图像蒙板,边沿被标识出(例如,在初始二值蒙板中都被标识为前景或背景的两个像素之间的相邻性)。边界区块包括所标识边沿的预定距离或用户指定距离内的所有像素。
针对每个标识的像素来求解不透明度的局部颜色模型,或者备选地,针对所标识的像素的连续群组来求解不透明度的局部颜色模型(步骤930)。针对所标识的像素求解不透明度的局部颜色模型包括:基于像素邻域中像素的颜色来标识系数向量的值。像素邻域可以包括所标识的像素。
不透明度的局部颜色模型的系数向量用于确定所标识像素的修订的不透明度值(步骤940)。修订的不透明度值是基于系数向量和之前的不透明度值,并且可以取决于所标识的像素与初始图像蒙板内所标识的边沿有多接近。
方法900还可以包括:基于边界区域中所标识像素的修订不透明度值来确定修订的图像蒙板(步骤950)。在修订的图像蒙板中,边界区域之外的像素保持其在初始图像蒙板中标识的不透明度值,而边界区域内的像素被给予其相应的修订后的不透明度值。
在某些实现中,可以在收到用户输入时向用户提供反馈。反馈包括更新图像或图像蒙板的表示,以描绘经修订的图像蒙板(步骤960)。例如,可以对主要具有背景不透明度值(例如,不透明度值小于0.5)的图像像素进行模糊(例如,通过与其不透明度值成比例的灰色或有色色调来绘制)。更新表示允许用户查看图像蒙板如何被生成或修订,以及相应地调整其输入。在某些实现中,可以人工地延迟对接收到的用户输入的反馈。例如,可以在不活跃的时刻之后或者响应于用户输入已经停止的信号(例如,鼠标按键释放)而呈现经修订的图像蒙板。
在某些实现中,确定经修订的不透明蒙板和更新图像或图像蒙板的呈现是在收到用户输入时发生。如果接收到附加的用户输入(步骤970),则可以处理附加的用户输入(步骤905)。当得到了期望的不透明蒙板,则通常可以将经修订的图像蒙板用于后续的图像处理操作(例如,选择或变换),其中这些操作通常与像素的不透明度值成比例地应用于该像素(例如,图像处理操作的效应完全作用于前景像素)。
图10示出了用于通过使用不透明度的局部颜色模型来改进初始图像蒙板的示例性系统1000。使用不透明度的局部颜色模型来对初始图像蒙板的一个或多个边界区域内的不透明度值进行重新评估。系统1000通常包括模块(例如,模块1030)和资源(例如,资源1010)。模块通常是不同功能的单元,其可以将信息提供至其他模块也可以从其他模块接收信息。模块可以促进与输入设备1085或输出设备1095(例如,显示模块1090或输入模块1080)的通信。模块可以对资源进行操作。资源是可以由模块操作的信息集合。
系统1000标识图像1010,其包括可以确定其不透明度值的像素光栅。图像1010中的每个像素的不透明度值组成了不透明蒙板1020。不透明蒙板1020可以是来自图像1010的单独资源,然而在某些实现中,一个或多个不透明蒙板可以在图像资源1010中表示。图像缩放模块1075可以缩放图像1020以生成图像1015的较低分辨率版本。
系统1000包括输入模块1080,用于从用户接收像素标识(例如,前景像素或背景像素)。输入模块1080可以从一个或多个输入设备1085(例如,键盘、鼠标、输入板、跟踪板、用于捕获声音或语音命令的麦克风、用于捕捉用户姿态的相机,或者生理感测器)接收输入。输入模块1080还可以确定像素标识(例如,前景或背景)的特定状态。例如,用户可以通过选择分类状态(例如,切换前景/背景按钮)或者通过改变输入(例如,使用鼠标按钮的左键而不是右键,或者使用用以在输入板上提供输入的特定笔)来指示输入是前景还是背景。在其他实现中,输入模块1080可以从系统自动接收像素分类(例如,基于运动检测、边缘检测或者机器视觉系统做出的标识),其例如可以根据从相机1085接收的一个图像或图像序列而确定。
像素标识器1030可以从输入模块1080接收经过分类的像素。像素标识器1030可以自动地在图像中标识与接收自输入模块1080的像素具有相反标识的像素。标识图像1010中前景像素和背景像素两者的信息可以被提供至图像蒙板处理器1040。图像蒙板处理器1040根据已分类的前景像素和背景像素生成初始图像蒙板。在某些实现中,图像蒙板处理器可以使用已分类的像素来对图像进行一致的分类,以产生用于该图像的二值蒙板。在其他实现中,图像蒙板处理器可以基于其他适当技术生成初始蒙板(或者是不透明蒙板,或者是二值蒙板)。备选地,初始图像蒙板1020可以被提供至系统1000,而无需由图像蒙板处理器1040生成。例如,初始蒙板可以作为资源(例如,用户所标识的)被接收,或者从模板生成或从另一系统或过程接收。
在某些实现中,蒙板模糊器组件1050可以对初始图像蒙板1020执行初步的图像处理。例如,可以基于边沿半径R将初始图像蒙板1020模糊化。将初始图像蒙板1020模糊化可以从二值蒙板(例如,邻近前景与背景在初始二值蒙板中汇合地的区域在作为结果的模糊蒙板中被模糊化)生成不透明蒙板。随后访问该图像蒙板1020的模块接收已模糊化的蒙板。
边沿确定器1060生成边沿蒙板,该边沿蒙板从初始图像蒙板1020标识一个或多个边沿及对应的边界区域。如果初始图像蒙板1020是二值图像蒙板,则边沿确定器标识与初始二值蒙板中前景和背景的交汇处相邻近的区域。如果初始图像蒙板1020是不透明蒙板,则边沿确定器可以基于初始蒙板中不透明度值的阈值来标识边沿(例如,具有大于0.45且小于0.55的不透明度值的所有像素在边界区域中)。备选地,可以从不透明蒙板(例如,大于0.5的所有值是前景,而小于0.5的所有值是背景)生成阈值映射表,根据该阈值映射表,可以按照类似于在二值蒙板中标识边沿的方式来标识边沿。边沿蒙板可以基于初始蒙板中的像素距所标识的边沿的距离来生成。例如,在边沿蒙板中的像素r的不透明度值β可以由下述给出:
β(r)=(1-D(r)/R)k,其中只要D(r)小于R,D(r)便是像素r距最近边沿的距离。如果D(r)大于R,则β(r)为0。
在上述等式中,R是边沿半径,而k是预先定义的常数。
系数向量求解器1065可以使用边沿蒙板、初始图像蒙板1020和图像1010或较低分辨率图像1015来确定较低分辨率图像1015中像素的系数向量λ′的值。不透明度计算器1070可以使用系数向量λ′的值、边沿蒙板的值、初始图像蒙板1020的值和图像1010的值来确定结果图像蒙板1025的不透明度值。与初始图像蒙板1020相比,结果图像蒙板1025是经过改进的理想图像蒙板。
显示模块1090可以使用结果图像蒙板1025的有关信息以及图像1010的有关信息来生成图像蒙板1025和图像1010的视觉绘制。在某些实现中,具有背景不透明度值的像素在视觉绘制中被突出显示或者被模糊化。在其他实现中,可以在视觉上绘制动画虚线(例如,行进的蚂蚁或者字幕),以便在图像蒙板1025中描绘前景区域和背景区域之间的分隔。在其他实现中,主要是前景或背景(不透明蒙板所标识的)的图像区块可以在绘制之前由图像滤波器进行滤波(例如,将背景像素模糊化,或者从彩色变换到灰度级)。绘制图像的前景像素和背景像素有所区别地允许用户区分其输入在不透明蒙板上的效果。
备选地,可以直接绘制图像蒙板1025(例如,将其绘制为单色图像,其中每个像素的亮度对应于图像蒙板中每个像素的不透明度值)。在某些实现中,来自像素标识器1030的信息还可以用于绘制用户标识的像素(例如,为了在图像上画出笔划)。显示模块1090可以连接至一个或多个显示设备1095。
系统1000描述了用于从不透明度的非线性颜色模型生成不透明模板的一个潜在实现。通常,模块和资源可以被组合或者拆分,并且可以以由一个或多个网络互连的一个或多个计算设备上的硬件或软件的某些组合实现。
本说明书中描述的主题和功能性操作的实施方式可以在数字电子电路中实现,或者在计算机软件、固件或硬件中实现,该计算机软件、固件或硬件包括本说明书中公开的结构及其等同结构、或是它们的一个或多个的组合。本说明书中描述的主题的实施方式可以实现为一个或多个计算机程序产品,也即,在计算机可读介质上编码的、以便由数据处理装置执行或控制数据处理装置操作的一个或多个计算机程序指令模块。计算机可读介质可以是机器可读的存储设备、机器可读的存储衬底、存储设备、实现计算机可读的传播信号的组合、或者它们中的一个或多个的结合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,例如包括可编程处理器、计算机,或者多个处理器或计算机。除了硬件之外,该装置可以包括为考虑中的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中一个或多个的结合的代码。传播信号是人工产生的信号,例如,机器产生的电信号、光信号或者电磁信号,生成该信号以对信息进行编码,以便传输到适当的接收器装置。
计算机程序(也公知为程序、软件、软件应用、脚本或代码)可以由任意形式的编程语言编写,包括编译语言或解释语言,并且该计算机程序可以任意形式部署,包括部署为单机程序或模块、组件、子例程,或者适于在计算环境中使用的其他单元。计算机程序无需对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、可以存储在专门用于考虑中的程序的单个文件中,或者存储在多个协同文件中(例如,存储一个或多个模块、子程序,或代码部分的文件)。可以将计算机程序部署为在一个计算机上执行,或者将其部署为在位于一个地点的多个计算机上执行或跨过多个地点分布且通过通信网络互连的多个计算机上执行。
本说明书中描述的处理和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,用于通过对输入数据进行操作以及产生输出来执行功能。该处理和逻辑流程还可以由例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)的专用逻辑电路执行,并且也可以将装置实现为所述专用逻辑电路。
适于计算机程序执行的处理器例如包括通用和专用处理器两者、以及任意类型的数字计算机的任意一个或多个处理器。通常,处理器将从只读存储器或随机访问存储器或两者处接收指令和数据。计算机的基本元件是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个海量存储设备,或被操作性地耦合为从所述用于存储数据的一个或多个海量存储设备接收数据、向其传送数据、或者进行两者,该海量存储设备例如磁盘、磁光盘、或光盘。然而,计算机不必一定具有这样的设备。而且,计算机可以嵌入在其他设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、全球定位系统(GPS)接收器、或者便携式存储设备(例如,通用串行总线(USB)闪存驱动),这仅是几例。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,例如包括:半导体存储设备,如EPROM、EEPROM和闪存设备;磁盘,如内部硬盘或可移动硬盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或是包括在专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施方式可以在具有用于向用户显示信息的显示设备以及用户可以通过其向计算机提供输入的键盘和指点设备的计算机上实现,其中显示设备例如CRT(阴极射线管)或者LCD(液晶显示器)监视器,指点设备例如鼠标或者轨迹球。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感观反馈,例如视觉反馈、声觉反馈、或者触觉反馈;并且可以接收来自用户的任意形式的输入,包括声音、语音或触觉输入。
本说明书中描述的主题的实施方式可以实现在包括后端组件的计算系统中,例如数据服务器;或实现在包括中间件组件的计算系统中,例如应用服务器;或实现在包括前端组件的计算系统中,例如具有图形用户界面或者Web浏览器的客户端计算机,用户通过该图形用户界面或Web浏览器可以与本说明书中描述的主题的实现进行交互;或实现在一个或多个这样的后端、中间件、或前端组件的任意结合中。系统组件可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络)。
计算系统可以包括客户端和服务器。客户端和服务器一般相互远离,并且通常通过通信网络进行交互。客户端和服务器的关系是借助于在各自计算机上运行的、彼此具有客户端-服务器关系的计算机程序得到的。
尽管本说明书包含多种特定细节,但是不应将其理解为是对本发明的范围或者所要求保护内容的限制,而应当理解为是本发明具体实施方式的特定特征的描述。本说明书中描述的在各个实施方式的上下文中的某些特征也可以在单个实施方式中结合实现。相反,在单个实施方式上下文中描述的各种特征也可以分别实现在多个实施方式中或者任意适当的子组合中。而且,尽管上文可能将特征描述为在特定的组合中操作,甚至初始也是这样要求保护的,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以针对子组合或组合的变形。
类似地,尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。而且,在上述实施方式中多个系统组件的分离不应被理解为在所有实施方式中需要这些操作,应当将其理解为所描述的程序组件和系统通常可以在单个软件产品中集成在一起,或是被打包到多个软件产品中。
已经描述了在此说明书中描述的主题的特定实施方式。其他实施方式也落在在所附权利要求范围内。例如,在权利要求中出现的动作可以用不同顺序执行,却仍能实现期待的结果。

Claims (28)

1.一种用于在图像处理中改进图像蒙板的计算机实现的方法,包括:
接收图像蒙板,所述图像蒙板标识光栅图像中的像素的第一不透明度值,所述第一不透明度值在代表前景的值与代表背景的值之间变化,所述图像中的每个像素具有颜色;
标识所述图像中的第一边界像素;以及
使用不透明度的第一局部颜色模型来确定所述第一边界像素的第二不透明度值,其中所述不透明度的第一局部颜色模型是包含所述第一边界像素的各颜色的颜色分量的组合的向量与系数的向量的乘积,其中所述系数通过最小化第一误差函数而确定,其中所述第一误差函数基于所述图像中位于所述第一边界像素的局部邻域内的像素的相应颜色和相应第一不透明度值,并且基于平滑度约束。
2.如权利要求1的方法,进一步包括:
基于所述第二不透明度值来更新所述图像蒙板。
3.如权利要求2的方法,进一步包括:
标识所述图像中的第二边界像素;
确定不透明度的第二局部颜色模型,其中所述不透明度的第二局部颜色模型是包含所述第二边界像素的各颜色的颜色分量的组合的向量与系数的向量的乘积,其中所述系数通过最小化第二误差函数而确定,其中所述第二误差函数基于所述第二边界像素的所述局部邻域内的像素的相应颜色和相应第二不透明度值;以及
基于所述第二局部颜色模型,来确定所述第二边界像素的第三不透明度值。
4.如权利要求1的方法,其中:
所述不透明度的第一局部颜色模型是非线性的。
5.如权利要求1的方法,其中:
所述不透明度的第一局部颜色模型是线性的。
6.如权利要求1的方法,其中:
所述图像蒙板是二值蒙板。
7.如权利要求1的方法,其中:
所述图像蒙板是不透明蒙板。
8.如权利要求1的方法,进一步包括:
标识前景像素与背景像素之间的边沿。
9.如权利要求8的方法,其中确定所述不透明度的第一局部颜色模型包括:
在确定所述不透明度的第一局部颜色模型时,降低接近所述边沿的一个或多个像素的颜色值的贡献的重要性,所述一个或多个像素位于像素的局部邻域内。
10.如权利要求8的方法,其中:
所述第一边界像素位于所述标识的边沿的邻近范围内。
11.如权利要求10的方法,进一步包括:
接收指定所述邻近范围的用户输入。
12.如权利要求1的方法,其中:
所述第一边界像素是这样的像素,其所标识的不透明度值位于不透明度值区间内。
13.如权利要求12的方法,进一步包括:
接收指定所述区间的用户输入。
14.如权利要求1所述的方法,其中确定所述不透明度的第一局部颜色模型进一步包括:
基于整个图像中像素的颜色和每个像素各自的第一不透明度值,来确定不透明度的第二局部颜色模型;以及
基于所述不透明度的第二局部颜色模型和所述图像中位于所述第一边界像素的局部邻域内的像素的颜色,来求解所述不透明度的第一局部颜色模型。
15.如权利要求14所述的方法,其中确定所述不透明度的第二局部颜色模型进一步包括:
基于所述图像的较低分辨率版本,来确定所述不透明度的第二局部颜色模型。
16.如权利要求1所述的方法,进一步包括:
在所述图像的较低分辨率版本中标识低分辨率像素,所述低分辨率像素对应于所述第一边界像素。
17.如权利要求16所述的方法,其中:
所述第一边界像素的局部邻域是所述图像的较低分辨率版本中邻近所述低分辨率像素的一个或多个像素。
18.如权利要求17所述的方法,进一步包括:
针对所述图像的较低分辨率版本来确定不透明度的第二局部颜色模型;以及
基于对所述第二局部颜色模型进行插值,来确定所述不透明度的第一局部颜色模型。
19.如权利要求1所述的方法,其中确定所述第二不透明度值包括:
使用所述第一边界像素的颜色来评估所述不透明度的第一颜色模型。
20.如权利要求1所述的方法,其中:
确定所述第一边界像素的所述第二不透明度值是基于所述第一边界像素的第一不透明度值。
21.一种用于在图像处理中确定图像蒙板的计算机实现的方法,包括:
接收标识图像中多个像素的用户输入,所述图像由像素的光栅定义;以及
在接收到所述用户输入时,执行下述动作一次或多次:
基于所述标识的像素来确定图像蒙板,其中所述图像蒙板标识每个像素的相应第一不透明度值;
标识所述图像中的边界像素;
使用不透明度的局部颜色模型来确定所述边界像素的第二不透明度值,其中所述不透明度的局部颜色模型是包含所述边界像素的各颜色的颜色分量的组合的向量与系数的向量的乘积,其中所述系数通过最小化第一误差函数而确定,其中所述第一误差函数基于所述图像中位于所述边界像素的局部邻域内的像素的相应颜色和相应第一不透明度值,并且基于平滑度约束;
基于所确定的所述边界像素的不透明度值,来更新所述图像蒙板;以及
在接收到所述用户输入时,在显示器上更新所述图像的绘制,以描绘所述经更新的图像蒙板。
22.如权利要求21所述的方法,其中确定所述图像蒙板包括:
基于所述接收的用户输入,对像素进行一致的分类。
23.如权利要求22所述的方法,进一步包括:
沿着所述图像蒙板中的边缘,对不透明度值进行平滑。
24.如权利要求23所述的方法,进一步包括:
将所述图像蒙板与所述图像中的颜色边缘对齐。
25.如权利要求21所述的方法,其中:
当所述用户在所述图像上画出笔划时,接收所述用户输入。
26.如权利要求21所述的方法,其中在显示器上绘制所述图像以描绘所述经更新的图像蒙板包括以下一个或多个:
突出显示主要具有前景不透明度值或背景不透明度值的像素;
将所述主要具有前景不透明度值或背景不透明度值的像素模糊化;
对其不透明度值主要是前景或背景的像素应用滤波器;
绘制所述图像蒙板,所述图像蒙板描绘每个像素的所述不透明度值;或者
绘制其不透明度值主要是前景或者背景的像素的区块的边沿。
27.一种用于在图像处理中改进图像蒙板的系统,包括:
用于接收图像蒙板的装置,所述图像蒙板标识光栅图像中的像素的第一不透明度值,所述第一不透明度值在代表前景的值与代表背景的值之间变化,所述图像中的每个像素具有颜色;
用于标识所述图像中的第一边界像素的装置;以及
用于使用不透明度的第一局部颜色模型来确定所述第一边界像素的第二不透明度值的装置,其中所述不透明度的第一局部颜色模型是包含所述第一边界像素的各颜色的颜色分量的组合的向量与系数的向量的乘积,其中所述系数通过最小化第一误差函数而确定,其中所述第一误差函数基于所述图像中位于所述第一边界像素的局部邻域内的像素的相应颜色和相应第一不透明度值,并且基于平滑度约束。
28.一种用于在图像处理中确定图像蒙板的系统,包括:
用于接收标识图像中多个像素的用户输入的装置,所述图像由像素的光栅定义;以及
用于在接收到所述用户输入时执行下述动作一次或多次的装置:
基于所述标识的像素来确定图像蒙板,其中所述图像蒙板标识每个像素的相应第一不透明度值;
标识所述图像中的边界像素;
使用不透明度的局部颜色模型来确定所述边界像素的第二不透明度值,其中所述透明度的局部颜色模型是包含所述边界像素的各颜色的颜色分量的组合的向量与系数的向量的乘积,其中所述系数通过最小化第一误差函数而确定,其中所述第一误差函数基于所述图像中位于所述边界像素的局部邻域内的像素的相应颜色和相应第一不透明度值,并且基于平滑度约束;
基于所确定的所述边界像素的不透明度值,来更新所述图像蒙板;以及
在接收到所述用户输入时,在显示器上更新所述图像的绘制,以描绘所述经更新的图像蒙板。
CN2007800414541A 2006-09-25 2007-09-20 改进图像蒙板 Active CN101536078B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US84716806P 2006-09-25 2006-09-25
US60/847,168 2006-09-25
US11/607,206 US8013870B2 (en) 2006-09-25 2006-12-01 Image masks generated from local color models
US11/607,206 2006-12-01
PCT/US2007/079090 WO2008039693A2 (en) 2006-09-25 2007-09-20 Improving image masks

Publications (2)

Publication Number Publication Date
CN101536078A CN101536078A (zh) 2009-09-16
CN101536078B true CN101536078B (zh) 2012-09-05

Family

ID=39230879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800414541A Active CN101536078B (zh) 2006-09-25 2007-09-20 改进图像蒙板

Country Status (4)

Country Link
US (2) US8013870B2 (zh)
CN (1) CN101536078B (zh)
GB (1) GB2455955B (zh)
WO (1) WO2008039693A2 (zh)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2860292B1 (fr) * 2003-09-26 2005-12-02 Thales Sa Procede d'estimation de distance pour un mobile soumis a des contraintes dynamiques de parcours
US8050498B2 (en) 2006-07-21 2011-11-01 Adobe Systems Incorporated Live coherent image selection to differentiate foreground and background pixels
US20080072157A1 (en) * 2006-09-14 2008-03-20 Joseph Pally System for controlling objects in a recursive browser system: ZSpace sharing
JP5202546B2 (ja) * 2007-02-25 2013-06-05 ヒューマンアイズ テクノロジーズ リミテッド マルチ画像表示を較正および/または視覚化しかつゴーストアーチファクトを低減するためのするための方法およびシステム
WO2009013744A2 (en) * 2007-07-23 2009-01-29 Humaneyes Technologies Ltd. Multi view displays and methods for producing the same
US8762864B2 (en) 2007-08-06 2014-06-24 Apple Inc. Background removal tool for a presentation application
US8175384B1 (en) * 2008-03-17 2012-05-08 Adobe Systems Incorporated Method and apparatus for discriminative alpha matting
US8111913B2 (en) * 2008-09-17 2012-02-07 Motorola Solutions, Inc. Countermeasures against original background retrieval
US9778810B2 (en) * 2009-07-14 2017-10-03 Zumobi, Inc. Techniques to modify content and view content on mobile devices
AU2009212881B2 (en) * 2009-08-31 2012-06-14 Canon Kabushiki Kaisha Efficient radial gradient fills
CN102169594A (zh) * 2010-02-26 2011-08-31 新奥特(北京)视频技术有限公司 一种实现任意区域渐变动画的方法和装置
JP4950315B2 (ja) * 2010-02-26 2012-06-13 楽天株式会社 データ生成装置、データ生成方法、及びデータ生成プログラム
CN102314291A (zh) * 2010-06-30 2012-01-11 上海科泰世纪科技有限公司 图标处理系统及方法
US8625888B2 (en) 2010-07-21 2014-01-07 Microsoft Corporation Variable kernel size image matting
US8386964B2 (en) * 2010-07-21 2013-02-26 Microsoft Corporation Interactive image matting
JP5829390B2 (ja) * 2010-09-07 2015-12-09 ソニー株式会社 情報処理装置、および情報処理方法
JP5170226B2 (ja) * 2010-12-10 2013-03-27 カシオ計算機株式会社 画像処理装置、画像処理方法、及びプログラム
WO2012139232A1 (en) * 2011-04-11 2012-10-18 Liberovision Ag Image processing
CN102724417B (zh) * 2011-05-09 2015-05-27 新奥特(北京)视频技术有限公司 一种百叶窗式实现字幕特效的方法及系统
CN102779129B (zh) * 2011-05-11 2016-08-03 腾讯科技(深圳)有限公司 在网络浏览器上实现图片渐进渐出效果的方法和装置
US8855411B2 (en) * 2011-05-16 2014-10-07 Microsoft Corporation Opacity measurement using a global pixel set
CN102521867B (zh) * 2011-12-16 2014-09-17 拓维信息系统股份有限公司 一种手机动漫人物及背景创作方法
US9202281B2 (en) * 2012-03-17 2015-12-01 Sony Corporation Integrated interactive segmentation with spatial constraint for digital image analysis
JP5962083B2 (ja) * 2012-03-14 2016-08-03 オムロン株式会社 領域抽出結果の表示方法及び画像処理装置
US9224205B2 (en) * 2012-06-14 2015-12-29 Qualcomm Incorporated Accelerated geometric shape detection and accurate pose tracking
US8902238B2 (en) * 2012-10-15 2014-12-02 Intel Corporation Parallel flood-fill techniques and architecture
US9547410B2 (en) 2013-03-08 2017-01-17 Adobe Systems Incorporated Selection editing using a localized level set algorithm
CN104078027A (zh) * 2013-03-28 2014-10-01 比亚迪股份有限公司 显示装置及显示方法
AU2013206601A1 (en) 2013-06-28 2015-01-22 Canon Kabushiki Kaisha Variable blend width compositing
CN103593834B (zh) * 2013-12-03 2017-06-13 厦门美图网科技有限公司 一种智能添加景深的图像增强方法
US9858705B2 (en) * 2013-12-04 2018-01-02 Koninklijke Philips N.V. Image data processing
US20150302600A1 (en) * 2014-04-21 2015-10-22 Karl Joseph Kreder, III Method for obfuscating images or video to prevent digital recording or capture while remaining visible to humans
CN104167009B (zh) * 2014-08-12 2018-12-11 厦门美图移动科技有限公司 一种动画效果的实现方法
CN104331868B (zh) * 2014-11-17 2019-04-02 厦门美图网科技有限公司 一种图像边缘的优化方法
US9355457B1 (en) 2015-04-15 2016-05-31 Adobe Systems Incorporated Edge detection using multiple color channels
GB201602272D0 (en) * 2016-02-09 2016-03-23 Univ Manchester Improvements in image formation
US10049308B1 (en) * 2017-02-21 2018-08-14 A9.Com, Inc. Synthesizing training data
WO2019133986A1 (en) * 2017-12-30 2019-07-04 Wu Yecheng Printing white features of an image using a print device
US10656530B2 (en) * 2018-05-08 2020-05-19 Asml Us, Llc Application of FreeForm MRC to SRAF optimization based on ILT mask optimization
CN110502205B (zh) * 2019-08-29 2023-08-01 百度在线网络技术(北京)有限公司 图片显示边缘处理方法、装置、电子设备和可读存储介质
CN110766625B (zh) * 2019-10-15 2022-04-19 中国科学院光电技术研究所 一种数字图像掩模的快速填充方法
CN110969595B (zh) * 2019-12-02 2023-08-01 成都索贝数码科技股份有限公司 一种基于实时抑制背景溢色的纯色背景抠像合成方法
CN111314770B (zh) * 2020-03-06 2022-03-04 网易(杭州)网络有限公司 游戏中列表的显示方法、装置以及终端设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5951713A (en) * 1994-09-16 1999-09-14 Canon Information Systems Research Australia Pty Ltd. Method and apparatus for creating color blends of an output image based on selection of non-coincident points on an input image
US5982939A (en) * 1995-06-07 1999-11-09 Silicon Graphics, Inc. Enhancing texture edges
US6337925B1 (en) * 2000-05-08 2002-01-08 Adobe Systems Incorporated Method for determining a border in a complex scene with applications to image masking
US6876361B2 (en) * 2001-03-15 2005-04-05 Micron Technology, Inc. Architecture for real-time texture look up's for volume rendering
US6894704B1 (en) * 1999-11-22 2005-05-17 Adobe Systems Incorporated Processing complex regions of illustration artwork

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078619A (en) * 1996-09-12 2000-06-20 University Of Bath Object-oriented video system
JPH10191020A (ja) * 1996-12-20 1998-07-21 Canon Inc 被写体画像切出し方法及び装置
US5917937A (en) * 1997-04-15 1999-06-29 Microsoft Corporation Method for performing stereo matching to recover depths, colors and opacities of surface elements
US20040008886A1 (en) * 2002-07-02 2004-01-15 Yuri Boykov Using graph cuts for editing photographs
US20040100477A1 (en) * 2002-11-26 2004-05-27 Ge Medical Systems Information Technologies, Inc. Real-time masking system and method for images
US7652667B2 (en) * 2004-09-15 2010-01-26 Tektronix, Inc. Method and apparatus for visually indicating mask violation locations
US8913830B2 (en) * 2005-01-18 2014-12-16 Siemens Aktiengesellschaft Multilevel image segmentation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5951713A (en) * 1994-09-16 1999-09-14 Canon Information Systems Research Australia Pty Ltd. Method and apparatus for creating color blends of an output image based on selection of non-coincident points on an input image
US5982939A (en) * 1995-06-07 1999-11-09 Silicon Graphics, Inc. Enhancing texture edges
US6894704B1 (en) * 1999-11-22 2005-05-17 Adobe Systems Incorporated Processing complex regions of illustration artwork
US6337925B1 (en) * 2000-05-08 2002-01-08 Adobe Systems Incorporated Method for determining a border in a complex scene with applications to image masking
US6876361B2 (en) * 2001-03-15 2005-04-05 Micron Technology, Inc. Architecture for real-time texture look up's for volume rendering

Also Published As

Publication number Publication date
US20110311134A1 (en) 2011-12-22
GB2455955A (en) 2009-07-01
CN101536078A (zh) 2009-09-16
WO2008039693A3 (en) 2008-11-20
US20080122858A1 (en) 2008-05-29
US8013870B2 (en) 2011-09-06
GB2455955B (en) 2011-05-25
GB0906954D0 (en) 2009-06-03
US8264500B2 (en) 2012-09-11
WO2008039693A2 (en) 2008-04-03

Similar Documents

Publication Publication Date Title
CN101536078B (zh) 改进图像蒙板
CN101529495B (zh) 图像遮罩生成
US11436775B2 (en) Predicting patch displacement maps using a neural network
US10861232B2 (en) Generating a customized three-dimensional mesh from a scanned object
US10769830B2 (en) Transferring vector style properties to a vector artwork
EP3745339A1 (en) Method for implanting advertisements in video, and computer device
CN113379775A (zh) 利用彩色化神经网络基于交互式颜色边缘生成彩色化图像
US11216998B2 (en) Jointly editing related objects in a digital image
US11961203B2 (en) Image processing device and operation method therefor
CN112733044B (zh) 推荐图像处理方法、装置、设备及计算机可读存储介质
US11978216B2 (en) Patch-based image matting using deep learning
CN111179159B (zh) 消除视频中目标影像的方法、装置、电子设备及存储介质
CN106605211A (zh) 着色器的渲染时间链接
CN115812221A (zh) 图像生成及着色方法及装置
CN113301409A (zh) 视频合成方法、装置、电子设备和可读存储介质
CN114298900A (zh) 图像超分方法和电子设备
CN111107264A (zh) 图像处理方法、装置、存储介质以及终端
CN112927321B (zh) 基于神经网络的图像智能设计方法、装置、设备及存储介质
CN101512598A (zh) 实时的一致图像选择
US11200708B1 (en) Real-time color vector preview generation
JP2015125543A (ja) 視線予測システム、視線予測方法、および視線予測プログラム
US20240104312A1 (en) Photorealistic Text Inpainting for Augmented Reality Using Generative Models
WO2021129213A1 (zh) 主题图标的生成方法及其装置、计算机设备
JP2024037556A (ja) 情報処理装置及びプログラム
CN117952817A (zh) 一种图像对比展示方法及相关装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant