改进图像蒙板的制作方法

文档序号:2520827阅读:272来源:国知局
专利名称:改进图像蒙板的制作方法
技术领域
本公开涉及图形图像处理,并且更具体地,涉及选择图像的部
背景技术
通常,针对图像中的每个像素,图像蒙板(image mask)指示 每个像素是否被选择。图像蒙板有时称为图像遮罩(image matte)、 选择蒙板或者alpha通道。二值蒙板是可以用于为每个像素指示两个 互斥状态(选择或者不选择、前景或者背景,等等)中的一个状态 的图像蒙板。不透明蒙板(有时也称为渐进不透明蒙板)是指示每 个像素在两个互斥状态中的一个状态的程度的图像蒙板。不透明蒙 板可以用来例如指示某些像素完全是前景或者完全是背景,而其他 像素主要是前景,略有点背景。给定像素由不透明蒙板定义为前景 的程度可以称为像素相对于不透明蒙板的不透明度。
不透明蒙板通常用来选择图像的区块,这些区块描绘了具有模 糊边缘(例如,边缘与其他描绘的对象或背景混合)的对象。通常, 这种对象包括头发、.毛皮、羽毛、火和烟等。可以通过对二值蒙板 的边缘进行人工羽化或软化(例如,模糊),来根据二值蒙板生成 不透明蒙板。然而,作为结果的不透明蒙板通常展现统一的软化边 缘,而这些边缘并未反映图像中所描绘的特征(例如,锐边)。
通过选择颜色的范围或者使用不透明度的全局颜色模型(这取 决于图像中所有像素的颜色),也可以生成不透明蒙板。然而,这 些技术可能产生并不完全包括所期望区块的不透明蒙板。

