CN102067173B - 用于在包含多个像素的图像中选择关注部分的方法和设备 - Google Patents
用于在包含多个像素的图像中选择关注部分的方法和设备 Download PDFInfo
- Publication number
- CN102067173B CN102067173B CN200980119458.6A CN200980119458A CN102067173B CN 102067173 B CN102067173 B CN 102067173B CN 200980119458 A CN200980119458 A CN 200980119458A CN 102067173 B CN102067173 B CN 102067173B
- Authority
- CN
- China
- Prior art keywords
- image
- border
- tunnel
- edge
- pixel
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明涉及限定图像边界。一些实施例提供一种用于选择图像中的一部分的方法。所述方法识别图像中的边缘。所述方法通过使用所识别的边缘来限定图像的所述部分周围的边界。所述方法将所述边界描绘成是可变形的曲线。在一些实施例中,限定边界包括:检测在图像上移动的光标,以及沿着光标附近的已识别边缘来限定边界。在一些实施例中,所述方法搜索光标附近的边缘,以及将边界锁定到所述边缘。在一些实施例中,识别图像的边缘包括执行边缘检测算法。在一些实施例中,识别图像的边缘还包括执行去噪算法。在一些实施例中,可参数化曲线是贝塞尔样条。
Description
技术领域
本发明涉及图像编辑。特别地,本发明涉及为图像限定边界。
背景技术
图像编辑应用(以及视频和其他媒体编辑应用)为用户提供从数字图像的初始状态修改该数字图像的能力。通常,用户希望修改整个图像的颜色属性,或者更常见的是修改图像的选取部分(selection)。例如,用户有可能希望增大选取部分中的饱和度,以使颜色更加强烈夺目,并且由此使该选取部分在图像中更为突出。用户有可能希望改变的其他颜色属性包括色度、亮度等等。对选取部分的颜色属性的修改将被称为色彩校正。
为了修改图像的选取部分,用户必须首先具备用于限定其希望修改的选取部分的工具。一些现有技术的选择工具以用户选择的颜色为基础来进行选择。用户可以(通过从调色板中选择或是通过点击图像中的点)规定其希望选择的颜色,并且选择工具会将选取部分限定成是图像中处于所选颜色阈值以内的所有像素。但是,在一些情况中,用户只希望选择一些具有所选颜色的像素(例如在图像中存在多个面部且用户希望突出显示其中一个面部的情况下)。更进一步,所期望的选取部分有时会包含多种颜色(例如具有皮肤、头发、眼睛等等的头部)。
其他现有技术的选择工具允许用户围绕其希望选择进行色彩校正的区域来绘制边界。但是,执行这种处理通常是一个非常困难的处理,这是因为选取部分的边界是由光标的精确移动限定的。这需要用户非常缓慢仔细地在图像上移动。由此需要一种选择工具,其中所述选择工具允许用户更快地在图像上移动,但仍然在恰当的位置限定图像中的边界。
此种现有技术中的选择工具的另一个缺点在于其无法校正错误。此类选择工具的用户必须能够从期望边界的起始点开始并在没有犯错的情况下始终向着期望端点移动光标。如果出错,则用户必须重新开始所述选择处理。这对用户来说是一个让人非常沮丧的过程,在用户尝试绘制的边界很长的情况下尤其如此,用户必须进行多次尝试来绘制边界。由此需要一种允许用户在尝试限定图像中的边界的时候校正错误的选择工具。
上述现有技术中的选择工具的第三个缺陷在于其限定的边界并未顾及从前景(foreground)到背景(background)的自然过渡。一些工具并未在选取部分与图像剩余部分之间创建硬边缘(hard edge),而是应用了简单柔化选取部分边缘的处理。但是,这些工具并未根据顾及边界实际特性的智能算法来创建柔化效果。当尝试选择如带有头发的头部之类的区域时,这时几乎不可能描绘出每一根头发,但是将头发保持于前景的能力是一个很有用的特征。此外,即便是在易于被选择的边界,从前景到背景的特定于边界的智能过渡(intelligenttransition)也是可取的。由此需要用户能够限定一个区域作为过渡部分,并且确定所述过渡部分的尺寸和形状。此外还需要能够为选取部分限定从前景到背景的智能过渡。
发明内容
本发明的一些实施例提供一种用于在光标在图像上滚动时限定边界的方法。在一些实施例中,当图像编辑应用加载图像以进行显示和编辑时,所述应用将会识别图像的边缘。在识别边缘之前,一些实施例对图像应用去噪算法,使得只保持图像中最相关的边缘。
一些实施例使用边缘来限定图像的边界。例如在一些实施例中,所述方法(1)识别位于在图像上移动的光标附近的边缘,以及(2)将限定的边界锁定到附近已被识别的边缘。在这其中的一些实施例中,所述方法显示搜索窗口,在所述搜索窗口中搜索靠近光标的边缘。 一些实施例根据光标在图像上的移动速度来改变搜索窗口的尺寸。在一些实施例中,光标移动的越快,搜索窗口也就越大。
一些实施例将所限定的边界绘制成一系列分段,使得在这些分段之间具有点。一些实施例还接收输入,以便在限定边界的同时删除所限定的边界的一部分。在一些实施例中,删除边界一部分的输入是光标在先前限定的边界上向后移动通过边界上的至少一个点。
一些实施例使用限定的边界来执行图像编辑操作,例如对图像一部分进行色彩校正或是删去(即裁切)图像一部分,以及其他图像编辑操作(例如添加纹理和其他效果等等)。为了协助这些操作,一些实施例在限定边界的周围产生一个隧道。在一些实施例中,所述隧道具有恒定的设置宽度,使得所述隧道任一侧边都与边界具有相等的距离。在其他实施例中,隧道宽度可以改变,从而避免自相交(self-intersection)。在一些实施例中,在生成隧道之后,所述方法接收针对所述隧道的修改。一些实施例中的修改包括改变隧道宽度以及修改隧道一侧或两侧的形状。
如上所述,一些实施例使用隧道来执行图像编辑操作。例如,一些实施例使用隧道来产生图像中的前景到背景过渡。为了实施这种过渡,一些实施例对隧道外部的像素进行采样,并且基于采样像素来为隧道内部的像素确定α值。根据一种比较采样像素图像值与隧道内部像素图像值的算法确定所述α值。
附图说明
在随附权利要求中阐述了本发明的新颖特征。但出于说明目的,在以下附图中阐述了本发明的若干实施例。
图1概念性地示出了由本发明的一些实施例实施的整个处理。
图2示出的是具有前景、背景和过渡部分的图像。
图3示出的是为图2的图像识别的边缘。
图4示出的是为图2的图像限定的边界。
图5示出的是围绕图4的边界所产生的隧道。
图6示出的是在图5的隧道内部生成的前景到背景过渡。
图7示出的是一些实施例的图像编辑应用。
图8示出的是根据一些实施例来预先计算图像边缘的处理。
图9示出的是选择将要打开的图像文件。
图10示出的是打开的图像。
图11示出的是对图像应用去噪算法而只识别最相关边缘的一些实施例的处理。
图12示出的是未应用去噪算法的图像的边缘。
图13示出的是应用去噪算法的图像的边缘。
图14示出的是用于限定图像边界的一些实施例的处理。
图15和16示出的是用于限定边界的一些实施例的不同尺寸的搜索窗口。
图17-19示出的是一些实施例的边缘搜索处理。
图20示出的是为图像限定的边界,其中所述图像的一部分已经被锁定到图像边缘,并且一部分未被锁定到边缘。
图21示出的是允许在限定过程中删除已限定边界中的一部分的一些实施例的处理。
图22-25示出的是使用图21的处理来限定边界。
图26-28示出的是对已限定的图像边界的修改。
图29示出的是用于从限定的边界中产生隧道的一些实施例的处理。
图30示出的是限定的边界。
图31示出的是从图30的边界产生的隧道。
图32示出的是限定的边界。
图33示出的是从图32的边界产生的隧道。
图34示出的是对图31的隧道宽度进行的修改。
图35示出的是对图33的隧道宽度进行的修改。
图36示出了一条隧道。
图37示出的是具有若干个用于修改隧道的控制点的图36的隧 道。
图38和39示出的是使用控制点来修改图36的隧道。
图40示出的是用于选择图像内部的关注部分的一些实施例的处理。
图41-44示出的是在图像内部选择关注部分。
图45示出的是用于为图像中的像素产生α值的一些实施例的处理。
图46示出的是图像的一部分上的隧道。
图47示出的是围绕图46的隧道的前景和背景采样像素。
图48和49示出的是具有不同采样宽度的隧道。
图50示出的是覆盖在图46的图像的所述部分上的计算得到的α值。
图51示出的是图50的α值。
图52示出的是一些实施例中具有选定的α画笔工具的图像编辑应用。
图53示出的是用于添加具有第一半径的α的第一α画笔。
图54示出的是用于添加具有第二半径的α的第二α画笔。
图55示出的是用于修改α画笔柔和度的工具。
图56示出的是用于去除α的α画笔。
图57示出的是使用图56的α画笔。
图58-63示出的是在多份图像中选取图像中的婴儿的头部。
图64示出的是图像和色彩校正工具。
图65示出的是使用色彩校正工具来修改图像。
图66概念性地示出了一些实施例的图像编辑应用的软件架构。
图67概念性地示出了实施本发明一些实施例的计算机系统。
具体实施方式
在以下描述中出于说明目的而对众多细节进行了阐述。但是,本领域普通技术人员将会认识到,本发明是可以在不使用这些特定细节 的情况下实践的。
第一节.综述
本发明的一些实施例提供一种用于在光标在图像上滚动时限定边界的方法。在一些实施例中,当图像编辑应用加载图像以进行显示和编辑时,所述应用会识别图像的边缘。在识别边缘之前,一些实施例对图像应用去噪算法,由此只保持图像中最相关的边缘。
一些实施例使用边缘来为图像限定边界。例如在一些实施例中,所述方法(1)识别位于在图像上移动的光标附近的边缘,以及(2)将限定的边界锁定到附近已被识别的边缘。在这其中的一些实施例中,所述方法显示搜索窗口,在所述搜索窗口中搜索光标附近的边缘。一些实施例根据光标在图像上的移动速度来改变搜索窗口的尺寸。在一些实施例中,光标移动的越快,搜索窗口也就越大。
一些实施例将所限定的边界绘制成一系列分段,使得在这些分段之间具有点。一些实施例还接收输入,以便在限定边界的同时删除所限定的边界的一部分。在一些实施例中,删除边界一部分的输入是光标在先前限定的边界上向后移动通过边界上的至少一个点。
一些实施例使用限定的边界来执行图像编辑操作,例如对图像的一部分进行色彩校正或是删去图像的一部分。为了协助这些操作,一些实施例在限定的边界周围产生一个隧道。在一些实施例中,所述隧道具有恒定的设置宽度,使得所述隧道的任一侧都与边界具有相等的距离。在其他实施例中,所述隧道的宽度可以改变,从而避免自相交。在一些实施例中,在生成隧道之后,所述方法接收针对所述隧道的修改。一些实施例中的修改包括改变隧道的宽度以及修改隧道一侧或两侧的形状。
如上所述,一些实施例使用隧道来执行图像编辑操作。例如,一些实施例使用隧道来产生图像中的前景到背景过渡。为了实施这种过渡,一些实施例对隧道外部的像素进行采样,并且基于采样像素来为隧道内部的像素确定α值。一些实施例基于一种对采样像素的图像值与隧道内部像素的图像值进行比较的算法来确定所述α值。
图1示出的是由本发明一些实施例执行的整个处理100。图2-6示出的是将处理100应用于图像200的示例。图像200包括前景205(面部和颈部)、背景210以及过渡部分215(与前景和背景混合的头发区域)。处理100是在105以识别图像中的边缘为开始的。在识别边缘之前,一些实施例对图像应用去噪算法,以便仅仅识别最为相关的部分。图3示出了在105识别的图像200的边缘305。一些实施例识别更多或更少的边缘;例如,一些实施例有可能识别头发区域中的一个或多个很小的边缘。
在识别边缘之后,当光标穿过图像时,所述处理会使用所述边缘来限定图像200的边界(在110)。图4示出了具有所限定的边界405的图像200。边界405是沿着一些边缘305限定的,并且包括具有点415的分段410。应该指出的是,所述边界不必是沿着整个连续边缘选择的,并且不必完全包围物体。
根据在110限定的边界,所述处理基于所限定的边界来产生一个隧道(在115)。图5示出了图像200上的隧道505。产生所述隧道505,使得两边全都遵循所限定的边界405的曲线。隧道505包围过渡区域215。一些实施例产生的隧道会使其一边或两边并不是完全遵循选定边界的曲线。在生成隧道之后,一些实施例允许对隧道进行修改。在一些实施例中,通过改变隧道的宽度(即两边之间的距离)或是通过改变隧道一边或两边的形状,可以对隧道进行修改。
基于在115产生的隧道,处理100产生前景到背景的过渡。一些实施例基于隧道外部的像素来产生隧道内部的前景到背景过渡。一些实施例为每个像素限定一个α值。一些实施例的α值代表像素在前景中的范围(extent)。图6示出的是图像200中的像素的α值。像素越暗,α值就越低。除了隧道内部的过渡区域之外,在图6中还为整个图像都生成α值。在一些区域中,一些实施例使用其他那些用于产生α值的方法,以便补充从隧道中生成α值的处理。图6示出的是全白的前景区域205、全黑的背景区域210以及过渡区域215,其中所述过渡区域包括从白到黑的渐变。特定像素的光亮度指示的是所述特 定像素在前景中的范围。处于图5隧道内部的区域的一部分是全白的,这是因为这些像素在特性上与前景中的剩余像素相似。在产生前景到背景的过渡之后,处理100结束。
在以下章节中描述了本发明的若干个更详细的实施例。第二节描述的是一些实施例的图像编辑应用。第三节描述的是若干个用于执行图像边缘检测的实施例。接着,第四节描述的是若干个用于为图像限定边界的详细实施例。第五节描述的是若干个用于从边界中生成隧道的实施例。第六节描述的是若干个用于在图像内部产生从前景到背景的过渡的实施例。接着,第七节描述的是一些在图像上执行色彩校正的实施例。最后,第八节描述的是实施本发明的一些实施例的计算机系统。
第二节.图像编辑应用
图7示出的是根据本发明一些实施例的图像编辑应用700。图7所示的图像编辑应用提供了(1)显示图像的主显示窗口705,(2)边缘检测工具集710,(3)边界限定工具集715,(4)隧道和α生成工具集720,以及(5)色彩校正工具集725。除所显示的应用之外,一些实施例还提供更多的图像编辑工具,而其他实施例提供的仅仅是图7所示工具的子集。
主显示窗口705显示一个可以用图像编辑工具710-725编辑的图像。边缘检测工具集710为用户提供识别图像中的边缘的选项。所识别的边缘可以用于限定图像的边界。本发明的一些实施例在加载图像时识别图像边缘,并且将这些边缘存入存储器,以便在后续的边界限定过程中使用。一些实施例的边缘检测工具集720包括标记为“Edge”(边缘)的复选框730,所述复选框允许用户重新识别所显示图像的边缘。在一些实施例中,通过选择复选框730,可以使图像编辑应用重新识别边缘,并且然后将图像显示在边缘视图中。在边缘视图中,在显示窗口705中显示的仅仅是图像的边缘,而不是实际的图像。一些实施例还提供用户界面工具(例如按钮或复选框),所述用户界面 工具重新识别边缘,但是不会使图像编辑应用在边缘视图中显示图像。一些实施例不允许用户在边缘视图中查看图像(但是仍旧能识别图像边缘)。一些实施例还提供被标记为“Degrain prior Edge Detect”(边缘检测前去除粒面)的复选框735,当选择所述复选框时,会使图像编辑应用在重新识别边缘之前对图像应用去噪算法。一些实施例提供的其他边缘识别工具还包括允许用户变更边缘识别参数和去噪算法的滑动器740。在一些实施例中,滑动器740影响边缘识别和去噪算法的灵敏度。换句话说,滑动器影响识别出可能边缘的似然性。一些实施例将边缘识别和去噪算法的灵敏度设置为默认值,并且未提供滑动器740。在第三节中对边缘识别进行了详细描述。
边界限定工具集715为用户提供不同使用选项,以便通过在显示窗口705中用光标在图像上移动来为限定图像边界。例如,一些实施例提供被标记为“Tunnel”(隧道)的复选框745,所述复选框允许用户确定在限定了边界之后是否围绕该边界生成隧道。一些实施例提供被标记为“Moving Avg”的复选框750,其允许用户在为图像限定边界时确定是否将显示围绕光标的搜索窗口。在第四节详细描述了边界的限定,其中包括搜索窗口的限定和用途。
隧道和α生成工具集720允许用户(1)围绕所限定的边界生成隧道,以及(2)为图像中的每个像素限定所述像素在图像的前景或背景中的范围。在一些实施例中,隧道和α生成工具720包括“Spline”(样条)按钮755,所述按钮允许图像编辑应用的用户在显示区域705中将图像边界限定成样条曲线。根据所限定的边界,一些实施例产生两边围绕所限定的边界的隧道。一些实施例提供的“Move”(移动)按钮760能使用户查看作为可修改的曲线的所产生的隧道的侧边,并且对这些侧边进行修改。在一些实施例中,可修改的曲线是贝塞尔样条。一些实施例提供的滑动器765能使用户在生成隧道之前或之后修改隧道宽度。在第五节更详细地描述了隧道生成处理。
一些实施例基于隧道来产生α值。一些实施例对隧道周围的像素进行采样,以便产生α值。图像编辑应用的一些实施例提供滑动器 767,所述滑动器允许用户修改那些对像素进行采样的区域的宽度。一旦生成α值,则一些实施例的图像编辑应用允许用户在以不同方式示出α值的不同视图中进行切换(toggle)。一些实施例提供下拉菜单770来选择不同视图。一些实施例提供用灰度级示出图像的第一视图,在所述视图中,像素的α值是用像素亮度表示的。一些实施例提供将像素的α值覆盖在图像上的第二视图。在一些实施例中,这种覆盖图可以是灰色、红色、蓝色或绿色的。一些实施例提供一个基于α来显示图像以及任何色彩校正的示图。在第六节将会详细论述从隧道生成α的处理。此外,一些实施例的图像编辑应用还提供“Brush”(画笔)按钮775,所述按钮允许将α画笔与α值结合使用。在一些实施例中,α画笔可以将像素限定成是前景、背景或是前景与背景之间的某个位置,而在其他实施例中,α画笔可以仅仅将像素限定成前景像素。
色彩校正工具集725为用户提供编辑数字图像的能力。色彩校正工具允许用户编辑数字图像的选定部分。在一些实施例中,用于编辑的选定部分是用其他工具集选择的,例如边界限定工具715以及α生成工具720。色彩校正工具725允许用户修改选定部分的特征,例如像素的色调和饱和度。一些实施例包含能使用户将选取部分的颜色转变成一种颜色或另一种颜色的色轮(color wheel)780。
本领域技术人员应该理解,图像编辑应用的一些实施例可以包括所描述的功能,但是这些功能关联的UI工具不同于所描述的UI工具。例如,本领域技术人员将会认识到,允许用户确定是否图形显示搜索窗口的UI工具未必是被标记为“Moving Avg”的复选框,它也可以是具有不同标签的复选框,菜单选项、可选按钮等等。同样,被显示成可选按钮的UI工具也可以是复选框、菜单选项或是其他类型的UI工具。
对于上文和下文中描述的图像编辑工具和处理来说,其可以借助插件、小应用程序或是并入应用自身的直接函数而被引入到任何图像编辑应用中。相应地,对于不同的图像编辑应用,例如Apple Apple Adobe 以及Adobe 来说,这些应用中的每一个都可以实施这里描述的一种或多种图像编辑工具。相应地,在上下文中描述的图像编辑工具和处理可以引入到其他任何应用功能(例如视频编辑应用,数字相册等等)内部或是操作系统(例如Microsoft Apple Mac 等等)内部。
第三节.边缘识别
A.预先计算边缘
图8示出的是根据本发明一些实施例来预先计算图像边缘的处理800。在一些实施例中,处理800由图像编辑应用执行。所述处理800是在接收对要显示图像的选取时开始的(在805)。在一些实施例中,接收借助用户选择打开图像的所述选取处理。图9示出的是用户选择打开图像文件905。在一些实施例中,所述用户突出显示图像文件905的文件名,并且通过点击“Open”(打开)按钮910来选择打开该文件。
在接收到对要显示图像的选取之后,处理800然后计算图像边缘(在810)。在一些实施例中,所述处理使用Canny边缘检测算法或是其变体来计算边缘。在其他实施例中,所述处理使用不同算法来计算边缘。在一些实施例中,可以使用滑动器915来设置边缘计算的参数,并且用户可以在选择打开图像之前对其进行修改。在一些实施例中,这些参数修改边缘检测算法的灵敏度。在计算了边缘之后,所述处理将边缘存入运行所述处理的计算机的存储器中(在815)。由此,其他处理例如为图像限定边界的处理,可以访问这些边缘。
在820,在计算了边缘之后,所述处理在显示窗口中显示图像。图10示出了用户选择图像文件905的结果。图10示出的是在显示窗口1010中显示的图像1005。图像1005的边缘在显示所述图像之前已被计算。在825,在限定所显示的图像边界的过程中使用预先计算的边缘。在一些实施例中,当光标在图像上移动以限定边界时,所述边 界被锁定到所述边缘。在第四节详细描述了使用预先计算的边缘来限定边界的处理。
B.仅识别相关边缘
图11给出的是一些实施例中的处理1100,其中所述处理将去噪算法应用于图像,从而只识别最相关的边缘。一些边缘检测算法识别的是图像中那些实际没有用处的边缘。举例来说,如果图像区域中堆满了很小且差异很大的成分,例如衬衫图案,那么边缘检测有可能在所述区域中检测到大量不需要的微小边缘,而用户在限定边界时很可能不希望将边界锁定到这些边缘。处理1100是在1105显示图像的时候开始进行的。在一些实施例中,如上文中参考处理800描述的那样,在初始显示图像时计算边缘。在1110,所述处理确定是否接收到计算边缘的请求。在一些实施例中,当用户选择了通过使用边缘检测算法来重新计算图像边缘及显示所述边缘的用户界面(“UI”)工具时,这时将会接收到重新计算边缘的请求。回过来参考图7,在一些实施例中,复选框730即为这样的UI工具。在改变了与边缘检测算法相关的参数、例如通过使用滑动器740之一改变所述参数之后,用户有可能希望重新计算边缘。在一些实施例中,用户可以使用其中一个滑动器来影响边缘检测算法的灵敏度。
如果处理1100没有接收到重新计算边缘的请求,那么所述处理确定所述图像是否仍旧是打开的(在1115)。如果图像仍旧是打开的,那么所述处理返回到1105,并且继续显示图像。如果图像不是打开的,那么处理1100结束。如果用户关闭了图像或者打开了不同的图像以进行编辑,那么所述处理将确定所述图像没有打开。在1110,如果所述处理确定已经接收到重新计算边缘的请求,那么所述处理然后确定是否选择去噪功能(在1120)。在一些实施例中,用户通过选择复选框735之类的UI工具来选择去噪功能。如果没有选择去噪功能,那么所述处理1100使用边缘检测算法来计算图像边缘(在1130)。然后,在一些实施例中,所述处理显示图像边缘(在1135)。图12示出的是图像1205的边缘。在图12中,复选框1210将被选定,以便 重新计算和显示图像1205的边缘。复选框1215未被选定则表明没有选择去噪功能。
如果所述处理确定选择去噪功能(在1120),那么所述处理将去噪算法应用于图像(在1125)。在执行边缘识别之前将去噪算法应用于图像,使得边缘识别算法将仅仅计算图像中最相关的边缘。在一些实施例中,去噪算法是双边或各向异性过滤算法。此类算法仅仅会在具有低频纹理的位置模糊图像。换句话说,存在锐边的区域会被置之不理,而没有锐边的图像的区域将被模糊。这样做将会导致在模糊没有相关边缘的区域的同时保持相关(即实际)边缘。一些实施例允许用户修改去噪算法的至少一个参数。例如,一些实施例提供滑动器来调整去噪算法的灵敏度,例如图7的滑动器740之一。在将去噪算法应用于图像之后,所述处理然后计算图像的边缘(在1130)。由于用去噪算法模糊了不包含相关边缘的图像区域,因此边缘检测算法不太可能计算非相关(即虚假)边缘。然后,处理1100将这些边缘存入运行所述处理的计算机的存储器中。
在计算并存储了图像边缘之后,一些实施例将会显示图像边缘(在1140)。图13示出了图像1305的边缘。在图13中,复选框1310是被选定的,以便重新计算和显示图像1305的边缘。复选框1315同样是被选定的,表明选择了去噪功能并且在计算所显示的边缘之前应用了去噪算法。通过比较图12和图13可以看出,区域1220包括很多很小的计算得到的边缘,而相应区域1320则因为应用了去噪算法而没有包含任何计算得到的边缘。总的来说,与图像1205的边缘相比,图像1305的边缘更为锐利且更为明确。一些实施例并没有显示图像边缘,而是改为只计算边缘并将其存入存储器。此外,一些实施例还包含在重新计算边缘时是否显示边缘的选项。
第四节.边界限定
本发明的一些实施例允许用户限定图像边界。在一些实施例中,边界自动锁定到图像的边缘。在一些实施例中,将边界锁定到边缘意 味着边缘分段是在图像上移动的光标附近沿着图像边缘自动绘制的,这与沿着光标的精确路径是相反的。在一些实施例中,边缘是以如上在第三节中描述的方式计算的。当预先计算边缘时,边界锁定到预先计算的边缘,这与光标在图像上移动时通过计算边缘来限定边界的处理是相反的。
A.在限定边界的同时搜索边缘
本发明的一些实施例在为图像限定边界的同时搜索所识别的边缘。一些实施例在光标周围限定一个搜索区域,并且在这个搜索区域中搜索所识别的边缘。一些实施例将搜索区域的至少一个属性作为光标属性的基础。在一些实施例中,搜索区域的属性是搜索区域的尺寸。其他实施例则是将搜索区域的方位或形状作为光标属性的基础。在一些实施例中,所述属性是光标的速度。其他实施例则是将搜索区域作为光标的其他属性的基础,例如加速度。
图14示出的是用于为图像限定边界的一些实施例的处理。所述处理是以显示图像(在1405)为开始的。在1410,所述处理接收限定图像边界的输入。在一些实施例中,所述输入是用户将光标置于图像中的点上并且点击鼠标按键。在一些实施例中,用户在移动光标的同时按住鼠标按键,以便对边界进行选择。在其他实施例中,用户点击并且释放鼠标按键,以便开始限定边界。
在1415,处理1400基于光标速度来限定图像边缘的搜索窗口。在一些实施例中,如第三节描述的那样,这些边缘是在应用或者未应用去噪算法的情况下预先计算的。光标速度是通过光标在图像上以多快的速度移动来确定的。在一些实施例中,所述处理基于单位时间像素、单位时间英寸或是用于速度的其他恰当单位来确定所述速度。搜索窗口被用于搜索那些与所述处理选定的边界自动锁定的边缘。在一些实施例中,将边界锁定到所识别的边缘需要(1)识别光标移至的第一个点(不同于第二个点)附近的边缘上的第二个点,以及(2)在第二个点上绘制边界,而不是让边界遵循光标的移动。
在一些实施例中,搜索窗口的尺寸与光标速度是成比例的,使得 如果光标移动较快,则搜索窗口会被限定的较大。在一些实施例中,这是一个线性比例,而其他实施例则使用光标速度与搜索窗口尺寸之间的其他关系。一些实施例在一系列搜索窗口尺寸上限定了一个比例关系,但是具有最小和/或最大搜索窗口尺寸,使得搜索窗口永远都不会太小(也就是非常接近于零)或太大(也就是整个图像)。
在不同的实施例中,搜索窗口的形状是不同的。一些实施例限定一个圆形搜索窗口,在所述搜索窗口中,圆形的半径与光标速度是成比例的。另一方面,一些实施例限定的是方形搜索窗口,其中方形侧边的长度与光标速度是成比例的。一些实施例会以光标的点为搜索窗口的中心,无论所述搜索窗口是圆形还是方形的。在一些以光标为搜索窗口中心的实施例中,当光标处于图像边缘时,搜索窗口并不是以之为中心的。这样做允许充分使用整个搜索窗口。一些实施例使用不以光标的点为中心的搜索窗口。
一些实施例为用户提供搜索窗口的图解说明,所述图解说明允许用户将执行处理以搜索边缘的区域可视化。在一些实施例中,图像编辑应用为用户提供是否显示图解说明的选项。图15示出了图像编辑应用1500、图像1505、正被选择的边界1510、光标1515、以及具有边长1525的搜索窗口1520。搜索窗口1520指示的是供图像编辑应用搜索图像1505内部的边缘的搜索窗口。框1520的边长1525与光标1515的速度相关联。在图15所示的实施例中,搜索窗口1520是方形的,并且是以光标为中心的。如上所述,在其他实施例中,搜索窗口的形状和中心可以是不同的。在图15中,由于光标移动缓慢,因此边长1525(由此搜索窗口1520)相对较小。
图16示出的是相同的图像1505以及边界1610、光标1615和具有边长1625的搜索窗口1620。与图15所示的边长1525(并且由此与搜索窗口1520)相比,边长1625(并且由此搜索窗口1620)相对较大。这是因为光标1615移动的比光标1515快。由于在光标1615附近只有少量边缘,并且靠在背景上的婴儿的肩部形成一个非常清晰的边缘,因此用户移动光标1615的速度很可能要比移动光标1515快。 光标1515附近包括处于婴儿下巴底部的边缘,婴儿颈部与围兜接触的边缘,以及处于围兜顶上的条纹底部的边缘。附近的边缘越多(也就是说,期望边缘并不像边缘一样清晰),用户越有可能缓慢移动光标1615,由此保持光标接近于期望边缘。
在1415限定了搜索窗口之后,所述处理1400确定在搜索窗口内部是否存在任何已识别的图像边缘。如果在搜索窗口内部存在至少一个已识别边缘,则所述处理自动将边界锁定到搜索窗口内部的已识别边缘(在1425)。如果在搜索窗口内部发现了一个以上的已识别边缘,则一些实施例会将边界锁定到最接近光标的边缘。一些实施例确定先前限定的边界的分段是否沿着边缘,如果所述边缘在搜索窗口中是连续的,则将边界锁定到所述边缘。
图17-19示出的是一些实施例的搜索处理。图17示出的是包含144个像素1705的搜索窗口1700(边长为12个像素的方形搜索窗口)。边缘1715和1720处于所述搜索窗口内部。此外还示出了搜索区域1710。这些图中示出的实施例使用了一个螺旋形区域来识别边界应该被锁定到的边缘。一旦所述螺旋1710发现边缘,则所述处理将边界锁定到所发现的边缘。在图17中,被搜索的区域1710仅仅是一个像素。由于没有包含1710覆盖的像素的边缘,因此所述处理继续执行搜索。图18示出的是在搜索了七个像素之后的搜索区域。所述搜索区域内部的箭头指示的是搜索像素的顺序。这时,螺旋形搜索区域1710尚未发现边缘,由此继续执行搜索。图19示出的是在发现边缘1715时的搜索区域1710。由于边缘1715是搜索区域1710发现的第一个边缘,因此在图示实施例中,所述处理会将边界锁定到边缘1715。由此,所述图示实施例不会将边界锁定到边缘1720,但是其他一些实施例则有可能这么做。在图示实施例中,搜索窗口指示的是搜索区域1710可以增大到的最大尺寸。一些实施例使用了厚度是一个以上的像素的螺旋形搜索区域来进行更快搜索。在一些实施例中,搜索螺旋取决于搜索窗口的尺寸。
如果在搜索窗口内部没有发现已识别边缘,则所述处理1400沿 着光标的移动来绘制边界(在1430)。图20示出的是图像1505以及边界部分2010和2015。边界部分2010被锁定到已识别边缘;特别地,所述边缘是由靠在背景上的婴儿面部和颈部形成的。边界部分2015并没有被锁定到任何已识别边缘,而是跟随光标在图像背景上移动。
当在1425或1430绘制了边界之后,所述处理前进到1435,并且确定当前光标速度是否会从用于在1415初始限定搜索窗口的速度发生变化。如果光标速度改变,则所述处理基于光标速度来重新限定搜索窗口(在1440)。在搜索窗口尺寸与光标速度成比例的实施例中,如果光标速度增加,则所述处理放大搜索窗口,以及如果光标速度降低,则其减小搜索窗口。在基于新的光标速度重新限定了搜索窗口之后,所述处理前进到1445,并且确定是否仍旧接收到限定边界的输入。在一些实施例中,如果鼠标按键仍旧是按下的,则仍旧接收到限定边界的输入。其他实施例是用点击和释放鼠标按键来开始和结束边界限定的,由此,鼠标按键在限定过程中并没有被按下。在1435,如果处理1400确定光标速度不变,则所述处理直接前进到1445。如果仍旧接收到边界限定输入,则所述处理前进到1420,以便继续绘制边界。如果不再接收到边界限定输入,则所述处理结束。
B.删除边界的一部分
本发明的一些实施例删除了先前限定的边界的至少一个分段。在一些实施例中,分段是在限定边界的过程中删除的。当用于限定边界的光标后退到先前限定的边界时,一些实施例将会删除所述边界的分段。其他实施例则会在光标移动到先前限定的边界的阈值距离以内的时候删除所述边界。其他实施例使用了其他机制来删除边界的分段,例如将光标的方向与光标和边界的邻近度相结合。
图21示出的是由一些实施例执行的用于限定图像边界的处理2100,所述处理允许在所述限定处理过程中删除部分边界。处理2100是以显示图像(在2105)为开始的。在2110,所述处理接收限定图像边界的输入。在一些实施例中,所述输入源自用户将光标放置在图像中的点上并点击鼠标按键。在一些实施例中,在图像上移动光标的 同时,用户会按住鼠标按键,以便限定边界。在一些实施例中,用户点击和释放鼠标按键,以便开始限定边界。在2115,所述处理将选定的边界显示成一组分段,并且在这些分段之间具有参考点。在可以删除任何边界之前,一些实施例只需要绘制一个分段,而其他实施例则需要大于1的任何数量的分段(例如最少两个、三个或更多分段)。一些实施例使用处理1400来搜索图像中已识别的边缘,并且在限定边界的同时将边界锁定到所述边缘。
图22示出的是用处理2100限定一些实施例的边界。图22示出了图像2205、光标2210以及边界2215。所显示的边界2215包括边界分段2220和参考点2225。参考点2225介于分段2220之间。边界2215是用在位置2230开始的光标2210绘制的,并且所述边界2215被锁定到光标在图像上从2230移动到在2235显示的光标位置所采用的路径附近的边缘。
在一些实施例中,边界同时包括锁定的点(即沿着已识别的边缘绘制的点)和未锁定的点(即沿着光标的移动绘制的点)。在一些实施例中,参考点2225是在每一个锁定的点上绘制的,而在其他实施例中,参考点2225是在锁定的点的子集上绘制的。在其他实施例中,参考点2225是以彼此等距离的方式绘制的。其他实施例则是基于绘制边界的光标移动的速度沿边界以可变距离来绘制参考点2225。如下所述,一些实施例将边界限定成一组坐标。
在2125,处理2100确定是否仍旧接收到限定边界的输入。在一些实施例中,如果鼠标按键仍旧是按下的,则仍旧接收限定边界的输入。其他实施例是以点击和释放来开始和结束边界限定的,由此在限定过程中,鼠标按键并未被按下。如果不再接收到限定边界的输入,则处理2100结束,并且边界限定处理结束。如果仍旧接收到边界限定输入,则所述处理确定光标是否正在远离最后一个参考点(在2130)。所述最后一个参考点是在边界上最近绘制的参考点。在图22中,最后一个参考点位于2235。如果光标正在远离最后一个参考点,那么所述处理会继续绘制边界(在2135),显示新的分段以及分段之 间的参考点。图23示出的是在边界2215上添加参考点的新的分段2335,其中所述参考点是在用户将光标朝着远离先前限定的边界的方向移动来继续绘制边界的时候添加的。在2135之后,所述处理返回到2125,以便确定是否仍旧接收到边界限定输入。
在2130,如果所述处理确定光标并没有朝着远离最后一个参考点的方向移动,则所述处理前进到2140,并且确定是否光标反向移动到先前限定的边界。先前限定的边界包括已经绘制并且尚未删除的所有边界。在这种情况下,在一些实例中,用户实际上会在与绘制边界相反的方向上追溯已绘制的边界。用户还可以环回到先前限定的边界上的点。如果光标没有反向移动到先前限定的边界上,则所述处理返回到2125,以便确定是否仍旧接收到边界限定输入。如果光标已经反向移动到边界上,则所述处理删除边界的至少一个分段(在2145)。当删除分段时,所述处理会将新的参考点设置成最后一个参考点,以便用于2130。
一些实施例不需要用户在与绘制边界的方向相反的方向上实际追溯边界,但如果光标反向移动到先前限定的边界,即使光标是在与直接追溯边界的方向相比更加迂回的方向上移动的,这些实施例也会删除至少一个分段。如果用户将光标放在先前限定的边界上且与边界末端相距一个以上的分段,那么一些实施例将会删除超出光标位置的所有边界分段。在2145之后,所述处理返回到2125,以便确定是否仍旧接收到边界限定输入。如果确定光标没有反向移动到先前限定的边界上,那么所述处理同样会从2140返回到2125。举例来说,如果用户按下鼠标按键却没有移动光标,那么在一些实施例中既不会绘制新的边界分段,也不会删除分段,但是仍旧会接收到边界限定输入。
在以上描述的处理中,一些实施例在限定边界的同时将边界限定成有序坐标集。例如,所限定的边界上的每个像素都被指定了一个(x,y)配对。当光标移动到具有已经处于坐标集中的特定(x,y)配对的像素上时,所述处理将会删除该有序集中处于特定坐标配对之后的所有坐标。当光标在特定坐标配对的阈值距离以内移动时,一些实施 例将会删除所有坐标。
在图23中,一些新的分段2335会被锁定到婴儿的围兜。但是,更有可能出现的情况是用户尝试限定一个围绕整个婴儿的边界,并且更愿意所述边界延伸到婴儿臂部的下方。图24和25示出的是使用处理2110来删除边界的分段以及随后限定新的分段。图24示出的是在用户在先前限定的边界上将光标移动到点2435并且由此删除未被正确绘制的多个分段2335之后得到的边界2215。图25示出的是在用户继续在婴儿臂部下方选择边界2215之后得到的边界。图25示出了新的分段2535。根据光标2210在图25中的位置,用户可以结束选择边界或是继续选择婴儿臂部下方的边界。
一些实施例允许用户在限定了边界之后修改所述边界。在一些实施例中,当修改边界时,所述边界会尝试自动锁定到边缘。如果用户确定沿着边缘限定的边界优选在至少一个点上是不沿着边缘延伸的,那么用户可以将边界从边缘上移开。一些实施例使用了此类边界来限定没有过渡的选取部分,并且由此不会从所限定的边界中产生隧道或是前景到背景的过渡。
在一些实施例中,边界被视为是具有若干个可修改点的可参数化曲线。可参数化曲线是通过特定的方程或方程组围绕某些限定点限定的曲线。这与光栅曲线形成了对比,其中光栅曲线是由构成该曲线的所有像素的集合限定的。在一些实施例中,通过移动限定点,可以对所述可参数化曲线进行修改。在一些实施例中(例如使用了贝塞尔样条的实施例),用于修改曲线的限定点位于该曲线之上。在其他实施例中(例如使用B样条的实施例),用于修改曲线的限定点是离开该曲线的。除了限定点之外,一些实施例(例如使用贝塞尔样条的实施例)是基于该曲线在特定点上的切线来限定可参数化曲线的。在一些实施例中,用户可以在曲线上添加限定点,然后基于新的限定点来修改曲线。
图26A示出的是用以限定边界2610的图像2605。除了若干个其他限定点之外,所限定的边界2610还包括限定点2615。在一些实施 例中,限定点可以用光标拖曳,以便修改所限定的边界。在图示的实施例中,边界2610是贝塞尔样条,但是为了简化附图中的例示,在这里并未显示切线。图26B示出的是作为B样条的边界2650,其中限定点2655并没有位于该边界上。除了若干个其他边缘之外,图像2605还包括边缘2620。图26还示出了位于限定点2615的光标2625。图27示出的是用户通过使用光标2625向下和向右拖曳限定点2615来修改边界2610的结果。图27示出的是边界被修改使得修改后的边界不再沿着图像的边缘延伸的示例。图27还示出了边缘2720,在初始限定边界时,所述边界沿着所述边缘2720延伸。图28示出的是用户通过使用光标2625向上和向左拖曳限定点2615来修改边界2610的结果。图28示出的是边界被修改使得修改后的边界锁定到与初始限定的边缘不同的边缘的示例。在图28中,边界锁定到边缘2620,而所述边界一开始被锁定到边缘2720。
第五节.从所限定的边界中生成隧道
本发明的一些实施例基于光标在图像某一部分的移动而在该部分图像的周围生成二维隧道。在一些实施例中,所述隧道在图像内部限定一个边界。与硬边缘不同,所述隧道是一个数倍像素宽度的过渡边缘或区域。一些实施例的隧道是作为一对可变形曲线生成的。一些实施例则允许同时或单独修改这两条曲线。
图29给出了用于从所限定的边界中产生隧道的一些实施例的处理2900。处理2900是以显示图像(在2905)为开始的。在2910,所述处理接收限定图像边界的输入。在一些实施例中,如在第四节中描述的那样限定所述边界。其他实施例可以采用不同的方式来限定边界。一些实施例将所限定的边界视为样条曲线。在一些实施例中,在从边界生成隧道之前平滑化所述边界。图30示出的是所限定的边界。图30示出了图像3005、边界3010以及滑动器3015。在一些实施例中,用户通过将光标放在点3020以及在移动到点3025的同时按下光标来限定边界。在一些实施例中,所述处理会在释放了光标之后生成 隧道,而不需要更进一步的用户输入。
在接收到限定边界的输入之后,处理2900确定将要生成的隧道的初始宽度(在2915)。一些实施例基于用户可以修改的UI工具来确定初始宽度。例如在一些实施例中,初始宽度基于线性滑动器工具的设置。参考图30,在一些实施例中,滑动器3015是用于确定隧道初始宽度的线性滑动器工具。一些实施例使用了其他方式来限定隧道的初始宽度,例如用户的数字输入。
在确定了隧道的初始宽度之后,如果隧道的两个侧边具有相同的形状(所限定的边界的形状),那么所述处理确定隧道是否会与自身相交(在2920)。如果将边界限定成是在一个方向上对其进行追踪,并且随后继续在先前限定的部分的附近对其进行反向追踪,那么根据初始宽度,在这里是不可能产生两个侧边具有相同形状的隧道的。如果产生具有相同形状的两个侧边的隧道的处理不会导致该隧道自相交,那么所述处理以在2915确定的宽度来产生隧道(在2925)。通过生成所述隧道,可以使隧道的侧边平行于所限定的边界延伸,并且与所限定的边界具有相等的距离。图31示出的是图像3005,其中所述图像具有在与边界3010相距恒定距离的点上生成的隧道。滑动器3015被设置成与左边相距第一距离,所述距离是到滑动器右边距离的四分之一。由于所限定的边界3015通常是直的,因此生成具有相同形状的两个侧边的隧道3015(并且由此生成具有恒定宽度的隧道)的处理不会导致所述隧道自相交。
在生成两个侧边具有相同形状的隧道的时候,如果处理2900在2920确定隧道将会自相交,那么所述处理将会生成所述隧道(在2930),并且在需要避免自相交的位置改变其中一个或是所有这两个侧边的形状。所述处理尝试尽可能以恒定的宽度来绘制隧道,并且将会修改隧道的一个或是所有两个侧边的形状,以便保持宽度尽可能接近恒定,而不使隧道自相交。在一些实施例,所述修改尽可能被保持在最低的限度。图32示出了在图像3205上显示的所限定的边界320以及滑动器3215。滑动器3215被设置成接近于中间点,以便确定将 要从边界3210产生的隧道的宽度。图33示出的是具有从所限定的边界3210产生的非恒定宽度的隧道3310。主隧道宽度是由滑动器3215设置的。隧道3310具有侧边3320和3325。由于边界3210的形状,所生成的隧道3310具有形状不同的两个侧边3320和3325。特别地,在区域3330内部,与侧边3320相比,侧边3325将会变窄。隧道的宽度被保持在尽可能接近于恒定,但是在接近于测边3325达到一个点的位置,所述宽度会略微减小。
一旦生成了隧道,则所述处理确定是否接收到针对所述隧道的任何修改(在2935)。一些实施例允许对隧道的宽度进行修改。此外,一些实施例中的修改也可以是对隧道一个侧边或是所有两个侧边的形状的修改。
图34示出的是使用滑动器工具3015修改图31的隧道3310的宽度而得到的结果。在一些实施例中,滑动器工具3015被用于确定隧道的初始宽度,以及在生成隧道之后修改隧道的宽度。在图34中,隧道3110实际要比其在图31中更宽,这是因为用户已经将滑动器3015从四分之一标记移动到刚好经过四分之三标记。由于边界3010被限定成基本上是直的,因此如果在初始生成隧道的时候将滑动器3015设置在刚好越过四分之三点的位置,那么在修改了宽度之后,图34所示的隧道3110看上去会是相同的。
图35示出的是使用滑动器工具3215修改图33的隧道3310的宽度而得到的结果,其中所述滑动器工具在图35中接近于四分之三点。不但隧道3310的侧边愈发疏远,而且侧边3325在区域3530中也会变得更窄。这是因为所述处理会在移动滑动器3215的同时尝试尽可能保持宽度恒定。因此,在一些实施例中,修改隧道的宽度的处理不但会修改所述宽度,而且还会修改隧道的一个或所有两个侧边的形状。
一些实施例允许直接修改隧道侧边的形状。在一些实施例中,隧道侧边被限定成可参数化的曲线。在一些实施例中,所述可参数化曲线是由一组可修改的点构成的贝塞尔样条。图36示出了图像3605、 隧道3610、光标3615以及UI项3620(在所显示的实施例中是被标记为“Move”(移动)的按钮)。隧道3610包围了婴儿的手。图36示出的是用户使用光标3615来选择UI项3620。图37示出的是在用户点击了UI项3620之后的隧道3610的特写(close-up),其中所述特写将隧道的两个侧边3705和3710显示成贝塞尔样条曲线。所述样条曲线包括控制点和切线,包含相应的内部和外部控制点3715和3720以及切线3725和3730。外部切线3725要比内部切线3730长,这是因为切线3725处于曲线的外部,而相应的切线3730则处于曲线的内部。在一些实施例中,用户可以通过操纵样条曲线来修改隧道。在一些实施例中,针对一个样条的修改不会影响到其他样条。对于控制点、例如点3715和3720来说,这些控制点可以在图像中的任何方向上移动样条上的点。在一些实施例中,移动一个样条上的控制点将会使两个样条根据控制点的移动而移动。在一些实施例中,当移动控制点时,根据本领域普通技术人员公知的贝塞尔样条曲线的数学运算,同样也会移动附近的点。
图37还示出了处于外部样条3705的点上的光标3735。在一些实施例中,用户可以将控制点添加到一个或两个样条曲线上。在一些实施例中,用户可以通过点击曲线的一个部分而在该点添加控制点。在一些实施例中,添加控制点的处理还会在控制点添加相应的切线。图38示出了在外部样条3705上添加的控制点3815和切线3820。控制点3815已被向内移动。出于第四节描述的原因,在一些实施例中,较为有利的是不让任何的婴儿耳部处于隧道内部,这种向内移动点3815的处理会在实现过程中提供帮助。应该指出的是,在内部样条3710上是没有位于3825的相应控制点的。图38还示出了外部切线3825和相应的内部切线3830。外部切线3825原本长于内部切线3830,但是由于将贝塞尔样条数学运算应用于点3815的移动,因此现在外部切线3825相对较短。在一些实施例中,通过点击切线的端点,可以允许用户修改切线的取向。一些实施例允许用户通过直接使用切线的端点来修改切线的长度,这与移动控制点来进行修改是相反的。在 图38中,外部切线3825不再平行于相应的内部切线3830。这是因为切线3825的左端点被向下拖曳,由此修改外部样条的相邻部分。图39示出的是在向内移动控制点3915之后的样条3705和3710,其中所述控制点是与切线3825相关联的控制点。针对隧道的这些修改产生了将婴儿耳部完全置于隧道外部的有利结果。
回到处理2900,如果所述处理接收到针对隧道的修改(在2935),那么所述处理根据接收到的修改方式来修改所述隧道(在2940)。在一些实施例中,所述修改包括如上描述的修改,例如修改隧道的宽度或是修改一个或所有两个贝塞尔样条。如果在2935未接收到修改,或者在依照任何接收到的修改方式修改了隧道(在2940)之后,所述处理在2945确定是否继续允许修改所述隧道。在一些实施例中,如果用户已为隧道内部的像素生成了α值,那么所述隧道将不再能够被修改。如果用户开始限定新的边界来产生新的隧道,那么在一些实施例中,先前的隧道不再能够接收任何其他修改。如果所述处理确定继续接收修改,那么处理将会返回到2935。如果不是的话,则处理2900结束。
第六节.生成前景到背景的过渡
图40概念性地示出了由一些实施例执行的用于选择图像内部的关注部分的处理4000。处理4000是在4005以显示图像为开始的。图41示出了图像4100。图像4105包括关注部分4105和过渡区域4110。在过渡区域4110中,一些像素是关注部分的一部分,而另一些则不是。在4010,所述处理在关注部分周围为图像限定边界。在一些实施例中,以如上在第四节中描述的方式限定所述边界。其他实施例以不同方式限定边界。例如,一些实施例使用了第一级的启发法来限定边缘,并且这其中并未涉及绘制工具。在一些实施例中,边界是曲线边界。图42示出的是在关注部分4105周围限定的边界4210。由于过渡区域的图像数据具有复杂的特性,因此简单边界无法适当捕获关注部分内部的所有数据。
在4015,处理4000在关注部分周围从所限定的边界中产生一个过渡隧道。一些实施例是采用如上在第五节中描述的方式来产生隧道区域的。图43示出了在关注部分4105周围生成的隧道区域4310。与边界4210不同,隧道4310的内部包括来自过渡区域4110的所有像素。最后,在4020,处理4000分析图像数据以便确定隧道区域中的哪些像素是关注部分的一部分。一些实施例将隧道任一侧边上的像素(这其中的一些像素被限定成是关注部分,而一些像素被限定成不在关注部分以内)与隧道内部的像素相比较,并且基于所述比较来对内部像素进行分类。一些实施例为每个内部像素产生α值。图44示出了黑色像素4405和白色像素,所述黑色像素被限定成处于关注部分之中,所述白色像素被限定成不在关注区域中。
图45概念性地示出了由一些实施例执行的用于为图像中的像素产生α值的处理4500。所述处理4500由处理4500的一些实施例执行,以便为图像的至少一个部分产生前景到背景的过渡。在4505,处理4500以显示图像为开始。在4510,所述处理接收限定图像边界的输入。在一些实施例中,所述边界是用如上在第四节中描述的方式限定的。
在4515,所述处理4500产生围绕边界的隧道。一些实施例是以与如上在第五节中描述的方式相类似的方式产生隧道的。图46示出的是图像4605的一部分。图46示出了隧道4610,其中所述隧道将图像的所述部分划分成三个部分:前景4615、背景4620以及过渡部分4625。在一些实施例中,基于为了限定边界而在图像上追踪光标的方向,所述处理确定哪一个侧边位于背景以及哪一个侧边位于前景。举例来说,如果设想在图像上追踪光标时沿着边界前行,那么一些实施例会将右侧边称为前景,并且将左侧边称为背景,反之亦然。一些实施例允许用户切换所述功能,以使前景和背景交换侧边。在一些实施例中,可以在绘制边界之前或之后使用所述切换功能。一些实施例能使用户为图像的一个部分生成前景到背景的过渡,然后为所述图像的第二个部分生成前景到背景的过渡。举例来说,图46示出了婴儿头部的一个部分;在一些实施例中,在隧道4610内部可以生成前景到背景的过渡,然后则选择始于4610结束位置的新的边界。在一些这样的实施例中,基于对先前选择的边界的限定来限定前景和背景。
在生成了隧道之后,处理4500对来自隧道外部的前景和背景像素进行采样(在4520)。在一些实施例中,对像素采样包括确定像素的颜色属性,例如像素的RGB值或亮度和色度值。一些实施例限定了一个包含隧道的矩形,然后对所述矩形内部的像素进行采样。在其他实施例中,只有隧道之外的窄条像素会被用于采样像素。一些实施例提供了允许用户查看用以采样像素的区域的用户界面工具。如上文在第五节描述的那样,在一些实施例中,这样做允许用户操纵隧道的侧边,由此对来自正确区域的像素进行采样。
图47示出的是隧道4610、前景采样4715以及背景采样4720。采样4715和4720仅是沿着隧道边缘的(也就是刚好在隧道之外)。在一些实施例中,用于获取采样的区域从隧道进一步向外扩展。一些实施例提供了允许用户修改被采样区域的宽度(也就是采样区域从隧道向外扩展的距离)的用户界面工具。图48和49示出的是具有两个不同采样宽度的两个隧道(分别是4805和4905)的放大视图。图48示出的是刚好处于隧道4805外部的前景采样4810和背景采样4815。在该图中,滑动器4820被设置成远离左侧,由此指示的是细采样区域。图49示出的是刚好处于隧道4905外部的前景采样4910和背景采样4915。在该图中,滑动器4820被设置成远离右侧,由此指示的是宽采样区域。相应地,与采样4810和4815相比,采样4910和4915来自一个更宽的区域。来自较宽区域的采样处理具有较大的计算密集度,但在一些情况中,所述处理可以提供更高的精确度。一些实施例不允许用户确定采样宽度,而是为采样区域设置默认宽度。
一些实施例会对采样区域内部的每个像素进行采样。其他实施例则只采样该区域内部的一小部分像素,例如每隔一个像素或每隔两个像素,以便更快地进行计算。此外,一些实施例还允许用户在不修改隧道的情况下直接修改作为被采样像素来源的图像的一部分(为前景或背景采样,亦或是同时为这二者采样)。
在对像素采样之后,所述处理4500确定在隧道内部生成前景到背景的过渡的α生成算法(在4525)。在一些实施例中,所述处理始终使用相同的算法。在一些实施例中,所述算法是一种随机漫步算法。在其他实施例中,所述处理会在一种以上的算法之间进行选择。一些实施例基于用户决定使用哪一种算法来选择算法。一些实施例会提示用户选择一种算法,而其他实施例则依靠用户的预定选择。其他实施例基于被采样像素来选择算法。举例来说,如果背景是蓝屏的,那么可以有利地选择一种用于创建较锐利的前景到背景过渡的算法。
在确定了α生成算法之后,所述处理4500前进到4530,以便开始生成α值。在4530,所述处理选择隧道内部的一个像素。然后,所述处理为所选择的像素计算α值(在4535)。用于所选像素的α值是用在4525确定的α生成算法来计算的。所述α值是通过将采样的像素值与所选像素的像素值进行比较来计算的。如上所述,一些实施例的像素值是像素的颜色属性,例如RGB值或亮度和色度值。一些实施例计算出的α值是包含从0到1的值。α值给出的是像素作为前景的一部分以及背景的一部分所达到的程度。在一些实施例中,值0表示所述像素完全处于背景中,并且值1表明所述像素完全处于前景中。由此,用于为蓝屏背景创建更锐利的前景到背景过渡的α生成算法更有可能计算出接近于0和1的α值,这一点与在0.25-0.75的范围中相反。
在为选定像素计算了α值之后,处理4500确定是否在隧道内部留有任何像素(在4540)。如果没有剩余像素,则所述处理结束α的生成,并且由此结束。如果还留有像素,则所述处理返回到4530,以便选择隧道内部的新像素。所述处理继续为该像素计算α值,直至隧道内部的所有像素都具有α值。一些实施例基于所选像素以及采样像素的像素值来为每个像素计算α值。其他实施例则使用先前所选像素的像素值以及为这些像素计算的α值来修改算法,以便为剩余像素计算α值。
图像编辑应用的一些实施例示出了至少以一种方式计算得到的α值。而一些实施例则示出了用多种方式计算得到的α值,例如红色、绿色、蓝色或灰色覆盖,由此仅仅以灰度级来显示α值,或者完全不显示α值。图50示出的是覆盖在图像4605上的计算得到的α值。在前景部分4615,所有像素都是灰色的,这是因为整个部分的α值是1。在背景部分4620,由于α值全都为0,因此所述覆盖没有发生变化。在采样过程中,用于前景部分4615和背景部分4620的α值被分别限定成1和0。在过渡部分4625,所述覆盖示出的是某些α值与前景相同(即值1),以及某些α值与背景相同(即值0),而某些α值则介于0与1之间(例如很小的包围区域5030中的像素)。一些实施例将所有像素全都限定成初始α值为0(也就是纯背景),并且只有以其他方式限定成至少部分处于前景的那些区域才会被给出非零的α值。
图像编辑应用的一些实施例还可以提供一个只显示α值的视图。图51示出了这样一个用于图50的α值的视图。在图51中,α值1被显示成白色,而α值0被显示成黑色。对于尚未计算α值的区域来说,这些区域被指定为具有α值0,并且由此同样是黑色的。过渡部分4625中的像素具有范围从0到1的α值,由此除了黑色和白色之外,所述部分具有灰色色调可变的像素。一些实施例是以不同的方式来显示α的,例如以前景为黑色(α=1)以及背景为白色(α=0)的方式。
除了使用隧道生成α值之外,一些实施例还允许用户使用α画笔来为图像中的一些部分限定α值。图52示出的是一些实施例中的图像编辑应用,其中所述应用具有使用按钮5205选择的α画笔。在一些实施例中,通过选择α画笔工具,可以使图像编辑应用提供用户界面项5210。UI项5210允许用户选择用α画笔添加α(也就是将区域限定成α值等于1的前景)或是去除α(即将区域限定成α值等于0的背景)。
在一些实施例中,α画笔是圆形的,而在其他实施例中,α画笔 是不同形状的(例如方形)。一些实施例的α画笔可以具有变化的尺寸。在一些实施例中,用户点击图像上的点,以便开始创建α画笔,以及通过向外拖曳所述点来确定α画笔的半径。图53示出的是具有半径5310的α画笔5305。α画笔5305还包括控制点5315。在一些实施例中,在创建了α画笔之后,用户点击控制点内部,以便去除围绕图像的α画笔,由此将画笔覆盖的区域限定成前景或背景。α画笔5305还包括过渡区域5320。一些实施例的过渡区域是从大多数画笔限定的α值过渡到画笔半径之外的α值0。在一些实施例中,仅仅被过渡区域覆盖的图像区域将被限定成具有介于0与1之间的α。图53还示出了指示器5325,所述指示器指示的是是否正在使用α画笔来添加或去除α。指示器5325是一个加号,其表明当前正在使用画笔来添加α。
图54示出的是具有半径5410的α画笔5405。半径5410大于半径5310。与画笔5305相比,α画笔5405更有益于限定α等于1的图像的较大部分。举例来说,如果选择一个很大的前景,那么5405非常适合更快地选择前景的内部,但是其在前景边缘的周围则不会特别有用。
图55示出的是具有弹出式滑动器工具5510的α画笔5505。在一些实施例中,在用户点击α画笔左上方的S的时候显示弹出式滑动器5510。一些实施例的弹出式滑动器调整α画笔的柔和度。一些实施例的柔和度限定在画笔(例如图53中的5320)边缘的过渡区域的宽度。用户可以点击大型条杆5515,并且将其左右拖曳,以便增加或减少α画笔的柔和度。
如上所述,在一些实施例中,α画笔可以用于去除α。图56示出的是具有半径5610的α画笔5605。α画笔5605限定了具有α为0的画笔所覆盖的区域(即背景)。与画笔5305和5405相似,α画笔5605包括处于中心的控制点5615,用于在图像周围移动画笔。图56还示出了指示器5625,在该图中,它是一个表明α画笔5605正在去除α的减号。图57示出的是使用α画笔5605来去除α。在使用画笔5605之前,图57所示图像的整个区域都具有α值1。但是,由于使 用了光标5720在图像周围移动画笔5605,区域5715(画笔5605覆盖的区域)具有α值0,而区域5710则仍旧具有α值1。
第七节.在选取部分上执行色彩校正
一些实施例的图像编辑应用使用了计算得到的α值来对图像的选定区域执行色彩校正。选取部分由计算得到的α值限定。在一些实施例中,应用于特定像素的色彩校正的程度是由所述像素的α值限定的。在一些实施例中,色彩校正应用于特定像素的程度由以下等式给出:
结果=F*α+B*(1-α) (1)
其中F是一个应用了色彩校正函数的图像,B是没有应用任何色彩校正的初始图像。因此,如果像素具有α值1,那么色彩校正将会完全应用于所述像素。如果像素具有α值0.75,那么色彩校正对所述像素的影响仅仅是其对α值为1的像素的影响的四分之三。当然,α值为0的像素是根本不会受色彩校正影响的。
一些实施例还会将选取部分用于剪切。例如,用α值限定的选取部分可以被粘贴到新图像中。一些实施例的剪切是以与色彩校正相类似的方式限定的。α值限定了像素作为被粘贴到新图像中的选取部分的一部分的程度。
如上所述,一些实施例允许用户从多个选定边界中生成α值。这种处理可以是非常有利的,因为它允许在多个样本中选取整个对象。图58-62示出的是在多个样本中选择图像5805中的婴儿头部。图58示出的是第一隧道5810。图59示出的是从隧道5810生成的α覆盖5910以及从第二隧道(未显示)生成的α覆盖5915。图60示出的是在多个部分中选择了头部的整个边界之后的α覆盖。在图60中可以看出,头部中间的很大一个区域6010并未被指定α值(也就是说,其会被视为具有α值0)。在这种情况下,在一些实施例中可以使用α画笔来填充中间的部分。一些实施例使用了如上在第六节描述的α画笔。图61示出的是使用α画笔6110来填充区域6010。图62示出 的是在选择了整个头部的情况下使用α画笔的结果。图63显示的是用于头部和周围区域的α值,其中所述α值是用多个选取部分以及α画笔生成的。
一旦完全选择了图像的选取部分,那么如果用户希望,即可将色彩校正应用于该选取部分。图64示出的是包含头部6410的整个图像5805以及色彩校正工具6415。色彩校正工具6415包括色轮6420和滑动器6425。不同的色彩校正工具可以用于影响图像的选定部分。在图64中,婴儿的头部6410将被选择,但是由于图像处于色彩校正模式,因此并未显示α覆盖(也就是仅仅显示了具有色彩校正的图像,而没有显示任何α值)。图65示出的是使用色彩校正工具来改变婴儿头部的颜色。用于色轮6420的设置已经移动到蓝色区域,并且已经使用作为滑动器6420之一的饱和度滑动器大幅增加了饱和度。可以看出的是,由于使用了色彩校正工具,因此头部6410在图65与图64中是不同的阴影。
第八节.计算机系统和软件
众多的上述工具和应用是作为软件进程实施的,其中软件进程被规定成是记录在机器可读介质(也被称为计算机可读介质)上的指令集。当一个或多个计算部件(例如处理器或其他计算部件,如ASIC和FPGA)执行这些指令时,它们会使一个或多个计算部件执行这些指令中指示的操作。所述计算机具有最广泛的意义,并且可以包括任何具有处理器的电子设备。计算机可读介质的示例包括但不局限于CD-ROM、闪存驱动器、RAM芯片、硬盘驱动器、EPROM等等。
在本说明书中,术语“软件”具有最广泛的意义。它可以包括驻留在只读存储器中的固件或是保存在磁存储器中的应用,其中这些固件和应用可以被读入到存储器中,以便由处理器来进行处理。此外在一些实施例中,在保留不同的软件发明的同时,多个软件发明可以作为更大程序的子部分来实施。在一些实施例中,多个软件发明还可以作为独立的程序来实施。最后,对于共同实施这里描述的软件发明的独 立程序来说,这些程序的任何组合全都落入本发明的范围内。
图66概念性地示出了本发明一些实施例的软件架构6600。图66示出了图像编辑引擎6605、边界绘制模块6615、边缘检测器6625以及光标驱动器6635。在一些实施例中,光标驱动器6635是操作系统6645的一部分。图66还示出了初始图像数据6610、边缘数据6620、边界数据6630、图像编辑操作数据6640以及经过修改的图像数据6650。
边缘检测器6625使用初始图像数据6610并识别初始图像中的边缘,以便产生边缘数据6620。边缘识别处理是在以上的第三节中详细描述的。边缘数据6620被传递到边缘绘制模块6615,所述边缘绘制模块将边缘数据6620与来自光标驱动器6615的输入相结合,以便限定边界6630。在以上的第四节中详细描述了边界绘制模块6615为了限定边界而执行的处理,这其中包括生成不同尺寸的搜索窗口。
边界绘制模块6615将所限定的边界传递到图像编辑引擎,所述图像编辑引擎还接收初始图像6610以及图像编辑操作数据6640作为输入。在一些实施例中,图像编辑操作数据是色彩校正操作,例如色调或饱和度调整。一些实施例的图像编辑引擎6605从边界6630中确定图像的至少一部分的α值。图像编辑引擎6605将图像编辑操作6640应用于初始图像6610,以便产生经过修改的图像6650。如何应用图像编辑操作6640是以边界6630为基础的(以及基于边界生成的α值)。在以上的第五到七节描述了图像编辑引擎执行的处理。
图67概念性地示出了实施本发明一些实施例的计算机系统。计算机系统6700包括总线6705、处理器6710、图形处理单元(GPU)6720、系统内存6725、只读存储器6730、永久性存储设备6735、输入设备6740以及输出设备6745。
总线6705共同代表了所有的系统、外设和芯片组总线,这些总线可通信地连接到计算机系统6700的众多内部设备。例如,总线6705可通信地将处理器6710与只读存储器6730、GPU 6720、系统存储器6725以及永久性存储设备6735相连。
处理器6710从这些不同的存储器单元中检索要执行的指令以及要处理的数据,以便执行本发明的处理。一些指令被传递给GPU 6720并由其执行。GPU 6720可以减少各种计算处理的工作量,或是补充处理器6710提供的图像处理。所述功能可以使用CoreImage的内核着色语言来实现。
只读存储器(ROM)6730存储的是处理器6710以及计算机系统的其他模块需要的静态数据和指令。另一方面,永久性存储设备6735是读写存储设备。所述设备是一个非易失存储单元,即使计算机系统6700断电,所述设备也会存储指令和数据。本发明的一些实施例使用大容量存储设备(例如磁盘或光盘及其相应的磁盘驱动器)作为永久性存储设备6735。
其他实施例使用可拆卸存储设备(例如软盘或 碟片及其对应的磁盘驱动器)作为永久性存储设备。与永久性存储设备6735相似,系统内存6725是一个读写存储设备。但是不同于存储设备6735,所述系统内存是一个易失的读写存储器,例如随机存取存储器。系统内存存储处理器运行时需要的某些指令和数据。在一些实施例中,本发明的处理被保存在系统内存6725、永久性存储设备6735和/或只读存储器6730中的。
总线6705还连接到输入和输出设备6740和6745。输入设备能使用户向计算机系统传递信息和选择命令。所述输入设备6740包括字母数字键盘和指示设备。输出设备6745则显示计算机系统生成的图像。例如,这些设备会显示图形用户界面。输出设备包括打印机和显示设备,例如阴极射线管(CRT)或液晶显示器(LCD)。
最后,如图67所示,总线6705还将计算机6700通过网络适配器(未显示)耦合到网络6765。这样一来,计算机可以是计算机网络的一部分(例如局域网(“LAN”)、广域网(“WAN”)或内部网,亦或是网中网,如因特网)。举例来说,计算机6700可以耦合到一个web服务器(网络6765),由此当用户与在网络浏览器中工作的图形用户界面交互时,在计算机6700上运行的网络浏览器可以与web 服务器交互。
计算机系统6700的任一或所有组件都可以与本发明结合使用。例如在一些实施例中,图像编辑功能是由GPU 6720而不是GPU 6710执行的。但是,GPU 6720的共同限制是GPU 6720在任何指定时间能够存储和处理的指令的数量。因此,一些实施例对用于实施图像编辑处理的指令进行适配,以使这些处理与GPU 6720的指令缓存相适合,从而在GPU 6720上本地执行这些处理。此外,一些GPU并不包含足够的处理资源来执行一些实施例的处理,由此处理器将会执行这些指令。本领域普通技术人员将会了解,其他任何系统配置同样可以与本发明结合使用。
虽然在这里参考众多具体细节描述了本发明,但是本领域普通技术人员将会认识到,在不脱离本发明的实质的情况下,本发明可以采用其他特定的形式实施。例如,虽然使用了Apple Mac 环境来创建这其中的一些示例,但是本领域普通技术人员将会意识到,在没有使用这些具体细节的情况下,本发明也可以在Microsoft UNIX、Linux等其他操作环境以及Adobe Adobe Apple 等应用中实施。此外,一些示例可以在计算机系统的GPU或CU上运行,这一点取决于计算机系统或能够查看图像的电子设备上的可用计算资源。这些示例业已论述了将不同的图像编辑功能应用于图像的处理,但是上述示例中的每一个都可以扩展成应用于其他形式的视觉媒体,例如视频。因此,本领域技术人员将会理解,本发明并不局限于前文中的说明性细节,而是由附加权利要求限定的。
Claims (16)
1.一种用于在包含多个像素的图像中选择关注部分的方法,所述方法包括:
接收位置指示符在所述图像上沿特定方向的移动以用于绘制所述关注部分周围的曲线边界;
从所述曲线边界中产生所述关注部分周围的、接近曲线边界的形状的二维过渡隧道区域,所述隧道区域将图像的至少一部分划分成(i)所述隧道区域与关注部分邻接的一侧的前景部分,(ii)所述隧道区域与关注部分相对的一侧的背景部分,以及(iii)所述隧道区域内部的过渡部分,所述前景部分和所述背景部分基于所述位置指示符的移动的所述特定方向来确定,其中一对可变形曲线限定所述隧道区域的边界,每条可变形曲线包括多个可修改的控制点,所述控制点用于修改所述可变形曲线的至少一部分以精确地限定所述隧道区域;
对前景部分和背景部分的图像数据进行采样;以及
将所述过渡部分中的像素与所采样的图像数据进行比较以便识别所述过渡部分中应该与所述关注部分相关联的像素子集。
2.根据权利要求1所述的方法,其中对图像数据进行采样包括:确定在所述过渡部分外部的采样区域,其中所述图像数据是从所述采样区域采样的。
3.根据权利要求1所述的方法,还包括计算确定所述像素在所述关注部分中的范围的α值。
4.根据权利要求3所述的方法,其中所述α值在执行对图像的编辑操作时使用。
5.一种用于在包含多个像素的图像中选择关注部分的方法,所述方法包括:
绘制所述关注部分周围的具有特定形状的曲线边界;
确定是否可以在所述关注部分周围产生两条曲线限定的二维过渡隧道区域,使得在所绘制的曲线边界每侧以指定宽度间隔开处有一条曲线,所述两条曲线彼此不相交,并且所述隧道区域的两条曲线具有与所述曲线边界相同的特定形状;
当不能以规定宽度产生所述隧道区域、使得两条曲线具有相同的特定形状并且彼此不相交时,产生所述隧道区域以使得第一曲线修改自绘制的曲线边界的所述特定形状,而第二曲线具有与绘制的曲线边界相同的特定形状;
当能够以规定宽度产生所述隧道区域,使得两条曲线具有相同的特定形状时,以规定宽度产生所述隧道区域;
为每条曲线提供多个可修改的控制点,所述控制点用于修改所述曲线的至少一部分以精确地限定所述隧道区域;以及
基于所述隧道区域分析图像数据以便识别所述隧道区域中应该与所述关注部分相关联的像素子集。
6.根据权利要求5所述的方法,其中基于可移动工具的设置确定隧道区域的宽度。
7.根据权利要求5所述的方法,其中所述多个可修改的控制点是供用户选择和操作的。
8.根据权利要求5所述的方法,其中所述曲线边界被显示成是多个分段,其中在所述分段之间具有参考点。
9.一种用于在包含多个像素的图像中选择关注部分的设备,所述设备包括:
用于接收位置指示符在所述图像上沿特定方向的移动以用于绘制所述关注部分周围的曲线边界的装置;
用于从所述曲线边界中产生所述关注部分周围的、接近曲线边界的形状的二维过渡隧道区域的装置,所述隧道区域将图像的至少一部分划分成(i)所述隧道区域与关注部分邻接的一侧的前景部分,(ii)所述隧道区域与关注部分相对的一侧的背景部分,以及(iii)所述隧道区域内部的过渡部分,所述前景部分和所述背景部分基于所述位置指示符的移动的所述特定方向来确定,其中一对可变形曲线限定所述隧道区域的边界,每条可变形曲线包括多个可修改的控制点,所述控制点用于修改所述曲线的至少一部分以精确地限定所述隧道区域;
用于对前景部分和背景部分的图像数据进行采样的装置;以及
用于将所述过渡部分中的像素与所采样的图像数据进行比较以便识别所述过渡部分中应该与所述关注部分相关联的像素子集的装置。
10.根据权利要求9所述的设备,其中用于对图像数据进行采样的装置包括:用于确定在所述过渡部分外部的采样区域的装置,其中所述图像数据是从所述采样区域采样的。
11.根据权利要求9所述的设备,还包括用于计算确定所述像素在所述关注部分中的范围的α值的装置。
12.根据权利要求11所述的设备,其中所述α值在执行对图像的编辑操作时使用。
13.一种用于在包含多个像素的图像中选择关注部分的设备,所述设备包括:
用于绘制所述关注部分周围的具有特定形状的曲线边界的装置;
用于确定是否可以在所述关注部分周围产生两条曲线限定的二维过渡隧道区域,使得在所绘制的曲线边界每侧以指定宽度间隔开处有一条曲线,所述两条曲线彼此不相交,并且所述隧道区域的两条曲线具有与所述曲线边界相同的特定形状的装置;
用于当不能以规定宽度产生所述隧道区域,使得两条曲线具有相同的特定形状并且彼此不相交时,产生所述隧道区域以使得第一曲线修改自绘制的曲线边界的所述特定形状,而第二曲线具有与绘制的曲线边界相同的特定形状的装置;
用于当能够以规定宽度产生所述隧道区域,使得两条曲线具有相同的特定形状时,以规定宽度产生所述隧道区域的装置;
用于为每条曲线提供多个可修改的控制点的装置,所述控制点用于修改所述曲线的至少一部分以精确地限定所述隧道区域;以及
用于基于所述隧道区域分析图像数据以便识别所述隧道区域中应该与所述关注部分相关联的像素子集的装置。
14.根据权利要求13所述的设备,其中基于可移动工具的设置确定隧道区域的宽度。
15.根据权利要求13所述的设备,其中所述多个可修改的点是供用户选择和操作的。
16.根据权利要求13所述的设备,其中所述曲线边界被显示成是多个分段,其中在所述分段之间具有参考点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510437821.6A CN105069782B (zh) | 2008-05-28 | 2009-05-22 | 一种用于限定图像的边界的方法和设备 |
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/154,990 | 2008-05-28 | ||
US12/154,990 US8280171B2 (en) | 2008-05-28 | 2008-05-28 | Tools for selecting a section of interest within an image |
US12/154,987 US8331685B2 (en) | 2008-05-28 | 2008-05-28 | Defining a border for an image |
US12/154,989 | 2008-05-28 | ||
US12/154,991 | 2008-05-28 | ||
US12/154,989 US8452105B2 (en) | 2008-05-28 | 2008-05-28 | Selecting a section of interest within an image |
US12/154,991 US8548251B2 (en) | 2008-05-28 | 2008-05-28 | Defining a border for an image |
US12/154,987 | 2008-05-28 | ||
PCT/US2009/045094 WO2009154951A2 (en) | 2008-05-28 | 2009-05-22 | Defining a border for an image |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510437821.6A Division CN105069782B (zh) | 2008-05-28 | 2009-05-22 | 一种用于限定图像的边界的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102067173A CN102067173A (zh) | 2011-05-18 |
CN102067173B true CN102067173B (zh) | 2015-06-10 |
Family
ID=41138715
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510437821.6A Active CN105069782B (zh) | 2008-05-28 | 2009-05-22 | 一种用于限定图像的边界的方法和设备 |
CN200980119458.6A Active CN102067173B (zh) | 2008-05-28 | 2009-05-22 | 用于在包含多个像素的图像中选择关注部分的方法和设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510437821.6A Active CN105069782B (zh) | 2008-05-28 | 2009-05-22 | 一种用于限定图像的边界的方法和设备 |
Country Status (4)
Country | Link |
---|---|
EP (4) | EP2286384B1 (zh) |
CN (2) | CN105069782B (zh) |
HK (2) | HK1170833A1 (zh) |
WO (1) | WO2009154951A2 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8280171B2 (en) | 2008-05-28 | 2012-10-02 | Apple Inc. | Tools for selecting a section of interest within an image |
US8548251B2 (en) | 2008-05-28 | 2013-10-01 | Apple Inc. | Defining a border for an image |
US8452105B2 (en) | 2008-05-28 | 2013-05-28 | Apple Inc. | Selecting a section of interest within an image |
US8331685B2 (en) | 2008-05-28 | 2012-12-11 | Apple Inc. | Defining a border for an image |
US8885977B2 (en) | 2009-04-30 | 2014-11-11 | Apple Inc. | Automatically extending a boundary for an image to fully divide the image |
US8619093B2 (en) | 2010-07-20 | 2013-12-31 | Apple Inc. | Keying an image |
US8675009B2 (en) | 2010-07-20 | 2014-03-18 | Apple Inc. | Keying an image in three dimensions |
US8743139B2 (en) | 2010-07-20 | 2014-06-03 | Apple Inc. | Automatically keying an image |
WO2012030869A2 (en) | 2010-08-30 | 2012-03-08 | Apple Inc. | Multi-image face-based image processing |
US8760464B2 (en) | 2011-02-16 | 2014-06-24 | Apple Inc. | Shape masks |
CN103593120B (zh) * | 2012-08-15 | 2016-08-10 | 阿里巴巴集团控股有限公司 | 在截图时将截图框贴紧感兴趣区域的边界的方法和设备 |
US8761519B2 (en) | 2012-09-14 | 2014-06-24 | Cyberlink Corp. | System and method for selecting an object boundary in an image |
WO2014167363A1 (en) * | 2013-04-13 | 2014-10-16 | Stormlit Limited | Systems and methods for interacting with a touch screen |
CN104574454B (zh) * | 2013-10-29 | 2020-06-02 | 阿里巴巴集团控股有限公司 | 图像的处理方法及装置 |
EP3023935B1 (en) * | 2014-11-18 | 2019-02-27 | Dassault Systèmes | Partitioning an image |
US9857888B2 (en) * | 2015-03-17 | 2018-01-02 | Behr Process Corporation | Paint your place application for optimizing digital painting of an image |
CA3009798A1 (en) * | 2017-07-12 | 2019-01-12 | General Electric Company | Graphic overlay for measuring dimensions of features using a video inspection device |
CN107730467B (zh) * | 2017-10-16 | 2020-04-10 | 芯颖科技有限公司 | 显示方法、装置、设备及存储介质 |
US10997760B2 (en) * | 2018-08-31 | 2021-05-04 | Snap Inc. | Augmented reality anthropomorphization system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064846A (zh) * | 2007-05-24 | 2007-10-31 | 上海交通大学 | 结合节目内容元数据和内容分析的时移电视视频匹配方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3486876B2 (ja) * | 1994-01-28 | 2004-01-13 | ソニー株式会社 | 手書き入力装置および方法 |
GB2312120A (en) * | 1996-04-12 | 1997-10-15 | Discreet Logic Inc | Producing a transition region surrounding an image |
JP3472448B2 (ja) * | 1997-08-26 | 2003-12-02 | シャープ株式会社 | 情報処理装置および方法 |
JP3564371B2 (ja) * | 2000-09-01 | 2004-09-08 | 日本電気株式会社 | 図形編集装置及び方法 |
US7003061B2 (en) * | 2000-12-21 | 2006-02-21 | Adobe Systems Incorporated | Image extraction from complex scenes in digital video |
US6741755B1 (en) * | 2000-12-22 | 2004-05-25 | Microsoft Corporation | System and method providing mixture-based determination of opacity |
US20020196229A1 (en) * | 2001-06-26 | 2002-12-26 | Frank Chen | Graphics-based calculator capable of directly editing data points on graph |
US7457445B2 (en) * | 2004-03-01 | 2008-11-25 | Siemens Medical Solutions Usa, Inc. | Using corner pixels as seeds for detection of convex objects |
US7817164B2 (en) * | 2004-04-27 | 2010-10-19 | Hitachi Medical Corporation | Image editing device and method thereof |
US20060029275A1 (en) * | 2004-08-06 | 2006-02-09 | Microsoft Corporation | Systems and methods for image data separation |
US7430339B2 (en) * | 2004-08-09 | 2008-09-30 | Microsoft Corporation | Border matting by dynamic programming |
-
2009
- 2009-05-22 EP EP09767263A patent/EP2286384B1/en active Active
- 2009-05-22 EP EP11188901.0A patent/EP2431942B1/en active Active
- 2009-05-22 CN CN201510437821.6A patent/CN105069782B/zh active Active
- 2009-05-22 EP EP12156770.5A patent/EP2458552B1/en not_active Not-in-force
- 2009-05-22 WO PCT/US2009/045094 patent/WO2009154951A2/en active Application Filing
- 2009-05-22 EP EP12156769A patent/EP2458560A1/en not_active Withdrawn
- 2009-05-22 CN CN200980119458.6A patent/CN102067173B/zh active Active
-
2011
- 2011-08-08 HK HK12108546.8A patent/HK1170833A1/xx unknown
- 2011-08-08 HK HK11108249.9A patent/HK1154103A1/xx unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064846A (zh) * | 2007-05-24 | 2007-10-31 | 上海交通大学 | 结合节目内容元数据和内容分析的时移电视视频匹配方法 |
Non-Patent Citations (1)
Title |
---|
Reliable Dual-Band Based Contour Detection:A Double Dynamic Programming Approach;Mohammad Dawood etc.;《IMAGE ANALYSIS AND RECOGNITION Lecture Notes in Computer Science》;20041231;第3212/2004卷;第544-551页 * |
Also Published As
Publication number | Publication date |
---|---|
EP2431942B1 (en) | 2013-09-11 |
EP2286384B1 (en) | 2012-06-27 |
WO2009154951A3 (en) | 2010-03-18 |
WO2009154951A4 (en) | 2010-05-06 |
HK1154103A1 (en) | 2012-04-13 |
EP2458560A1 (en) | 2012-05-30 |
WO2009154951A2 (en) | 2009-12-23 |
EP2458552A1 (en) | 2012-05-30 |
EP2431942A1 (en) | 2012-03-21 |
EP2286384A2 (en) | 2011-02-23 |
HK1170833A1 (en) | 2013-03-08 |
CN105069782A (zh) | 2015-11-18 |
CN102067173A (zh) | 2011-05-18 |
CN105069782B (zh) | 2018-10-23 |
EP2458552B1 (en) | 2017-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102067173B (zh) | 用于在包含多个像素的图像中选择关注部分的方法和设备 | |
US8571326B2 (en) | Defining a border for an image | |
US8452105B2 (en) | Selecting a section of interest within an image | |
US8280171B2 (en) | Tools for selecting a section of interest within an image | |
US8548251B2 (en) | Defining a border for an image | |
EP1372109B1 (en) | Method and system for enhancing portrait images | |
US8644644B2 (en) | Methods and apparatus for blending images | |
US7039222B2 (en) | Method and system for enhancing portrait images that are processed in a batch mode | |
US7532752B2 (en) | Non-photorealistic sketching | |
TWI526982B (zh) | 區域分割方法、電腦程式產品及檢查裝置 | |
US8913074B2 (en) | Colorization method and apparatus | |
JPH10187936A (ja) | 画像処理装置 | |
US8670615B2 (en) | Refinement of segmentation markup | |
WO2007095482A1 (en) | Self-adaptive brush for digital images | |
US20150248774A1 (en) | Image processing apparatus and method, image processing system, and non-transitory computer readable medium | |
JP2000149031A (ja) | 画像処理装置及び方法並びに記憶媒体 | |
Korinke et al. | Exploring touch interaction methods for image segmentation on mobile devices | |
JP2018097415A (ja) | 画像処理装置、画像処理方法、画像処理システムおよびプログラム | |
WO2002035472A2 (en) | Creating cartoons | |
JPH10283485A (ja) | 輪郭抽出装置、近似評価方法及び輪郭抽出プログラムを記録した記録媒体 |
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 |