发明内容
8总体上,在一个方面,实施方式的特征在于接收图像蒙板,其 中该图像蒙板标识光栅图像中像素的第 一 不透明度值。第 一 不透明 度值在代表前景的值与代表背景的值之间变化。图像中的每个像素 都具有颜色。在图像中标识第一边界像素。使用不透明度的第一局 部颜色模型来确定第一边界像素的第二不透明度值。不透明度的第 一局部颜色模型是基于图像中第 一 边界像素的局部邻域内的像素颜 色而确定的。此方面的其他实施方式包4舌相应的系统、设备和计算 机程序产 品。
这些和其他实施方式可以可选地包括下述特征的一个或多个。 可以基于第二不透明度值来更新图像蒙板。可以在图像中标识第二 边界像素。可以基于第二边界像素的局部邻域内的像素的颜色和第 二不透明度值来确定不透明度的第二局部颜色模型。可以基于第二 局部颜色模型来确定第二边界像素的第三不透明度值。
不透明度的第 一 局部颜色模型可以是非线性的。不透明度的第 一局部颜色模型可以是线性的。图像蒙板可以是二值蒙板。图像蒙 板可以是不透明蒙板。可以标识前景像素与背景像素之间的边沿。
确定不透明度的第一局部颜色模型可以包括在确定不透明度的第 一局部颜色模型时,降低接近边沿的一个或多个像素的颜色值的贡 献的重要性,其中所述一个或多个像素在像素的局部邻域内。第一 边界像素可以邻近所标识的边沿。可以接收指示邻近范围的用户输 入。第一边界像素可以是这样的像素,该像素所标识的不透明度值 位于不透明度值的区间内。可以接收指定区间的用户输入。
确定不透明度的第 一局部颜色模型可以包括标识将给定像素 的颜色作为参数的函数,其中该函数的值是给定像素的不透明度值, 并且其中该函数是多个项的和。每一项是以下二者的乘积相应的 未定系数和相应的单项式,所述单项式具有与所述给定像素的颜色 的每个分量相对应的一个或多个变量。通过确定函数中每个系数的 值,推导出边界像素处不透明度的第一局部颜色模型,其中所述推 导是基于像素邻域内的像素颜色和第一不透明度值。确定不透明度的第 一局部颜色模型可以包括基于整个图像中 像素的颜色和每个像素各自的第一不透明度值,来确定不透明度的 第二局部颜色模型。可以基于不透明度的第二局部颜色模型以及图 像中第 一 边界像素的局部邻域内的像素的颜色,来求解不透明度的 第 一局部颜色模型。可以基于图像的较低分辨率版本来确定不透明 度的第二局部颜色模型。
可以标识图像的较低分辨率版本中的低分辨率像素,其中低分 辨率像素对应于边界像素。边界像素的局部邻域可以是图像的较低 分辨率版本中邻近低分辨率像素的 一个或多个像素。可以针对图像 的较低分辨率版本确定不透明度的第二局部颜色模型,并且可以根 据对第二局部颜色模型进行插值来确定不透明度的第 一 局部颜色模 型。确定第二不透明度值可以包括使用第一边界像素的颜色来评 估不透明度的第一颜色模型。可以基于第一边界像素的第一不透明 度值来确定第 一 边界像素的第二不透明度值。
总体上,在另一方面,实施方式的特征在于接收标识图像中多 个像素的用户输入。图像由像素的光栅定义。在接收到用户输入时, 执行下述动作一次或多次1)基于所标识的像素来确定图像蒙板; 2)标识图像中的边界像素;3)使用不透明度的局部颜色模型来确 定边界像素的不透明度值;4)基于所确定的边界像素的不透明度值 来更新图像蒙板;以及5)在接收到用户输入时,在显示器上更新图 像的绘制,以描绘经更新的图像蒙板。此方面的其他实施方式包括 相应的系统、设备和计算机程序产品。
确定图像蒙板可以包括基于接收的用户输入,对像素进行一 致的分类。可以沿着图像蒙板中的边缘对不透明度值进行平滑。可 以将图像蒙板与图像中的颜色边缘对齐。当用户在图像上画出笔划 时,用户输入可以被接收。在显示器上更新图像的绘制以描绘经更 新的图像蒙板包括以下一个或多个1)突出显示主要具有前景不透 明度值或背景不透明度值的像素;2)对主要具有前景不透明度值或 背景不透明度值的像素进行模糊;3)对其不透明度值主要是前景或
10背景的像素应用滤波器;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、 CIEXYZ、 CIE LUV、 YCC、 YIQ、 HSB、 HSL、灰度级, 或者黑白)进行规定,颜色空间确定了如何将图像中每个像素的值 解释成颜色。例如,在RGB编码的图像中,每个像素由至少三个值 进行编码,这三个值对应于RGB三个颜色分量(红、绿和蓝)的每 一个。在灰度级图像中,颜色对应于亮度水平或者灰色阴影。在黑 白图像中,颜色或者是白,或者是黑。
通常,图像及其组成像素由具有图像格式的文件进行描述和存 储,其中图像格式诸如联合图像专家组(JPEG)格式、便携式网络 图像(PNG)格式、图形交换格式(GIF)格式、位图(BMP)格式、 标记图像文件格式(TIFF)格式及其他。
两个单独的笔划(例如,110和120)被示出为叠加在图像100 上。已由笔划覆盖的像素被标识为处于由图像蒙板表示的两个状态 (例如,前景或背景)之一中的像素。例如,笔划110标识前景像 素,而笔划120标识背景像素。
可以创建图像IOO的初始二值蒙板,其将图像中的像素标识为 前景或背景。图像100的二值蒙板的生成可以随实现而变化。在某 些实现中,用户标识的前景像素和背景像素可以用来生成二值蒙板。 例如,二值蒙板可以基于一致分类来确定,如Gregg Wilensky等人于2006年9月6日提交的名为LIVE COHERENT IMAGE SELECTION的美国专利申请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%)。
在某些实现中,图像的前景区域和背景区域中的像素不透明度
值可以表示为前景(+ )投影函数n+(。和背景(-)投影函数n(r),
其中r是像素在图像中的空间位置(例如,r="J},其中x和少表 示像素在图像光栅中的位置)。每个函数在r处的值基于初始蒙板
中r的不透明度值,表示为"《(。。例如,在某些实现中 n(r)二a^,(r)以及
<formula>formula see original document page 13</formula>
这些函数是互补的,从而在r的每个值处,两个函数的和都是1:
TTL(r) + n—(r) = I。 ( j )
除非特别指出,本说明书的其余部分都假设初始蒙板中的不透
明度值具有上述互补性质。
在图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中的^f象素)的不透明度值可 以在第二图像蒙板中保持其初始不透明度值。相反,邻近边沿的像 素(例如,区域430中的像素)的不透明度值要进行重新评估,并 且将潜在地在第二图像蒙板中具有更准确的不透明度值。
图5是可以用来确定边沿蒙板(例如,边沿蒙板400)的边沿 函数(3的曲线图500。在某些实现中,边沿函数可以是高斯函数,其 基于像素离最近边沿有多远来生成像素的不透明度值。在其他实现 中,边沿函数可以根据欧式距离变换函数(其测量从每个像素到最
15近边沿像素的距离)来确定。图500的曲线510将不透明度值表示 为距边沿520 (由虚线表示)的距离505的函数。卩的变化距离取决 于半径R 530 (即,像素距边沿520的距离)。例如,半径530对应 于边沿蒙板400中所示的边界区域430的宽度。p在r处的值是像素 r的边界不透明度值。从曲线510可证实,在某些实现中,对更靠近 边沿520的前景像素和背景像素进行更有效的重新评估。离开边沿、 但是在边界区域内的像素可以保持其一些初始不透明度值(例如, 可以对像素的重新评估的不透明度值与其初始不透明度值进行混 合,以生成改进的像素值)。
图6是二值蒙板600中像素的示意图。以虚线示出的边界610 表示前景像素和邻近的背景像素的汇合之处。边界区域650 (示为区 块602内的像素)可以通过标识边沿610附近的像素来确定。在某 些实现中,边界区域650可以包括边沿610的特定距离或半径之内 的任何像素。边界区域650例如包括离边沿610小于三个像素的那
些像素。在某些实现中,此半径对应于函数p大于o的那些半径(例
如,半径530 )。 一般地,其他半径长度也是可行的,并且半径的长 度可以随实现而变化。在某些实现中,半径可以是预先确定的、基 于图像的大小而确定的或者基于用户输入指定的。
对边界区域内像素的重新评估可以基于不透明度的颜色模型, 类似于在Gregg Wilensky在2006年9月19日提交的名为IMAGE MASK GENERATION的美国专利申请11/524,219中所描述的。不透 明度的颜色模型用于确定给定像素的不透明度值。在某些实现中, 不透明度的颜色模型(以向量符号表示)具有以下形式
。 (1.5) 在等式(1.5)中,"(r)是像素r的不透明度值,纟是包含给定 像素的颜色分量的组合的向量,而^是不透明度的颜色模型中的常数 系数的对应向量。《的每个元素是像素r的颜色分量的唯一乘积。例 如,在RGB颜色空间中的^象素可以具有以下形式的颜色分量r、 g、
166、 V、 #'、 r。对于#中的每个颜色分量,在乂中存在相应的系数。 颜色分量组合的数量可以预先确定、自动确定或者基于用户输入指
定。对于RGB颜色空间中的图像以及使用二阶颜色分量组合,例如,
不透明度的颜色模型中每个向量可以具有以下形式(其中,Ww表示A
中第n个系数,而ng,办分别表示红色分量、绿色分量、蓝色分量)
2 = ■{ Wo W|, W2, W—;, W4, W5, W7, W8, W9 }和
《={ 1 , r, g, b, — , rg, .rb, b2, bg, g2)。
一般地,颜色分量组合的数量对根据对图像中像素的重新评估 而得到的不透明蒙板的逼真度有所影响。较多的颜色分量通常会产 生较为扩张的区块(例如,前景的或背景的),并且每个区块可以 包含较丰富的颜色变化。
在某些实现中,义中系数的值可以通过最小化以下误差函数来
确定
error =丄〖{' n+.(r)[l - A 《(r)]2+ n—(/')
2 } *
2J - , 。 (2)
在等式(2)中,前景投影函数和背景投影函数表示每个像素 在初始不透明蒙板中的不透明度值。然而,在某些实现中,对于用 户标识的像素(例如,图1中描绘的笔划,其标识了来自于图像IOO 的特定像素),前景投影函数和背景投影函数都具有非零值。在这 种实现中,前景投影函数和背景投影函数分别对应于前景笔划和背 景笔划,并且并未表现出等式(l)中规定的互补性质。例如,如果 r被标识为背景像素,则背景投影函数值为l;否则为O。
使用等式(2)中给出的误差函数,系数向量A可以由下述函
数确定,其中〈…〉表示封闭变量(例如,图像中的所有像素)的平均 值
在上述等式中,M是颜色相干矩阵的逆矩阵,其中颜色相干
矩阵纟皮定义为
17m:〈[n+(r)+n.....(;-)〗^^o*
或者,在简化了互补的不透明度值之后:
以及
根据以上给出的误差函数(2) , A是基于图像中所有像素颜 色值的系数向量。使用此系数向量会得到不透明度的全局颜色模型 (参见等式1.5)。然而,如果允许^在空间上逐个像素地变化,则 可以将不透明度的颜色模型有效地局部化。所谓的不透明度的局部 颜色模型是基于图像的特定空间区域内的像素颜色,而并非取决于 图像中所有像素的颜色。这样,对于图像中的每个空间区域,可以 确定不透明度的多个局部颜色模型以及每个模型的相应系数向量 A,。在某些实现中,可以为图像中每个像素计算系数向量a,。
初始图像蒙板中像素的不透明度值可以使用下述误差函数(从 等式(2)修订而来的)、基于不透明度的局部颜色模型来评估
在上述误差函数(3)中,"是像素r的新不透明度值(例如, 在第二图像蒙板中的)。第一项包括来自于不透明度的局部颜色模
型的值,即,局部系数向量"和颜色分量向量;。第一项的作用是 导出第二图像蒙板中的不透明度值,以便与不透明度的局部颜色模 型相一致。第二项包括像素r处的初始不透明度值(Xq。第二项的作 用是根据初始不透明蒙板导出与其初始值相一致的不透明度值。根 据边沿函数P,第一项和第二项彼此对立,其中边沿函数p影响像素 r的新不透明度值由不透明度的局部颜色模型或者像素的初始不透 明度值来确定的程度。与图5中示出的函数P的曲线相比,需要注意随着卩值变小,像素的新不透明度值主要由像素的初始不透明 度值来驱动。当p值为0时(例如,像素在边界区域之外),则像 素保持其初始不透明度。在某些实现中,在确定第二图像蒙板期间 可以忽略边界区域外的像素。值^和/表示常数值,其分别控制第 一项与第二项的影响之间的平衡。
误差函数中的第三项包括梯度算子V ,其有效地用于确保第二 图像蒙板中不透明度值的空间平滑性。梯度算子的值与系数向量A随 r改变的快慢成比例地增大。对于误差函数,梯度算子基于系数向量 的值中的突然(例如,4艮大的)变化而指派惩罚。
在第四项中,M是常数对角矩阵,对于不透明度的局部颜色模 型中每n项,该矩阵M具有n行和n列。矩阵中的每个对角元素具 有相同的常数值m2,除了对
条目是0;此例外对应于颜色分量
向量中退化的第一个值(例如,"<"=i)。矩阵的常数对角值确定 以像素为单位来测量的空间广度,在该空间广度上,来自于图像的 颜色影响不透明度的局部颜色模型。在某些实现中,空间广度中的 像素被称为像素r周围的像素邻域。
第三项和第四项关于新不透明度值a有效地起到了平滑度约
束的作用。第四项确定用于确定系数向量"的值的r附近的像素的局 部邻域的大小。第三项确保了系数向量的值在图像上平滑地变化, 以及避免了系数值从一个像素到下一个像素变化过快。在某些实现 中,当平滑性约束主导了第一项和第二项时(例如,当值^和y'二 者都非常小时),系数向量的值接近于恒定的图像宽度值,类似于 可以从等式(2)导出的系数向量。
为了确定新的不透明度值a,对等式(3)中给出的误差函数 进行求导并使其最小化。为了求解等式,可以针对每个未知变量,
即系数向量^和新不透明度值a,对该等式进行求导。 为了求解a,可对等式(3)求导为(4)
上述等式将像素r的新不透明度值描述为不透明度的局部颜色 模型的贡献与像素的初始不透明度值的贡献。
为了求解系数向量"的值,对等式(3)求导为
f V2 + .M2 + ^(r),射)'=~,0(喻),
(5)
;r餘)/(1—餘))
y风r) + y,(r—风r)) 其中
注意,在等式(5)中,颜色系数向量"仅是像素r的初始不
透明度值"。与颜色分量向量《的函数。给定像素在初始不透明蒙板 中的不透明度值和像素在图像中的颜色,这两个值都是已知的。
值^是边沿函数-以及y和"的值的函数。在确定不透明度的
局部颜色模型中的系数向量7'的值时,&的值确定特定像素的颜色
值对"的值以及不透明度的局部颜色模型的影响程度。^>在r处的 值取决于r与边沿的接近程度(例如,由于通过定义,(3的值基于r 与最近边沿的接近程度)。
图7是用于确定图像中哪些像素可以用来确定不透明度的局
部颜色模型的函数"的曲线图700。曲线730描述了像素的颜色对 不透明度的局部颜色模型的相对贡献。在某些实现中,曲线730基 于边沿函数(3 710,其被示出以用于比较。两个函数都根据像素r距 边沿的距离而变化,其中边沿由垂直的虚线720示出。曲线730表 明离边沿最近的像素(例如,在距离750内的像素)的颜色值对 不透明度的局部颜色模型并无显著贡献。为了确定不透明度的局部 颜色模型,与那些在一定程度上远离边沿(例如,在距离780处) 的像素相比,有效地降低边沿附近的像素的重要性。回想像素的
初始不透明度值确定了每个像素在确定^'的值时被视为前景或背景
20的程度。考虑以下事实边沿附近的像素所具有的颜色值潜在地可 能不具有其初始不透明度值的典型特征。例如,假设初始图像蒙板
不是最优的,如果边沿附近的像素与边沿两侧的像素(例如,附近 的前景像素和背景像素)共享颜色特征,则该像素很可能具有错误 的不透明度值。反之,离边沿较远的像素很有可能具有不同的颜色 值。使用远离边沿720的(例如,在距离780处)像素来确定不透 明度的局部颜色模型能够产生较为准确的不透明度的局部颜色模 型。
在等式(5)中,注意,对于图像中像素的离散光栅,拉普拉 斯算子V2针对特定像素表示了其操作数,与其操作数》'在像素的局 部邻域上的平均值之间的差。像素的局部邻域可以是特定距离内与 特定像素邻近的像素(例如,特定^f象素加4个、9个、21个或25个 邻近像素)。在某些实现中,邻域的大小可以预先确定、自动确定
或者基于用户输入来指定。W与系数向量"之间的关系可以表示如 下
L ' J,其中 <〉"指示封闭的量在N
个最近像素上的平均值。利用此恒等式,等式(5)可以通过以下矩 阵等式来表示
(4十M2 + ("《(r))- /T (r) =(r)"0 (r)—e(r) + 4 <义'>A,(>)
上述函数可以利用矩阵逆运算来求解,其中矩阵逆运算确定了
系数向量T。矩阵通常包含相对较少的非零条目,由此,用于对稀 疏矩阵求逆的具体方法可以随实现而变化(例如,共轭梯度下降法 或者前承条件共轭梯度法)。
在某些实现中,"的值可以通过迭代逼近来确定,其中该迭代 逼近通过一次或多次迭代来细化系数向量的值。迭代逼近可以包括
使用初始系数向量A的值的最初猜想,并使用下述等式在每次迭代中
生成改进的系数向量,其中该等式按照改进的系数向量"中的每个单独的第a个值来表示
d I" * 0: // < ;i。 > v ) +[ 0(" — < Au > v (r) — 〃 < A > w O') 《'(厂)l《'fl > , 其中《Y"s表示像素r的颜色分量,只有第一分量等于1。例
如,^口果^W =《1, C0, C|,…,CnH》,贝,j《'W = ( C0, C|, .", cn,"。
= -^-y
/4 ( 6.1 )以及
(6.2)
等式(6)中的系数向量的初始值^可以使用整个图像的不透 明度的颜色模型(例如,在等式(2)中计算的)来确定。系数向量 的初始值用作启动对系数向量进行迭代改进的种子。在每次迭代中, 改进的系数向量可以用来生成图像的中间不透明蒙板。松弛法(例 如,连续过松弛法,或者Yousef Saad在1996年发表于PWS上的 "Iterative Methods for Sparse Linear Systems"中4是出的方法)可以用来 在迭代之间对中间系数向量的值与之前确定的系数向量进行混合。 迭代的数量可以是预定义的或者基于用户输入,或者可以基于迭代 之间改变的程度(例如,基于对不透明蒙板从一次迭代到下一迭代 的变化量的测量)而自动确定。
在某些实现中,可以根据其来确定值a<)(f)的不透明蒙板可以 是初始不透明蒙板(例如,图2A中示出的二值蒙板)的模糊版本。 初始蒙板的模糊程度是由模糊半径确定的,并且在某些实现中,该 程度是边沿半径R的恒定比例。例如,模糊半径可以是边沿半径长 度的1/3。当在给出初始不透明蒙板的情况下不透明度的局部颜色模 型无法捕获颜色差时(例如,其中,在图像中,相比于背景区块, 前景中的像素之间几乎不存在可区别的颜色差),对初始不透明蒙 板进行模糊可能有助于保持第二图像蒙板边缘的柔和。
22在从用户接收标识前景区块或背景区块的像素选择(例如,图 1中描绘的笔划)的实现中,用户标识的像素可以直接用来生成第二
图像蒙板。在这些实现中,前景投影函数和背景投影函数(例如,n+ 和n)可以表示响应于用户输入而标识的前景像素和背景像素。在 某些实现中,用户输入可以在上述等式(2)中用来确定初始系数向 量^ (可以从其确定系数向量的迭代改进)。
备选地,通过用下述投影函数替换""",前景投影函数和背
景投影函数可以直接用在等式(3)中的误差函数中
上述修改不会以其他方式影响确定系数向量的方式(例如,公
式(5)仍然适用)。然而,像素在第二图像蒙板中的不透明度值可 以由下述经修改的等式来确定
"《厂》=-^-7-^--T (/〗
图8是多个较低分辨率(例如,图像840和图像860)处的全 分辨率图像820的示意图800。每个较低分辨率图像包含全分辨率图 像的代表性内容,例如,图像860中的像素865对应于图像840中 的多个像素845。类似地,图像840中每个像素对应于全分辨率图像 820中的多个像素865。每个较低分辨率图像可以通过对全分辨率图 像820进行下采样来生成。可以通过有效地使用采样方法(诸如, 线性插值、双三次插值或者其他图像缩放技术或采样技术)来实现 下采样。
假设全分辨率图像820是用户感兴趣的图像。在某些实现中, 感兴趣的图像是作为不透明蒙板的基础并且用户最终感兴趣的图
;/外')[a(W(,')刷]V /(1 -餘))[既(r)("0') -1)2 + n (r)(a(r))2] + ^ t/r
23像。备选地,感兴趣的图像可以是展示给用户的特定图像,该图像 自身可以是基础图像的展示。在其他情况下,感兴趣的图像可以被
下采样一次或多次,从而产生诸如图像840或图像860的较低分辨 率图像。与图像相关、并且用于生成不透明蒙板的其他输入(例如, 笔划,初始二值蒙板或不透明蒙板)也可以以类似方式下采样。
较低分辨率图像及其所对应的较低分辨率的用户标识的像素
和输入蒙板可以用于确定不透明度的局部颜色模型的系数向量2'。 例如,系数向量可以基于较低分辨率图像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 )的"丄eve/ AfeAo^ Afarc/^"g AfeAo<^"
中进行了描述。
方法900包括标识边界区域内的像素(步骤920 )。使用初始 图像蒙板,边沿被标识出(例如,在初始二值蒙板中都^皮标识为前 景或背景的两个像素之间的相邻性)。边界区块包括所标识边沿的 预定距离或用户指定距离内的所有像素。
针对每个标识的像素来求解不透明度的局部颜色模型,或者备
选地,针对所标识的像素的连续群组来求解不透明度的局部颜色模 型(步骤930 )。针对所标识的像素求解不透明度的局部颜色模型包 括基于像素邻域中像素的颜色来标识系数向量的值。像素邻域可 以包括所标识的像素。
不透明度的局部颜色模型的系数向量用于确定所标识像素的修订的不透明度值(步骤940)。修订的不透明度值是基于系数向量
和之前的不透明度值,并且可以取决于所标识的像素与初始图像蒙 板内所标识的边沿有多接近。
方法900还可以包括基于边界区域中所标识像素的修订不透 明度值来确定修订的图像蒙板(步骤950)。在修订的图像蒙板中, 边界区域之外的像素保持其在初始图像蒙板中标识的不透明度值, 而边界区域内的像素被给予其相应的修订后的不透明度值。
在某些实现中,可以在收到用户输入时向用户提供反馈。反馈 包括更新图像或图像蒙板的表示,以描绘经修订的图像蒙板(步骤 960 )。例如,可以对主要具有背景不透明度值(例如,不透明度值 小于0.5)的图像像素进行模糊(例如,通过与其不透明度值成比例 的灰色或有色色调来绘制)。更新表示允许用户查看图像蒙板如何 被生成或修订,以及相应地调整其输入。在某些实现中,可以人工 地延迟对接收到的用户输入的反馈。例如,可以在不活3夭的时刻之 后或者响应于用户输入已经停止的信号(例如,鼠标按键释放)而 呈现经修订的图像蒙板。
在某些实现中,确定经修订的不透明蒙板和更新图像或图像蒙 板的呈现是在收到用户输入时发生。如果接收到附加的用户输入(步 骤970 ),则可以处理附加的用户输入(步骤905 )。当得到了期望 的不透明蒙板,则通常可以将经修订的图像蒙板用于后续的图像处 理操作(例如,选择或变换),其中这些操作通常与像素的不透明 度值成比例地应用于该像素(例如,图像处理操作的效应完全作用 于前景像素)。
图10示出了用于通过使用不透明度的局部颜色模型来改进初 始图像蒙板的示例性系统1000。使用不透明度的局部颜色模型来对 初始图像蒙板的一个或多个边界区域内的不透明度值进行重新评 估。系统IOOO通常包括模块(例如,模块1030 )和资源(例如,资 源1010)。模块通常是不同功能的单元,其可以将信息提供至其他 模块也可以从其他模块接收信息。模块可以促进与输入设备1085或输出设备1095 (例如,显示模块1090或输入模块1080 )的通信。 模块可以对资源进行操作。资源是可以由模块操作的信息集合。
系统1000标识图像1010,其包括可以确定其不透明度值的傳_ 素光栅。图像1010中的每个像素的不透明度值组成了不透明蒙板 1020。不透明蒙板1020可以是来自图像1010的单独资源,然而在 某些实现中, 一个或多个不透明蒙板可以在图像资源1010中表示。 图像缩放模块1075可以缩放图像1020以生成图像1015的较低分辨 率版本。
系统1000包括输入模块1080,用于从用户接收像素标识(例 如,前景像素或背景像素)。输入模块1080可以从一个或多个输入 设备1085 (例如,键盘、鼠标、输入板、跟踪板、用于捕获声音或 语音命令的麦克风、用于捕捉用户姿态的相机,或者生理感测器) 接收输入。输入才莫块1080还可以确定^f象素标识(例如,前景或背景) 的特定状态。例如,用户可以通过选择分类状态(例如,切换前景/ 背景按钮)或者通过改变输入(例如,使用鼠标按钮的左键而不是 右键,或者使用用以在输入板上提供输入的特定笔)来指示输入是 前景还是背景。在其他实现中,输入模块1080可以从系统自动接收 像素分类(例如,基于运动检测、边缘检测或者机器视觉系统做出 的标识),其例如可以根据从相机1085接收的一个图像或图像序列 而确定。
像素标识器1030可以从输入模块1080接收经过分类的像素。 像素标识器1030可以自动地在图像中标识与接收自输入模块1080 的像素具有相反标识的像素。标识图像1010中前景像素和背景像素 两者的信息可以被提供至图像蒙板处理器1040。图像蒙板处理器 1040根据已分类的前景像素和背景像素生成初始图像蒙板。在某些 实现中,图像蒙板处理器可以使用已分类的像素来对图像进行一致 的分类,以产生用于该图像的二值蒙板。在其他实现中,图像蒙板 处理器可以基于其他适当技术生成初始蒙板(或者是不透明蒙板, 或者是二值蒙板)。备选地,初始图像蒙板1020可以被提供至系统1000,而无需由图像蒙板处理器1040生成。例如,初始蒙板可以作 为资源(例如,用户所标识的)被接收,或者从模板生成或从另一 系统或过程接收。
在某些实现中,蒙板模糊器组件1050可以对初始图像蒙板 1020执行初步的图像处理。例如,可以基于边沿半径R将初始图像 蒙板1020模糊化。将初始图像蒙板1020模糊化可以从二值蒙板(例 如,邻近前景与背景在初始二值蒙板中汇合地的区域在作为结果的 模糊蒙板中被模糊化)生成不透明蒙板。随后访问该图像蒙板1020 的模块接收已模糊化的蒙板。
边沿确定器1060生成边沿蒙板,该边沿蒙板从初始图像蒙4反 1020标识一个或多个边沿及对应的边界区域。如果初始图像蒙板 1020是二值图像蒙板,则边沿确定器标识与初始二值蒙板中前景和 背景的交汇处相邻近的区域。如果初始图像蒙板1020是不透明蒙板, 则边沿确定器可以基于初始蒙板中不透明度值的阈值来标识边沿 (例如,具有大于0.45且小于0.55的不透明度值的所有像素在边界 区域中)。备选地,可以从不透明蒙板(例如,大于0.5的所有值是 前景,而小于0.5的所有值是背景)生成阈值映射表,根据该阈值映 射表,可以按照类似于在二值蒙板中标识边沿的方式来标识边沿。 边沿蒙板可以基于初始蒙板中的像素距所标识的边沿的距离来生 成。例如,在边沿蒙板中的像素r的不透明度值p可以由下述给出
(/ 、炎
,其中只要°^)小于R, W。便是像素r
距最近边沿的距离。如果议,)大于R,则风"为O。
在上述等式中,R是边沿半径,而k是预先定义的常数。 系数向量求解器1065可以使用边沿蒙板、初始图像蒙板1020
和图像1010或较低分辨率图像1015来确定较低分辨率图像1015中
像素的系数向量;'''的值。不透明度计算器1070可以使用系数向量;-'' 的值、边沿蒙板的值、初始图像蒙板1020的值和图像1010的值来
28确定结果图像蒙板1025的不透明度值。与初始图像蒙板1020相比, 结果图像蒙板1025是经过改进的理想图像蒙板。
显示模块1090可以使用结果图像蒙板1025的有关信息以及图 像1010的有关信息来生成图像蒙板1025和图像1010的视觉绘制。 在某些实现中,具有背景不透明度值的像素在视觉绘制中被突出显 示或者被模糊化。在其他实现中,可以在视觉上绘制动画虚线(例 如,行进的蚂蚁或者字幕),以便在图像蒙板1025中描绘前景区域 和背景区域之间的分隔。在其他实现中,主要是前景或背景(不透 明蒙板所标识的)的图像区块可以在绘制之前由图像滤波器进行滤 波(例如,将背景像素模糊化,或者从彩色变换到灰度级)。绘制 图像的前景像素和背景像素有所区别地允许用户区分其输入在不透 明蒙板上的效果。
备选地,可以直接绘制图像蒙板1025 (例如,将其绘制为单 色图像,其中每个像素的亮度对应于图像蒙板中每个像素的不透明 度值)。在某些实现中,来自像素标识器1030的信息还可以用于绘 制用户标识的像素(例如,为了在图像上画出笔划)。显示模块1090 可以连接至一个或多个显示设备1095。
系统1000描述了用于从不透明度的非线性颜色模型生成不透 明模板的一个潜在实现。通常,模块和资源可以被组合或者拆分, 并且可以以由一个或多个网络互连的一个或多个计算{史备上的石更件 或软件的某些组合实现。
本说明书中描述的主题和功能性操作的实施方式可以在数字 电子电路中实现,或者在计算机软件、固件或硬件中实现,该计算 机软件、固件或硬件包括本说明书中公开的结构及其等同结构、或 是它们的一个或多个的组合。本说明书中描述的主题的实施方式可 以实现为一个或多个计算机程序产品,也即,在计算机可读介质上 编码的、以便由数据处理装置执行或控制数据处理装置操作的 一 个 或多个计算机程序指令模块。计算机可读介质可以是机器可读的存 储设备、机器可读的存储衬底、存储设备、实现计算机可读的传播信号的组合、或者它们中的一个或多个的结合。术语"数据处理装置" 包括用于处理数据的所有装置、设备和机器,例如包括可编程处理 器、计算机,或者多个处理器或计算机。除了硬件之外,该装置可 以包括为考虑中的计算机程序创建执行环境的代码,例如,构成处 理器固件、协议栈、数据库管理系统、操作系统、或者它们中一个 或多个的结合的代码。传播信号是人工产生的信号,例如,机器产 生的电信号、光信号或者电磁信号,生成该信号以对信息进行编码, 以便传输到适当的接收器装置。
计算机程序(也公知为程序、软件、软件应用、脚本或代码) 可以由任意形式的编程语言编写,包括编译语言或解释语言,并且
该计算机程序可以任意形式部署,包括部署为单机程序或模块、组 件、子例程,或者适于在计算环境中使用的其他单元。计算机程序 无需对应于文件系统中的文件。程序可以存储在保存其他程序或数 据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一 部分中、可以存储在专门用于考虑中的程序的单个文件中,或者存 储在多个协同文件中(例如,存储一个或多个模块、子程序,或代
码部分的文件)。可以将计算机程序部署为在一个计算机上执行, 或者将其部署为在位于一个地点的多个计算机上执行或跨过多个地
点分布且通过通信网络互连的多个计算机上执行。
本说明书中描述的处理和逻辑流程可以由liM亍一个或多个计 算机程序的 一 个或多个可编程处理器执行,用于通过对输入数据进 行操作以及产生输出来执行功能。该处理和逻辑流程还可以由例如
FPGA (现场可编程门阵列)或ASIC(专用集成电路)的专用逻辑 电路执行,并且也可以将装置实现为所述专用逻辑电路。
适于计算机程序执行的处理器例如包括通用和专用处理器两
者、以及任意类型的数字计算机的任意一个或多个处理器。通常, 处理器将从只读存储器或随机访问存储器或两者处接收指令和数 据。计算机的基本元件是用于执行指令的处理器以及用于存储指令 和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个海量存储设备,或被操作性地耦合为从所述用于 存储数据的一个或多个海量存储设备接收数据、向其传送数据、或 者进行两者,该海量存储设备例如磁盘、磁光盘、或光盘。然而, 计算机不必一定具有这样的设备。而且,计算机可以嵌入在其他设
备中,例如移动电话、个人数字助理(PDA)、移动音频或一见频插_
放器、全球定位系统(GPS)接收器、或者便携式存储设备(例如,
通用串行总线(USB)闪存驱动),这仅是几例。适于存储计算机 程序指令和数据的计算机可读介质包括所有形式的非易失性存储
器、介质和存储设备,例如包括半导体存储设备,如EPROM、 EEPROM和闪存设备;磁盘,如内部硬盘或可移动硬盘;磁光盘; 以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电 路补充或是包括在专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施方式可 以在具有用于向用户显示信息的显示设备以及用户可以通过其向计 算机提供输入的键盘和指点设备的计算机上实现,其中显示设备例 如CRT (阴极射线管)或者LCD (液晶显示器)监视器,指点设备 例如鼠标或者轨迹球。也可以使用其他类型的设备来提供与用户的 交互;例如,提供给用户的反馈可以是任何形式的感观反馈,例如 视觉反馈、声觉反馈、或者触觉反馈;并且可以接收来自用户的任 意形式的输入,包括声音、语音或触觉输入。
本说明书中描述的主题的实施方式可以实现在包括后端组件 的计算系统中,例如数据服务器;或实现在包括中间件组件的计算 系统中,例如应用服务器;或实现在包括前端组件的计算系统中, 例如具有图形用户界面或者Web浏览器的客户端计算机,用户通过 该图形用户界面或Web浏览器可以与本说明书中描述的主题的实现 进行交互;或实现在一个或多个这样的后端、中间件、或前端组件 的任意结合中。系统组件可以与任意形式或介质的数字数据通信(例 如,通信网络)互连。通信网络的示例包括局域网("LAN"),广 域网("WAN"),网际网(例如,互联网)以及端对端网络(例如,
31adhoc端对端网络)。
计算系统可以包括客户端和服务器。客户端和服务器一般相互 远离,并且通常通过通信网络进行交互。客户端和服务器的关系是 借助于在各自计算机上运行的、彼此具有客户端-服务器关系的计算 机程序得到的。
尽管本说明书包含多种特定细节,但是不应将其理解为是对本 发明的范围或者所要求保护内容的限制,而应当理解为是本发明具 体实施方式的特定特征的描述。本说明书中描述的在各个实施方式 的上下文中的某些特征也可以在单个实施方式中结合实现。相反, 在单个实施方式上下文中描述的各种特征也可以分别实现在多个实 施方式中或者任意适当的子组合中。而且,尽管上文可能将特征描 述为在特定的组合中操作,甚至初始也是这样要求保护的,但是来 自所要求保护的组合的 一个或多个特征在一些情况下可以从该组合
类似地,尽管在附图中以特定的顺序描述操作,但是不应将其 理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或 是要求执行全部所示的操作以得到期望的结果。在特定环境中,多 任务和并行处理可能是有利的。而且,在上述实施方式中多个系统 组件的分离不应被理解为在所有实施方式中需要这些操作,应当将 其理解为所描述的程序组件和系统通常可以在单个软件产品中集成 在一起,或是被打包到多个软件产品中。
已经描述了在此说明书中描述的主题的特定实施方式。其他实 施方式也落在在所附权利要求范围内。例如,在权利要求中出现的 动作可以用不同顺序执行,却仍能实现期待的结果。
权利要求
1. 一种计算机实现的方法,包括接收图像蒙板,所述图像蒙板标识光栅图像中的像素的第一不透明度值,所述第一不透明度值在代表前景的值与代表背景的值之间变化,所述图像中的每个像素具有颜色;标识所述图像中的第一边界像素;以及使用不透明度的第一局部颜色模型来确定所述第一边界像素的第二不透明度值,所述不透明度的第一局部颜色模型是基于所述图像中位于所述第一边界像素的局部邻域内的像素的颜色而确定的。
2. 如权利要求1的方法,进一步包括 基于所述第二不透明度值来更新所述图像蒙板。
3. 如权利要求2的方法,进一步包括 标识所述图像中的第二边界像素;基于所述第二边界像素的局部邻域内的像素的颜色和第二不透 明度值,来确定不透明度的第二局部颜色模型;以及基于所述第二局部颜色模型,来确定所述第二边界像素的第三 不透明度值。
4. 如权利要求l的方法,其中所述不透明度的第 一 局部颜色模型是非线性的。
5. 如权利要求1的方法,其中所述不透明度的第 一 局部颜色模型是线性的。
6. 如权利要求l的方法,其中 所述图像蒙板是二值蒙板。
7. 如权利要求1的方法,其中 所述图像蒙板是不透明蒙板。
8. 如权利要求l的方法,进一步包括 标识前景像素与背景像素之间的边沿。
9. 如权利要求8的方法,其中确定所述不透明度的第一局部颜色模型包括在确定所述不透明度的第 一 局部颜色模型时,降低接近所述边 沿的 一 个或多个像素的颜色值的贡献的重要性,所述一 个或多个像 素位于像素的局部邻域内。
10. 如权利要求8的方法,其中所述第 一 边界像素位于所述标识的边沿的邻近范围内。
11. 如权利要求10的方法,进一步包括 接收指定所述邻近范围的用户输入。
12. 如权利要求1的方法,其中所述第 一边界像素是这样的像素,其所标识的不透明度值位于 不透明度值区间内。
13. 如权利要求12的方法,进一步包括 接收指定所述区间的用户输入。
14. 如权利要求1的方法,其中确定所述不透明度的第一局部颜 色模型进一步包括标识函数,该函数将给定l象素的颜色作为参lt,并且该函数的 值是所述给定像素的不透明度值,其中所述函数是多个项的和,每 一项是相应的未定系数与相应的单项式的乘积,所述单项式具有与 所述给定像素的颜色的每个分量相对应的一个或多个变量;以及通过确定所述函数中每个系数的值,来推导所述边界像素处的 所述不透明度的第 一局部颜色模型,所述推导基于所述像素邻域内 像素的颜色和第一不透明度值。
15. 如权利要求1所述的方法,其中确定所述不透明度的第一局 部颜色模型进一步包括基于整个图像中像素的颜色和每个像素各自的第 一 不透明度 值,来确定不透明度的第二局部颜色模型;以及基于所述不透明度的第二局部颜色模型和所述图像中位于所述 第一边界像素的局部邻域内的像素的颜色,来求解所述不透明度的 第一局部颜色模型。
16. 如权利要求15所述的方法,其中确定所述不透明度的第二 局部颜色模型进一步包括基于所述图像的较低分辨率版本,来确定所述不透明度的第二 局部颜色模型。
17. 如权利要求l所述的方法,进一步包括 在所述图像的较低分辨率版本中标识低分辨率像素,所述低分辨率像素对应于所述边界像素。
18. 如权利要求17所述的方法,其中所述边界像素的局部邻域是所述图像的较低分辨率版本中邻近 所述低分辨率像素的 一个或多个像素。
19. 如权利要求18所述的方法,进一步包括 针对所述图像的较低分辨率版本来确定不透明度的第二局部颜色模型;以及基于对所述第二局部颜色模型进行插值,来确定所述不透明度 的第一局部颜色模型。
20. 如权利要求1所述的方法,其中确定所述第二不透明度值包括使用所述第 一 边界像素的颜色来评估所述不透明度的第 一 颜色模型。
21. 如权利要求l所述的方法,其中确定所述第一边界像素的所述第二不透明度值是基于所述第一 边界像素的第 一 不透明度值。
22. —种计算机实现的方法,包括接收标识图像中多个像素的用户输入,所述图像由像素的光栅 定义;以及在接收到所述用户输入时,执行下述动作 一 次或多次 基于所述标识的像素来确定图像蒙板; 标识所述图像中的边界像素;使用不透明度的局部颜色模型来确定所述边界像素的不透明度值;基于所确定的所述边界像素的不透明度值,来更新所述图像蒙板;以及在接收到所述用户输入时,在显示器上更新所述图像的绘 制,以描绘所述经更新的图像蒙板。
23. 如权利要求22所述的方法,其中确定所述图像蒙板包括 基于所述接收的用户输入,对像素进行一致的分类。
24. 如权利要求23所述的方法,进一步包括 沿着所述图像蒙板中的边缘,对不透明度值进行平滑。
25. 如权利要求24所述的方法,进一步包括 将所述图像蒙板与所述图像中的颜色边缘对齐。
26. 如权利要求22所述的方法,其中当所述用户在所述图像上画出笔划时,接收所述用户输入。
27. 如权利要求22所述的方法,其中在显示器上绘制所述图像 以描绘所述经更新的图像蒙板包括以下一个或多个突出显示主要具有前景不透明度值或背景不透明度值的像素; 将所述主要具有前景不透明度值或背景不透明度值的像素模糊化;对其不透明度值主要是前景或背景的像素应用滤波器; 绘制所述图像蒙板,所述图像蒙板描绘每个像素的所述不透明 度值;或者绘制其不透明度值主要是前景或者背景的像素的区块的边沿。
28. —种计算机程序产品,其编码在计算机可读介质上,可操作 以使数据处理设备执行操作,所述操作包括接收图像蒙板,所述图像蒙板标识光栅图像中的像素的第 一不 透明度值,所述第一不透明度值在代表前景的值与代表背景的值之 间变化,所述图像中的每个像素具有颜色;标识所述图像中的第一边界像素;以及使用不透明度的第 一 局部颜色模型来确定所述第 一 边界像素的第二不透明度值,所述不透明度的第一局部颜色模型是基于所述图 像中位于所述第 一 边界像素的局部邻域内的像素的颜色而确定的。
29. —种系统,包括用于接收图像蒙板的装置,所述图像蒙板标识光柵图像中的像 素的第 一 不透明度值,所述第 一 不透明度值在代表前景的值与代表 背景的值之间变化,所述图像中的每个像素具有颜色; 用于标识所述图像中的第一边界像素的装置;以及 用于使用不透明度的第一局部颜色模型来确定所述第一边界像 素的第二不透明度值的装置,所述不透明度的第一局部颜色模型是基于所述图像中位于所述第一边界像素的局部邻域内的像素的颜色 而确定的。
30. —种计算机程序产品,其编码在计算机可读介质上,可操作 以使数据处理设备执行操作,所述操作包括接收标识图像中多个像素的用户输入,所述图像由像素的光栅 定义;以及在接收到所述用户输入时,执行下述动作一次或多次 基于所述标识的像素来确定图像蒙板; 标识所述图像中的边界像素;使用不透明度的局部颜色模型来确定所述边界像素的不透 明度值;基于所确定的所述边界像素的不透明度值,来更新所述图 像蒙板;以及在接收到所述用户输入时,在显示器上更新所述图像的绘 制,以描绘所述经更新的图像蒙板。
31. —种系统,包括用于接收标识图像中多个像素的用户输入的装置,所述图像由 像素的光栅定义;以及用于在接收到所述用户输入时执行下述动作 一 次或多次的装基于所述标识的像素来确定图像蒙板; 标识所述图像中的边界像素;使用不透明度的局部颜色模型来确定所述边界像素的不透 明度值;基于所确定的所述边界像素的不透明度值,来更新所述图 像蒙板;以及在接收到所述用户输入时,在显示器上更新所述图像的绘 制,以描绘所述经更新的图像蒙板。
全文摘要
一种方法、系统、设备以及计算机程序产品,其特征在于接收图像蒙板(1020),其中该图像蒙板标识光栅图像(1010)中的像素的第一不透明度值。第一不透明度值在代表前景的值与代表背景的值之间变化。图像中的每个像素具有颜色。标识图像中的第一边界像素。使用不透明度的第一局部颜色模型来确定第一边界像素的第二不透明度值。基于图像中位于第一边界像素的局部邻域内的像素的颜色,来确定不透明度的第一局部颜色模型。
文档编号G09G5/02GK101536078SQ200780041454
公开日2009年9月16日 申请日期2007年9月20日 优先权日2006年9月25日
发明者G·D·威伦斯基 申请人:奥多比公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1