CN106251287A - 控制图像之间的过渡的平滑度 - Google Patents

控制图像之间的过渡的平滑度 Download PDF

Info

Publication number
CN106251287A
CN106251287A CN201610207370.1A CN201610207370A CN106251287A CN 106251287 A CN106251287 A CN 106251287A CN 201610207370 A CN201610207370 A CN 201610207370A CN 106251287 A CN106251287 A CN 106251287A
Authority
CN
China
Prior art keywords
image
pixel
color
sampled
difference
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.)
Granted
Application number
CN201610207370.1A
Other languages
English (en)
Other versions
CN106251287B (zh
Inventor
S·帕里斯
S·阿米尔格霍德斯
A·达拉比
E·谢斯特曼
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 CN106251287A publication Critical patent/CN106251287A/zh
Application granted granted Critical
Publication of CN106251287B publication Critical patent/CN106251287B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

本文中所描述的实施例涉及用于促进图像之间的过渡的平滑度的控制的方法和系统。在实施例中,标识前景图像与背景图像之间沿着与一个定位相关联的边界的像素的颜色值的差异,在该定位处相对于背景图像来粘贴前景图像。之后,执行递归地通过采样因数来降采样将在边界内的像素区域,以产生多个降采样图像,多个降采样图像具有与降采样图像的每个像素相关联的颜色差异指示符。这样的差异指示符指示针对对应的像素是否存在颜色值的差异。为了实行无缝过渡,颜色差异指示符与每个递归地被降采样的图像相关联地被归一化。

Description

控制图像之间的过渡的平滑度
相关申请的交叉引用
本申请与2014年7月31日提交的标题为“Pyramid Collapse ColorInterpolation”的美国申请号13/815,053相关,该申请的整体内容通过引用而结合于此。
背景技术
在图像化环境中,诸如在图像化或者图片编辑应用程序(例如,)中,使用未被定义的像素来频繁地确定像素颜色或者颜色调整,其中与这些未被定义的像素相关联的某些信息初始是未知的。例如,在一些情况中,某些图像是不完整的并且导致这些图像中的不清晰、丢失和/或其他缺少信息的部分。例如,通过网络接收到或者经由相机采集到的图像可能降级并且缺少该图像的所有像素的信息,导致不清楚、模糊和/或其他不完整图像。这些图像包括多个未被定义的像素,其中针对这些相应像素的信息是未知的,并且包括多个被定义的像素,其中针对这些相应像素的信息是已知的。
在其他情况中,在背景之上复合(composite)图像或者粘贴图像可能初始地利用缺少颜色差异信息的未被定义的像素来混合或者过渡像素颜色。例如,用户可能期望在背景图像之上粘贴一张图像或者它的一部分(例如前景图像)。在这样的情况中,可以关联于像素、诸如前景像素来进行颜色修改,以努力混合这些图像。可以使用多个未被定义的像素(其中针对这些未被定义的像素的颜色差异信息是未知的)和多个被定义的像素(其中针对这些相应像素的颜色差异信息是已知的)来确定颜色修改。
在一些实例中,可以使用线性方程的系统来机械地导出未被定义的像素的未知信息。机械地导出的信息然后可以被填充到未被定义的像素中以完成经降级的图像。导出和求解线性方程的系统可能需要大量的计算资源并且可能需要大量时间来对未被定义的像素进行求解。
进一步地,在用于导出针对初始未被定义的像素的颜色修改信息的常规实现方式中,跨与背景图像相关联地被粘贴的前景图像之间的边界的像素的颜色中的过渡可以被可视地识别,也就是说,可能在这些图像之间观察到接缝。例如,根据前景像素向内的界线进行的像素修改可能改变地过快,从而阻止平滑过渡。图像之间的这样明显的过渡通常是不期望的结果,因为被粘贴的区域与背景图像之间的无缝过渡是用户期望的,以使得所得到的图像显得像未被改变。
发明内容
公开了用于递归地修改具有被定义的和未被定义的像素的图像以生成具有无缝复合的经修改图像的实施例。在这个方面,本文中所描述的实施例促进控制前景图像(要被粘贴的图像)与背景图像之间的过渡的平滑度。在高级别上,标识与前景图像相对于背景图像要被粘贴或复合的位置相关联的边界。确定所述前景图像与所述背景图像之间的沿着所述边界的像素的颜色值的差异。颜色差异连同指示颜色差异信息是已知的颜色差异指示符一起被用于初始地表示沿着该边界的像素,而其他像素以零值来初始地表示、指示前景图像与背景图像之间的未确定的颜色差异。这样的数据可以被用于递归地通过采样因数进行降采样以产生降采样图像。为了促进前景图像与背景图像之间的无缝和更平缓的过渡,在每个递归降采样实例处使用在该递归降采样实例或级别处最大的颜色差异指示符来归一化颜色差异和颜色差异指示符。在确定最后的降采样图像时,可以递归地升采样最后的降采样图像,以生成针对像素区域的最终颜色差异值的集合,最终颜色差异值的集合用于产生具有所述前景图像与所述背景图像之间的无缝过渡的无缝复合。
这些示例性特征被提及不是为了限制或限定本公开内容,而是提供用于协助理解本公开内容的示例。在具体实施方式中讨论另外的实施例,并且在那提供进一步的描述。通过检查本说明书或者通过实践所给出的一个或多个实施例,可以进一步理解一个或多个有利实施例提供的优势。
附图说明
本专利的文件包含至少一个以颜色执行的附图。本专利的具有(多个)彩色附图的副本将在请求和支付必需费用之后由专利和商标局提供。在参考附图来阅读以下具体实施方式时,将更好理解本公开内容的这些和其他特征、方面和优势。
图1是描绘了在用于实现某些实施例的示例性计算环境中的示例性计算设备的框图;
图2是包括多个未被定义的像素和多个被定义的像素的图像的图示;
图3是通过递归地平均任何相邻的被定义的像素的值来填充未被定义的像素的图像的图示;
图4是根据本文中所描述的某些实施例的可以被混合在一起以创建无缝过渡的、具有不同的背景颜色的第一图像和第二图像的图示;
图5是第一图像的要被插入到第二图像上的有关部分的图示;
图6是根据本文中所描述的某些实施例的已经被无缝地混合在一起的、一起具有不同的背景颜色的第一图像和第二图像的图示;
图7是图示了用于创建被定义的区域之间的无缝过渡、从而使用图像的被定义的区域来填充未被定义的区域的示例性方法的流程图;
图8是图示了用于创建被定义的区域之间的无缝过渡、从而使用图像的被定义的区域来填充未被定义的区域的另一个示例性方法的流程图;
图9是图示了根据本文所描述的实施例的用于创建被定义的区域之间的无缝过渡的另一个示例性方法的流程图;
图10是图示了根据本文所描述的实施例的用于创建被定义的区域之间的无缝过渡的另一个示例性方法的流程图;以及
图11是图示了根据本文所描述的实施例的用于创建被定义的区域之间的无缝过渡的另一个示例性方法的流程图。
具体实施方式
在图像化环境中,诸如在图像化或者图片编辑应用程序(例如,)中,用户通常期望在背景图像之上粘贴一张图像或者它的一部分(例如前景图像)。例如,用户可能想要向未包括动物的背景图像(例如风景)中添加该动物的图像。在常规的实现方式中,跨前景图像与背景图像之间的边界的像素的颜色中的过渡可以被可视地识别,也就是说,可以在这些图像之间观察到接缝。例如,根据前景像素向内的界线进行的像素修改可能改变地过快,从而阻止平滑过渡。然而,用户通常期望具有前景图像与背景图像之间的平滑过渡。在这个方面,期望在被粘贴的区域(前景图像)的界线上的像素匹配背景图像,从而使得被粘贴的区域与背景图像之间的过渡是无缝的。
本发明的实施例促进前景图像与背景图像之间的平滑过渡。在这个方面,根据在背景之上粘贴图像或者生成复合图像,前景图像与背景图像之间的过渡是无缝的并且通常对于用户而言是不明显的。有利的是,本发明的实施例控制过渡平滑度并且有效地且利用最小计算资源来执行这样的平滑度。
在高水平上,标识与前景图像相对于背景图像要被粘贴或复合的位置相关联的边界。确定前景图像与背景图像之间的沿着边界的像素的颜色值的差异。颜色差异连同指示颜色差异信息是已知的颜色差异指示符的颜色差异一起被用于初始地表示沿着该边界的像素,而其他像素以零值来初始地表示、指示前景图像与背景图像之间的未确定的颜色差异。这样的数据可以被用于递归地通过采样因数进行降采样,以产生降采样图像。
在每个降采样实例或者降采样级别处,标识与像素相关联的颜色差异指示符之中的最大颜色差异指示符,并且该指示符用于归一化这些像素。具体地,与各种像素相关联的颜色差异值和颜色差异指示符中的每一个可以除以最大颜色差异指示符,以归一化在该降采样级别处的像素。在一些情况中,可以将归一化效果增长预定因数。在确定最后的降采样图像时,可以递归地升采样最后的降采样图像,以生成针对这些像素的最终颜色差异值的集合,这些最终颜色差异值用于产生具有前景图像与背景图像之间的无缝过渡的无缝复合。在这样的实现方式中,前景像素的值被修改以使得在边界上的这些像素具有与对应的背景相同的值、并且使得经修改的前景维持与原始前景类似。
本文中所描述的方法使用比使用线性方程的系统更少的计算资源来提供无缝复合。给出这些示意性示例来向读者介绍本文中所讨论的一般主题并且不旨在于限制所公开的原理的范围。以下章节参照附图描述了另外的实施例和示例,在附图中相似标号指代相似元素。
还公开了用于快速和准确地确定不完整的图像的未被定义的像素的像素信息的方法和系统。所公开的实施例需要比先前的方法更小的计算资源并且能够以更快的速率确定未被定义的像素。如本文中所描述的,以递归的方式从插值图像的提取进行组合的不完整图像的递归插值提供了未被定义的像素的像素信息。所得到的图像是具有在丢失像素信息的图像内的较少间隔或者没有间隔的无缝复合。本文中所描述的方法使用比使用线性方程的系统更少的计算资源来提供无缝复合。公开了用于接收具有多个未被定义的像素(图2的206)和多个被定义的像素(图2的203)的图像(图2的126)并且应用本文中所公开的递归方法来创建该图像的具有针对未被定义的像素的像素信息的版本(图3)。例如,可以以与任何相邻像素相关联的信息的递归平均来填充未被定义的像素。在一个实施例中,插值应用程序通过递归地以因数2降采样接收到的图像降,来对未被定义的像素的信息进行插值,以创建高斯金字塔(Gaussian pyramid),直至在得到的降采样图像中不存在未被定义的像素。插值应用程序然后从最小的降采样图像开始,递归地通过因数2对降采样图像进行升采样,以产生升采样图像。在每个递归实例处,插值应用程序将升采样图像与下一个降采样图像粘贴在一起并且用升采样图像的对应被定义的像素来填充降采样图像的未被定义的像素。插值应用程序继续升采样金字塔的图像,直至所有降采样图像已经被处理。所得到的图像表示原始图像的经修改版本,其中原始图像的未被定义的像素被填充有相邻的被定义的像素的递归平均值。
给出这些示意性示例以向读者介绍本文中所讨论的一般主题并且不旨在于限制所公开的原理的范围。以下章节参照附图描述了另外的实施例和示例,在附图中相同标号指代相同元素。
图1是描绘了在用于实现某些实施例的示例性计算环境中的示例性计算设备的框图。本文中所公开的方法和系统还可应用在其他计算系统和环境上。图1示出的环境包括计算设备103,该计算设备103具有存储器106、处理器109、总线113、显示器116和多个输入/输出设备119。在一个实施例中,输入/输出设备119可以包括多个外部或内部设备,诸如鼠标、CD-ROM、DVD、键盘、显示器、音频扬声器、一个或多个麦克风、触笔、或者任何其他输入或输出设备。附加地,计算设备103可以是个人计算设备、移动设备、或者适合于提供本文中所描述的一个或多个特征的任何其他类型的电子设备。进一步地,计算设备103可以是包括用于接收输入的触摸屏的触摸计算设备、诸如平板计算机。在这个示例中,输入/输出设备119还包括用于接收输入的触摸屏。
如本文中所使用的,术语“设备”指的是执行指令的任何计算或其他电子设备、并且包括任何类型的基于处理器的设备,这些设备操作一个操作系统或者以其他方式执行指令。设备将通常包括处理器109,其可以包括执行程序指令的一个或多个处理器并且可以包括外部或内部组件,诸如鼠标、CD-ROM、DVD、键盘、显示器、或者其他输入或输出设备。设备的示例是个人计算机、数字助理、个人数字助理、蜂窝电话、移动电话、智能电话、寻呼机、数字表、膝上型计算机、平板计算机、互联网电器、其他基于处理器的设备以及电视收看设备。示例性计算设备103可以被用作专用计算设备,用以提供由应用程序和模块所供应的功能。
如本文中所使用的,术语“应用程序”指的是在设备上执行的任何程序指令或其他功能组件。应用程序可以驻留在执行该应用程序的设备的存储器106中。如本领域的技术人员已知的,这样的应用程序可以驻留在任何适当的计算机可读介质中并且在适当的处理器上执行。例如,如所示出的,计算设备103具有计算机可读介质、诸如与处理器109耦合的存储器106,处理器109执行计算机可执行程序指令和/或访问所存储的信息。这样的处理器109可以包括微处理器、ASIC、状态机、或者其他处理器,并且可以具有任何数目的计算机处理器。这样的处理器包括或者可以与计算机可读介质通信,该计算机可读介质存储指令,这些指令在由处理器执行时,使得处理器执行本文中所描述的步骤。
如本文中所使用的,术语“降采样(down sampling)”指的是如下的图像操作,其通过滤波来减少图像中的像素的数目并且然后从该图像中移除这些像素以创建降采样图像。如本领域中已知的,任何数目的滤波器可以被用于实现该滤波。例如,一些滤波器可以比其他更快但是产生具有相对于比较慢的滤波器更小的质量的经滤波图像。作为示例,3x3tent滤波器是比5x5高斯滤波器更快的滤波器、但是产生相对于由高斯滤波器产生的经滤波图像具有更小质量的经滤波图像。
如本文中所使用的,术语“升采样(up sampling)”指的是如下的图像操作,其通过向图像增加像素来增加图像中的像素的数目并且然后对该图像进行滤波以创建升采样图像。如本领域中已知的,任何数目的滤波器可以被用于实现该滤波。例如,一些滤波器可以比其他更快但是产生具有相对于比较慢的滤波器更小的质量的经滤波图像。作为示例,3x3tent滤波器是比5x5高斯滤波器更快的滤波器、但是产生相对于由高斯滤波器产生的经滤波图像具有更小质量的经滤波图像。
如本文中所使用的,术语“跨越功能(over function)”指的是如下的复合操作,其在彼此的顶部重叠和/或复制两个图像,并且标识第一图像中要被第二图像中对应的被定义的像素取代的未被定义的像素。例如,跨越功能可以将前景图像中未被定义的像素粘贴到背景图像上、或者反之。
存储器106表示计算机可读介质,其可以包括但不限于支持向处理器提供计算机可读指令的电子、光、磁、或者其他存储设备。其他示例包括但不限于软盘、CD-ROM、DVD、磁盘、存储器芯片、ROM、RAM和ASIC、被配置的处理器、光存储装置、磁带或者其他磁存储装置、或者计算机处理器能够从中读取指令的任何其他介质。这些指令可以包括由以任何适当的计算机编程语言编写的代码中的编译器和/或解译器生成的处理器专用指令,计算机编程语言包括例如C、C++、C#、Visual Basic、Java、Python、Perl、JavaScript、和ActionScript。
在一个实施例中,存储器106包括插值应用程序123和/或其他应用程序。插值应用程序123接收图像126并且,如以下将描述的,通过产生多个降采样图像149和多个升采样图像133,经由插值来从该图像的未被定义的部分中以颜色的平滑和混合过渡来填充该图像的未被定义的部分。附加地,应用程序、诸如浏览器可以在与计算设备103相关联的显示器116上呈现用户接口129。用户接口129可以描绘图像126。图像126可以包括多个被定义的像素139和多个未被定义的像素143。例如,被定义的像素139可以是图像126的具有已知信息、诸如颜色值的任何像素。未被定义的像素143可以是图像126的具有未知信息的任何像素。附加地,每个图像126具有分辨率146,该分辨率146可以由在图像126的每个维度上的任何数目的像素(被定义的像素139和未被定义的像素143)来定义。
在一个实施例中,插值应用程序123通过重复地对与每个未被定义的像素143相邻的任何被定义的像素139的信息进行平均来填充图像126的未被定义的像素143。例如,插值应用程序123递归地降采样图像126以创建包括多个降采样的图像149的高斯金字塔。在一个实施例中,插值应用程序123通过因数2来降采样原始图像126,以使得第一个降采样图像149具有原始图像126的分辨率146的一半。例如,插值应用程序123可以根据原始图像126的每隔一个像素来创建第一个降采样图像149。由此,多个被定义的像素139和未被定义的像素143可能不存在于第一降采样图像149中。在另一个实施例中,插值应用程序123可以通过除了2之外的因数来降采样原始图像126。例如,插值应用程序123可以通过因数3或者任何其他因数来降采样原始图像126。在因数为3的示例中,插值应用程序123通过从原始图像126中每隔三个像素进行移除来降采样原始图像126。
在下一个递归实例中,插值应用程序123降采样第一个降采样图像149以创建第二个降采样图像149,其中第二个降采样图像149具有第一个降采样图像149的分辨率146的一半。插值应用程序123继续通过因数2(或者通过与前一次降采样相同的因数)来递归地降采样,直至在降采样图像149中不存在更多的未被定义的像素143。例如,插值应用程序123可以在每次降采样的递归实例时确定在降采样图像149中是否存在任何未被定义的像素143。在确定在降采样图像149中不存在未被定义的像素143时,插值应用程序123停止递归的降采样。在递归地被降采样的图像149的集合中的最后一个降采样图像149具有关于其他降采样图像的最小的分辨率并且因此是最小的降采样图像149。附加地,在递归降采样期间产生的每个降采样图像149可以被存储至存储器106中。
插值应用程序123然后递归地升采样降采样图像149,以创建原始图像126的修改版本,在该版本中所有未被定义的像素143至少部分基于被定义的像素139而被填充。原始图像126的修改版本没有任何未被定义的像素143,从而体现了充满被定义的像素139的无缝复合。在一个实施例中,插值应用程序123发起对最小的降采样图像149的升采样。如先前所描述的,最小的降采样图像149缺少任何未被定义的像素143。插值应用程序123通过因数2(或者先前用于降采样的另一个因数)来升采样该最小的降采样图像149,以创建第一升采样图像153。在一个实施例中,第一升采样图像153具有最小的降采样图像149的分辨率的两倍。例如,最小的降采样图像149的每个像素被升采样以产生第一升采样图像153中2x2的像素块。附加地,仅被定义的像素139被呈现在最小的降采样图像149中并且因此仅被定义的像素139将被呈现在第一升采样图像153中。
接下来,插值应用程序123实现跨越功能以将第二小的降采样图像149粘贴到第一个升采样图像153的顶部。如以上所讨论的,最小的降采样图像149可以包括一个或多个未被定义的像素143。在一个实施例中,插值应用程序123通过在第二小的降采样图像149之上粘贴第一升采样图像153来实现跨越功能。例如,第一升采样图像149是“前景”而第二小的降采样图像149是“背景”。由此,插值应用程序123标识第二小的降采样图像149中包括未被定义的像素143的部分、并且将第一升采样图像153的对应部分中被定义的像素139粘贴到第二小的降采样图像149上,以创建经修改的第二小的降采样图像149。经修改的第二小的降采样图像149在跨越功能的实现时不包括任何未被定义的像素143。例如,未被定义的像素143由来自第一升采样图像153的对应被定义的像素139取代。在一个实施例中,来自第一升采样图像153的被定义的像素139表示如从最小的降采样图像149确定的、与未被定义的像素143相邻的像素的平均值。
在下一个递归实例中,插值应用程序123通过因数2(或者通过先前用于升采样的另一个因数)来升采样经修改的第二小的降采样图像149,以创建第二升采样图像153。第二升采样图像153不包括任何未被定义的像素143。插值应用程序123然后通过以下来实现跨越功能:在第三小的降采样图像149之上粘贴第二升采样图像153,并且用来自第二升采样图像153的对应部分的被定义像素139来取代第二小的降采样的图像149中包括未被定义的像素143的任何部分,以创建经修改的第三小的降采样图像149。插值应用程序123继续递归地对在金字塔上的降采样的图像149进行升采样和实现跨越功能,直至所有的降采样图像149已经被处理。例如,在最大的降采样图像149被升采样并且被用于实现跨越功能以创建经修改的最大的降采样图像149时,所有的降采样图像149将被处理。经修改的最大的降采样图像149表示原始图像126的如下版本,该版本具有所有未被定义的像素143被填充有任何相邻的被定义的像素139的平均值,以创建原始图像126的平滑和混合版本。
插值应用程序123的功能将以如下伪代码来表示。在一个实施例中,插值应用程序123实现Interpolate()函数、InterpolateRec()函数和Over()函数的功能。Interpolate()函数是驱动函数并且可以被描述为如下:
在以上描述的函数中,图像由“X”表示并且alpha由“A”表示。alpha可以是具有一个长度的向量和/或具有对应于在图像X中像素的数目的尺寸的矩阵。向量、矩阵和/或其他数学结构中的每个条目可以指示图像X中的相应像素的信息是已知的。例如,0的alpha值指示与数学结构中的该特定条目相关联的像素的信息是未知的。类似地,1的alpha值指示与数学结构中的该特定值相关联的像素的信息是已知的。在一个实施例中,alpha可以由布尔(Boolean)值来表示。
Interpolate()函数首先被调用用于预乘alpha(P)以便方便符号表示,其中未知像素的任何颜色信息被丢弃。接下来,Interpolate()函数调用InterpolateRec()函数,如将描述的,该InterpolateRec()函数实现图像X的递归降采样、递归升采样和粘贴,以产生经修改的图像X’。从InterpolateRec()函数返回的值被存储为(P’,A’)。然后通过除以A’来移动回到非预乘alpha并且然后返回仅包括被定义的像素139的经修改的图像X’(即,具有1的alpha),来导出经修改的图像X’。
InterpolateRecQ函数可以被表述为如下:
在以上描述的函数中,InterpolateRec()函数接收图像P,其是图像X的预乘alphaP版本,并且alpha A相关联于预乘alpha P版本。InterpolateRec()函数然后确定图像P的像素尺寸是否等于lxl分辨率。例如,递归降采样可能已经将图像的尺寸减少到尺寸为仅一个像素。如果InterpolateRec()函数确定图像P的分辨率是lxl,则递归完成并且返回(P,A)。在另一个示例中,InterpolateRec()函数可以确定图像P的任何像素是否是未被定义的像素143。如果InterpolateRec()函数确定不存在未被定义的像素143,则递归完成并且返回(P,A)。
如果InterpolateRec()函数取而代之确定图像P的分辨率不是lxl活着图像P包括未被定义的像素143,则InterpolateRec()函数行进至实现对(P,A)的降采样函数。在一个实施例中,降采样函数通过因数2来减少图像P的尺寸(即将图像P的分辨率减少一半),以产生降采样结果(Ps,As)。接下来,InterpolateRec()函数以(Ps,As)作为输入图像和alpha来递归地调用它本身,并且将结果存储为(Ps’,As’),直至由if语句定义的条件被满足。
在满足条件以停止递归降采样之后,InterpolateRec()函数接下来使用所返回的(P,A)值和被表示为(Ps’,As’)的对图像进行升采样的结果来实现Over()function。在一个实施例中,如以上所描述的,升采样函数通过因数2来增加图像P的尺寸(即将图像P的分辨率乘以二),以产生升采样图像。Over()函数可以是本领域中已知的多个标准over()函数中的任何一个。作为一个示例,Over()函数可以被实现为:
Over(Image Fg with alpha FgA,image Bg with alpha BgA):
return(Fg+(1-FgA)*Bg,FgA+(1-FgA)*BgA);
在以上的函数中,Fg表示前景图像,FgA表示前景图像Fg的alpha,Bg表示背景图像,并且BgA表示背景图Bg的alpha。作为另一个示例,Over()函数可以被实现为:
在以上函数中,图像位置i表示在前景图像FgA中的像素位置。R表示由Over()函数产生的所返回的图像。多个其他Over()函数可以是本领域中已知的并且可以与以上描述的Over()函数交换地使用。
图2示出了根据本公开的某些实施例的被呈现在显示器116上的用户接口129(图1)的一个示例。图2示出的用户接口129包括具有颜色部分203a,203b,203c和203d和其他部分206的图像126。例如,颜色部分203a,203b,203c和203d包括被定义的像素139(图1),其中形成相应颜色部分的像素包括颜色信息。其他部分206包括仅未被定义的像素143(图1),其中形成其他部分的像素不包括颜色信息。在这个示例中,颜色部分203a包括黄颜色的被定义像素139,颜色部分203b包括蓝颜色的被预定义像素139、颜色部分203c包括蓝颜色的被定义的像素139,并且颜色部分203d包括红颜色的被定义的像素139。其他部分206不包括任何被定义的像素139并且因此可能不可见。
图3示出了根据本公开的某些实施例的被呈现在显示器116上的用户接口129(图1)的一个示例。图3示出的用户接口129包括图像126的已经由插值应用程序123(图1)修改的版本,如以上所讨论的,以任何相邻的被定义像素139(图1)的递归平均值来填充原始图像126的未被定义的像素143(图1)。如图3所示,如图2所示的原始图像126的未被定义的像素143递归地由与未被定义的像素143相邻的任何被定义的像素139取代,从而创建具有仅被定义的像素139的无缝复合的经修改图像126。
图4示出了根据本公开的某些实施例的被呈现在显示器116上的用户接口129(图1)的一个示例。图4示出的用户接口129描绘了第一图像126a和第二图像126b,其中第一图像126a可以被粘贴到第二图像126b上。第一图像126a描绘了一只鸟和具有第一蓝色阴影的背景。第二图像126b描绘了地平线和具有第二蓝色阴影的背景。根据本文所描述的某些实施例,插值应用程序123可以将第一图像126a粘贴到第二图像126b上,同时经由插值应用程序123(图1)混合第一图像126a的第一蓝色阴影与第二图像126b中的第二蓝色阴影的差异,以创建具有蓝色的无缝复合的经修改图像126。经修改图像126包括第一图像126a的鸟,具有其背景平滑地过渡到第二图像126b的背景。
图5图示了第一图像126a(图1)中的被提取用于粘贴到第二图像126b(图4)的顶部的一部分。在一个实施例中,操作计算设备103(图1)的用户可以经由一个或多个I/O设备119(图1)和用户接口129(图1)来执行第一图像126a的要被提取的部分503。例如,用户可以经由与计算设备103相关联的鼠标、触笔、触摸屏和/或任何其他输入设备119来选择部分503的边界。在一个实施例中,插值应用程序123(图1)可以接收由用户执行的部分503并且提取所执行的部分503以实现粘贴操作(如将参照图6所描述的)。
图6图示了经修改的第二图像126b,其中从第一图像126a(图4)提取的部分503被粘贴到第二图像126b的顶部。如图6所示,插值应用程序123(图1)产生经修改的第二图像126c,具有第一图像126a的部分503的背景(图5)以平滑过渡来混合至第二图像126b的背景。在一个实施例中,插值应用程序123将从第一图像126a提取的部分503粘贴至原始第二图像126b的顶部。例如,插值应用程序123可以通过实现本领域中已知的任何数目的标准粘贴操作来粘贴所提取的部分503。插值应用程序123然后可以标识所粘贴的部分503与第二图像126b之间的边界。在一个实施例中,插值应用程序123至少部分基于所提取的部分503的背景与第二图像126b的背景之间的颜色差别来标识边界。例如,插值应用程序123可以确定两个相邻像素之间的颜色差别是否超过预定阈值。如果颜色差别超过预定阈值,则插值应用程序123可以确定两个相邻像素形成边界。
接下来,插值应用程序123产生经修改的第二图像126c,具有原始第二图像126b的背景与第一图像126a的背景之间的无缝过渡。在一个实施例中,插值应用程序123标识原始第二图像126b与第一图像126a之间的边界和该边界的周围部分,以便实现本文中所描述的方法,用于创建如图6所描绘的无缝过渡。插值应用程序123可以将第一图像126a的背景中的蓝色阴影标识为未被定义的像素143,并且将原始第二图像126b的背景中的蓝色阴影标识为被定义的像素139。然后,插值应用程序123递归地通过一个因数来降采样该边界和该边界的周围部分。例如,如以上所描述的,插值应用程序123可以通过2的因数和/或任何其他因数来递归地降采样。在递归地降采样直至计算出降采样图像149不包括未被定义的像素143时,插值应用程序123递归地升采样并且实现跨越功能,直至所有降采样的图像149被处理。图6中示出的所得到的经修改图像126c表示无缝复合,其中第一图像126a的第一蓝色阴影不区别于第二图像126b的第二蓝色阴影。
图7是根据某些实施例的提供插值应用程序123的一部分的操作的一个示例的流程图。理解的是,图7的流程图仅提供许多类型的功能自变量的一个示例,这些功能自变量可以被采用来实现如本文中所描述的插值应用程序123的一部分的操作。作为备选,图7的流程图可以被视为描绘了根据一个或多个实施例的在计算设备103(图1)中实现的方法的步骤的示例。
开始于步骤703,插值应用程序123接收具有多个未被定义的像素143(图1)和多个被定义的像素139(图1)的图像126(图1)。插值应用程序123通过递归地对任何相邻的被定义的像素139的值进行平均来填充未被定义的像素143,以产生经修改的图像126a。由此,插值应用程序123在步骤706中可以通过因数2来降采样原始图像126,以产生第一降采样图像149(图1),其是原始图像126的分辨率146(图1)的一半。例如,插值应用程序123可以使用原始图像126的每隔一个的像素来创建第一降采样图像149。在另一个实施例中,插值应用程序123可以通过不同的因数来降低原始图像126。
接下来,在步骤709,插值应用程序123确定是否重复降采样。在一个实施例中,插值应用程序123确定在降采样图像中是否存在任何未被定义的像素143。如果插值应用程序123确定降采样图像包括未被定义的像素143,则插值应用程序123返回步骤706去再次降低尺寸图像。例如,插值应用程序123通过因数2来降低第一经降采样的原始图像149的尺寸,以产生第二降采样图像149。在另一个实施例中,插值应用程序123基于降采样图像的尺寸来确定是否重复降采样。例如,如果插值应用程序123确定降采样图像的尺寸大于1x1,则插值应用程序123返回步骤706去降采样该降采样图像149。附加地,插值应用程序123可以存储每个递归实例处的每个降采样图像149。
如果插值应用程序123确定不需要重复降采样(即,递归降采样可以停止),则插值应用程序123前进至步骤713。在步骤713,插值应用程序123从最小的降采样图像149起对降采样图像149进行升采样。例如,如以上所讨论的,插值应用程序123通过因数2来升采样降采样图像149的尺寸,以产生升采样图像153(图1)。然后,在步骤716,插值应用程序123将下一个最小的降采样图像149粘贴到升采样图像153的顶部,并且将下一个最小的降采样图像149中任何未被定义的像素143用升采样图像153的对应被定义的像素139来取代。例如,over()函数可以实现这个技术,以创建经修改的升采样图像153。
在步骤719,插值应用程序123确定是否重复升采样。例如,如果存在可以被处理的剩余降采样图像149,插值应用程序123可以确定重复升采样。如果插值应用程序123重复升采样,则插值应用程序123返回步骤以重复升采样。如果插值应用程序123确定不需要重复升采样,则插值应用程序123前进至步骤723并且返回最后一个经修改的升采样图像153。所返回的图像将是原始图像126的修改版本,具有以递归地被平均的相邻被定义像素139填充的未被定义像素143。
图8是根据某些实施例的提供插值应用程序123的一部分的操作的一个示例的流程图。理解的是,图8的流程图仅提供许多类型的功能自变量的一个示例,这些功能自变量可以被采用来实现如本文中所描述的插值应用程序123的一部分的操作。作为备选,图8的流程图可以被视为描绘了根据一个或多个实施例的在计算设备103(图1)中实现的方法的步骤的示例。
开始于步骤803,插值应用程序123接收要被粘贴到第二图像上的第一图像。第一图像具有第一背景颜色,并且第二图像具有第二背景颜色。在一个实施例中,用户可以经由被呈现在计算设备103(图1)的显示器116(图1)上的用户接口129(图1)来提供第一图像和第二图像。然后,在步骤806,插值应用程序123将第一图像在所指定的位置粘贴到第二图像上。例如,用户可以已经经由一个或多个输入设备119(图1)指定第二图像上的一个位置,在该位置处粘贴第一图像。
接下来,在步骤809,插值应用程序123生成无缝复合,该无缝复合包括被粘贴在第二图像上的第一图像。在一个实施例中,插值应用程序123将沿着第一图像与第二图像之间的复合边界的像素集合标识为被定义的像素,并且将另一个像素集合标识为未被定义的像素。例如,被定义的像素可以对应于第二背景颜色,并且未被定义的像素可以对应于第一背景颜色。插值应用程序123然后通过采样因数来递归地降采样边界部分,以产生多个经降采样的边界部分,直至在递归降采样实例处的经降采样的边界部分缺少被定义的像素。插值应用程序123然后通过采样因数来递归地升采样每一个经降采样的边界部分,以根据相应的经降采样的边界部分来创建升采样图像。然后,在每个递归升采样示例处,插值应用程序123将下一个递归地出现的降采样边界部分粘贴到升采样图像上,以创建针对升采样的下一个递归地出现的边界部分。
图9是根据某些实施例的提供插值应用程序123的一部分的操作的一个示例的流程图。理解的是,图9的流程图仅提供许多类型的功能自变量的一个示例,这些功能自变量可以被采用来实现如本文中所描述的插值应用程序123的一部分的操作。作为备选,图9的流程图可以被视为描绘了根据一个或多个实施例的在计算设备103(图1)中实现的方法的步骤的示例。
开始于步骤903,插值应用程序123接收要被复合或者要被粘贴到背景图像的前景图像。一般而言,前景图像指的是要与背景图像合并的图像。更一般地,前景图像和背景图像可以指的是第一图像和第二图像,但是前景图像和背景图像在这个示例中用于提供更好的清楚性。前景图像和/或背景图像可以以任何方式来选择,并且本文中所描述的实施例不旨在于限制任何方式。例如,在一些情况中,可以由期望生成或者查看复合图像的用户来选择背景图像和前景图像。在一个实施例中,用户可以经由被呈现在计算设备103(图1)的显示器116(图1)上的用户接口129(图1)来提供或选择第一图像和第二图像。
在步骤906,标识边界或界线,该边界或界线指示前景图像相对于背景图像要被放置或布置的位置(例如边缘或外围)。边界通常指示前景图像关联于背景图像所期望被粘贴或复合到的区域。边界可以具有任何形状和/或尺寸。例如,边界可以对应于前景图像的边界或轮廓。作为另一个示例,边界可以具有约束前景图像(其可以具有任何形状)的矩形形状。可以以任何数目的方式来指定或选择边界。在一些情况中,边界位置可以由选择或者以其他方式指示边界的用户来指示。例如,前景图像可以被拖拽或移动到背景图像的一个位置处,在此处的定位被用于生成边界。
例如,并且参照图5,在一个实施例中,插值应用程序123可以将来自第一图像126a的部分503定位在原始第二图像126b的顶部(例如,根据用户选择或指示)。插值应用程序123然后可以标识所定位的部分503与第二图像126b之间的边界。在一些情况中,可以至少部分基于部分503的背景与第二图像126b的背景之间的颜色差别来确定边界(例如,颜色差别超过预定阈值)。
在步骤909,标识针对所选择的图像区域的每个像素的像素数据的集合。所选择的图像区域通常指的是向其应用或修改像素颜色以使得前景和背景图像能够平滑地混合的地方或者区域。换而言之,所选择的图像区域指的是在其中能够向图像应用颜色或滤波器效应(例如,渐变效应)的像素地方或像素区域。在一些实施例中,通过定义所选择的图像区域的边界来定义所选择的图像区域。在这个方面,所选择的图像区域可以指的是边界外部的区域和/或边界内部的区域。尽管在本文中一般地被描述为标识针对所选择的图像区域的像素的像素数据集合,可以认识到,可以针对任何像素集合、被包括在背景图像和/或前景图像中的像素来标识像素数据。可以以任何数目的方式来指定或确定所选择的图像区域。例如,在用户将前景图像定位在背景图像之上时,前景图像的位置(例如,关联于前景图的边界)可以用于标识所选择的图像区域。
在一些实施例中,与像素相关联的像素数据集合包括颜色差异分量和颜色差异指示符。颜色差异分量指的是指示图像(诸如前景图像和背景图像)中的对应像素之间的颜色差异程度的分量或通道。颜色差异可以使用任何值(例如,数字值)来表示,并且可以以任何方式来确定,不旨在于本文中所提供的示例。颜色差异可以根据任何颜色模型来标识颜色差异。例如,基于RGB颜色模型的背景图像相关联的像素与前景图像相关联的像素之间的颜色差异可以包括像素之间的红颜色差异、像素之间的绿颜色差异、以及像素之间的蓝颜色差异。颜色模型的一个示例是CYMK,其包括青色(cyan)、品红色(magenta)、黄色(yellow)和黑色(black)。颜色模型可以包括任何数目的颜色分量、诸如一个、两个、三个或者三个颜色值或分量。如此,颜色差异可以包括与所表示的颜色相对应的三个或四个通道或分量。颜色差异指示符可以是指示特定像素是否包括已知的颜色差异信息的指示符。在这个方面,颜色差异指示符可以指示像素关于已知的颜色差异信息而言是否是被定义的像素。在一些情况中,如以下所描述的,与像素相关联的颜色差异指示符可以初始地是表示没有信息的0或者表示某些信息的1。
在一些实施例中,对于与边界对应的每个像素,确定背景图像与前景图像之间的颜色差异指示符。在一些情况中,边界可以由像素集合来定义。在这样的情况中,确定背景图像与前景图像之间的、沿着由像素表示的边界的同一点处的颜色差异。在其他情况中,可以标识与边界对应的像素,诸如与边界的内部部分相邻的像素或者与边界的外部部分相邻的像素。无论边界如何,标识前景图像与背景图像两者的同一或匹配像素,以使得可以确定图像像素之间的颜色差异。
根据确定颜色差异分量(例如,红颜色差异分量、绿颜色差异分量和蓝颜色差异分量),可以标识颜色差异指示符,其指示像素是被定义的像素,也就是说,该像素包括颜色差异信息。在这个方面,插值应用程序123可以根据与这样的像素相关联的已有或者预期的颜色差异信息,将沿着复合边界的像素集合、例如与所选择的图像区域相关联的颜色集合标识为被定义的像素。在一些这样的情况中,针对这些像素的颜色差异指示符可以被初始设置为1。对于每个非边界像素,可以不生成颜色差异。如此,一般可以由零值来定义与这样的像素相关联的像素数据集合,包括颜色差异指示符。
如以下更详细描述的,前景图像和背景图像的沿着边界的对应像素之间的颜色差异可以从边界贯穿所选择的图像区域的其他部分、诸如从边界到所选择的图像的内部部分进行插值。换而言之,针对沿着边界的像素确定的颜色差异被用于贯穿所选择的颜色区域(例如,向内)传递颜色改变。
在步骤912,插值应用程序123通过采样因数(例如,2)来递归地降采样或者塌缩所选择的图像区域以产生多个经降采样的部分。初始地,在步骤909所确定的与所选择的图像区域的像素相关联的像素数据集合可以被指定为与级别0相关联的像素数据。如所描述的,针对像素的像素数据集合可以包括颜色差异分量和颜色差异指示符。例如,针对像素位置的示例初始像素数据集合可以是{Rv,Gv,Bv,1}或{Rv,Gv,Bv,0},其中Rv表示红颜色差异值、Gv表示绿颜色差异值、Bv表示蓝颜色差异值、1表示颜色差异被包括或被定义,并且0表示颜色差异是未被确定、未知或者未被定义的(在该情况中,颜色差异值Rv,Gv,Bv也将等于0)。针对原始或者级别0的所选择的图像区域与颜色差异分量和颜色差异指示符的函数可以被表示为如下:
pyramid_level[0]=
if(onborder)(Rf-Rb,Gf-Gb,Bf-Bb,1)
else(0,0,0,0)
其中基于前景颜色减去背景颜色(例如,Rf-Rb,Gf-Gb,Bf-Bb)来计算颜色值差异。
原始的所选择的图像区域,如由颜色差异分量和颜色差异指示符所标识的,可以通过一个因数、诸如2来进行降采样,以产生第一降采样图像,该第一降采样图像是原始的所选择的图像区域的分辨率的一部分(例如,一半)。如能够认识到的,在降采样中,针对第一降采样图像的像素生成颜色差异指示符。仅作为示例,假设四个像素的集合被降低至一个像素。进一步假设四个像素中的三个像素不对应于边界并且因此包括值为零的颜色差异指示符,并且四个像素中的一个像素对应于边界并且因此包括值为1的颜色差异指示符。在这样的情况中,颜色差异指示符被聚合或平均以导出针对在降采样图像中的该像素的0.25的颜色差异指示符。所计算的0.25的颜色差异指示符指示被用于计算该值的具有颜色差异信息的像素的数目(被用于计算结果的25%的像素包括某些颜色差异信息)。
根据生成针对第一降采样图像的各种像素位置的每个新的颜色差异指示符,可以标识最强或最大的颜色差异指示符。通过这种方式,标识与在特定降采样级别(例如,第一降采样图像)上可用的最大量的颜色差异信息相关联的值。对于第一降采样图像的每个像素,然后可以将颜色差异值(例如,RGB分量值)和颜色差异指示符除以最大颜色差异指示符值。这样的过程根据颜色差异值的最大指示来归一化数据。例如,假设与第一降采样图像相关联的四个像素包括数据集合{0.3,0.4,0.5,0.33}、{0.2,0.6,0.4,0.31}、{0.37,0.11,0.12,0.21}和{0.29,0.30,0.31,0.12}。在这样的情况中,最大或最强颜色差异指示符等于0.33。如此,将颜色差异和颜色差异指示符中的每一个除以0.33,以归一化在这个降采样级别处的数据。在每个降采样级别或实例处归一化数据促进图像之间的无缝和平混过渡。
在一些情况中,每个分量或值也可以乘以一个因数以进一步实行归一化,从而使得与该降采样级别相关联的信息对最终结果贡献更多。如可以认识到的,任何数目可以被用于增长该归一化。例如,在一些情况中,因数2可以是预定义或指定的因数,将于第一降采样图像相关联的颜色差异和颜色差异指示符乘以该因数。在一些实施例中,得到的值(例如,在被乘以指定的值时)应当维持低于值1。在这样的情况中,如果需要将颜色差异值维持在小于1的话,因数(例如预定因数)可以被减少,或者如果颜色差异与该因数相乘导致高于1的值的话,得到的值可以被减少至1或者1以下。针对降采样级别l=1到n_levels,用于对所选择的图像区域进行降采样的函数可以被描述为以下:
pyramid_level[l]=reduce_size_by_half(pyramid_level[l-l])
maxalpha=max(pyramid_level[l][4])
pyramid_level[l]/=maxalpha
pyramid_level[l]*=min(some_factor,1/pyramid_level[l][4]),其中[4]指的是颜色差异指示符分量。
可以贯穿任何数目的降采样级别l来继续降采样过程。在一些情况中,降采样过程继续,直至降采样图像包括一个像素。在其他情况中,降采样过程继续,直至包括针对降采样图像的每个像素的颜色差异信息。在这个方面,降采样继续,直至与降采样级别的每个像素相关联的颜色差异指示符是非零值。没有颜色差异指示符的值是零的级别可以动态地被确定、预定义或者推导。
在步骤915,插值应用程序123使用采样因数来递归地执行升采样,以创建升采样图像。采样因数可以是任何值并且通常对应于用于降采样图像的采样因数,从而使得升采样图像对应于降采样级别。例如,如以上所讨论的,插值应用程序123通过因数2来升采样最小的降采样图像149,以产生升采样图像153(图1)。升采样图像将具有处于同样的金字塔级别处(例如,同样数目的像素或分辨率)的对应降采样图像。一般而言,彼此对应的升采样图像和降采样图像包括同样数目的像素。如此,与一个像素相关联的两个像素数据集合将在每个级别处存在,一个像素数据集合对应于降采样,并且一个像素数据集合对应于升采样。
在一些实施例中,两个像素数据集合可以被组合以生成最优混合或者合并数据集合。在一些情况中,当与降采样图像相关联的像素不关联于颜色差异信息(例如,颜色差异指示符具有0值),与升采样图像相关联的数据可以被维持为升采样图像数据(例如,颜色差异信息)。在像素数据的两个对应版本或集合均包括某个颜色差异信息(例如,非零值)的情况中,可以结合这些版本之一选择数据,或者可以例如使用一个值和(1-该值)的加权平均来混合或组合数据。在实施例中,用于用以混合数据的加权平均的值是例如与升采样图像相关联的颜色差异指示符。在一些情况中,经混合的数据被用作升采样到下一个级别的基础。
用于升采样图像的函数可以被描述如下:
针对l=n_levels-l至0并且expandedlevel=reduced_level[n_levels]
expandedlevel=doublesize(expandedlevel)
expandedlevel=combine(expanded_level,reduced_level[/]),其中
alpha=reduced_level[l][4],并且
expanded_level[l]=(1-alpha)*expanded_level[l]+alpha*reduced_level[l],其中[4]指的是颜色差异指示符分量。
贯穿任何数目的升采样级别,升采样过程可以继续,直至生成最后的升采样图像。在一些情况中,升采样过程继续,直至没有更多对应的降采样图像149。也就是说,当升采样图像具有与用于开始降采样的原始图像相同的分辨率(最后的升采样图像)时,完成升采样。如能够认识到的,尽管升采样和混合通常参考颜色差异指示符来描述,这样的函数可以应用至数据集合中的其他数据,诸如红颜色差异、蓝颜色差异和绿颜色差异。
在步骤918,生成针对所选择的图像区域内的像素的最终颜色差异值。在一些情况中,最终的升采样图像的每个颜色值差异(例如,RGB)可以处以与其相关联的颜色差异指示符。例如,假设与最终升采样图像相关联的像素包括RGB颜色差异数据和颜色差异指示符{0.23,0.22,0.21,0.18}。在这样的情况中,RGB颜色差异值差异颜色差异指示符或0.18。然后可以从前景值中减去针对所选择的图像区域内的像素的这些导出的最终颜色差异值,以生成颜色之间的平滑混合或过渡。在这个方面,经修改的前景等于前景减去金字塔操作的结果。经修改的前景像素可以平滑地混合或合并至背景图像中。在一些情况中,用经修改的前景像素替换恰当的背景像素。如此,界线前景通常是与背景图像相同的颜色。
图10和11是提供根据关于图9描述的某些实施例的插值应用程序123的一部分的操作的进一步示例的流程图。理解的是,图10和11的流程图仅提供许多类型的功能自变量的一个示例,这些功能自变量可以被采用来实现如本文中所描述的插值应用程序123的一部分的操作。作为备选,图10和11的流程图可以被视为描绘了根据一个或多个实施例的在计算设备103(图1)中实现的方法的步骤的示例。
看到图10,具体地,在步骤1003,确定第一图像与第二图像之间沿着与一个定位相关联的边界的像素的颜色值的差异,在该定位处相对于第二图像来复合第一图像。在步骤1006,针对在包括该边界的所选择的像素区域内的每个像素,生成初始像素数据集合。在实施例中,针对沿着边界的像素的每个像素数据集合包括一个或多个颜色差异分量和颜色差异指示符,该颜色差异分量表示基于所选择的像素的颜色值的差异的、第一图像与第二图像之间的像素的颜色差异,该颜色差异指示符指示该像素存在颜色值的差异。针对不沿着该边界的像素的每个像素数据集合包括针对一个或多个颜色差异分量和针对颜色差异指示符的零值。
在步骤1009,使用初始像素数据集合来递归地通过采样因数来降采样所选择的像素区域,以产生多个降采样图像,直至在递归降采样处产生的最后的降采样图像缺少不具有指示针对该像素不存在颜色值的差异的颜色差异指示符的像素。在实施例中,每个降采样实例包括:标识最大的颜色差异指示符,以及将与对应的降采样图像相关联的每个颜色差异分量和颜色差异指示符除以最大的颜色差异指示符。在步骤1012,递归地升采样最后的降采样图像以生成针对在所选择的图像区域内的像素的最终颜色差异值的集合,最终颜色差异值的集合用于产生具有第一图像与第二图像之间的无缝过渡的复合。
现在看到图11,在步骤1103,标识与对应于一个定位的像素的所选择的区域相关联的边界,在该定位处相对于第二图像来复合第一图像。在步骤1106,确定第一图像与第二图像之间的沿着边界的像素的颜色值的差异。在步骤1109,使用第一图像与第二图像之间沿着边界的像素的颜色值的差异来递归地通过采样因数降采样所选择的像素区域,以产生多个降采样图像,多个降采样图像具有与降采样图像的每个像素相关联的颜色差异指示符。指示针对对应的像素是否存在颜色值的差异的颜色差异指示符与每个被递归地降采样的图像相关联地被归一化。
在本文中阐述了各种具体细节以提供对请求保护的主题的彻底理解。然而,本领域的技术人员将理解的是,所请求保护的主体可以在没有这些具体细节的情况下被实践。在其他实例中,本领域的技术人员将指导的方法、装置或系统没有被详细描述,以便不模糊所请求保护的主题。
给出了在被存储于计算系统存储器、诸如计算机存储器内的数据比特或二进制数字信号上的操作的算法或符号表示的方面上的某些部分。这些算法描述或表示是在数据处理领域的本领域技术人员使用的技术的示例,用以将他们的工作的实质传达给本领域的其他技术人员。算法是操作或导致所期望的结果的类似处理的有条理序列。在这个上下文中,操作或处理涉及物理量的物理操作。典型地,尽管不是必要的,某些量可以采用支持被存储、传递、组合、比较或以其他方式被操作的电子或磁信号的形式。已经多次被证明方便的是,在原理上出于通用的理由,将这样的信号称为比特、数据、值、元素、符号、字符、术语、数目、数字等等。然而,应当理解的是,所有这些和类似的术语要与恰当的物理量相关联并且仅仅是方便的标签。除非另外具体指明,要认识到,贯穿本说明书讨论利用的术语,诸如“处理”、“计算”、“确定”和“标识”等等指的是计算设备的动作或处理,诸如一个或多个计算机或类似的电子计算设备,它们操作或转换被表示为计算平台的存储器、寄存器或其他信息存储设备、传输设备或显示器设备内的物理电子或磁量的数据。
本文中所讨论的一个或多个系统不限于任何具体硬件架构或配置。计算设备可以包括任何适当布置的组件,这些组件提供对一个或多个输入的条件约束的结果。适当的计算设备包括多用途基于处理器的计算系统,它们从实现本主题的一个或多个实施例的通用计算装置到专用计算装置来访问编程或配置计算系统的软件。任何适当的编程、可编辑或者其他类似的语言或语言的组合可以被用于以软件来实现本文中包含的技术,该软件被用于编程或配置计算设备。
本文中所公开的实施例可以在这样的计算设备的操作中被执行。在以上示例中给出的框的顺序可以变换,例如框可以被重新排除、组合和/或打破成子框。某些框或处理可以并行地执行。
本文中对“被适配为”或“被配置为”的使用意味着开放和包含性语言,其不阻止设备被适配或被配置为另外的任务或步骤。附加地,“基于”的使用意味着开放和包含性的,其中“基于”一个或多个所记载的条件或值的处理步骤、计算或其他动作在实践中可以基于除了所记载的这些之外的另外的条件或值。本文中的标题、列表和编号仅出于解释的方便而不意味着限制性的。
尽管已经关于它的具体实施例来描述本主题,应当认识到,本领域的技术人员在对前述的理解之后可以容易地产生对这样的实施例的改变、变化和等同。由此,应当理解的是,本公开内容已经出于示例而非限制的目的被给出,并且排除包括本领域的普通技术人员将清楚的对本主题的这样的修改、变化和/或添加。

Claims (20)

1.一种用于以无缝过渡来复合第一图像和第二图像的计算机实现的方法,所述方法包括:
确定第一图像与第二图像之间沿着与一个定位相关联的边界的像素的颜色值的差异,在所述定位处相对于所述第二图像来复合所述第一图像;
针对在包括所述边界的所选择的像素区域内的每个像素,生成初始像素数据集合,针对沿着所述边界的所述像素的每个像素数据集合包括(1)一个或多个颜色差异分量,所述颜色差异分量表示基于像素的颜色值的所确定的差异的、所述第一图像与所述第二图像之间的像素在颜色中的差异,以及(2)颜色差异指示符,所述颜色差异指示符指示针对该像素存在颜色值的差异,并且针对不沿着所述边界的像素的每个像素数据集合包括针对所述一个或多个颜色差异分量和针对所述颜色差异指示符的零值;
使用所述初始像素数据集合来递归地通过采样因数降采样所选择的像素区域,以产生多个降采样图像,直至在递归降采样实例处产生的最后的降采样图像缺少不具有指示针对该像素不存在颜色值的差异的颜色差异指示符的像素,其中每个降采样实例包括:
标识最大的颜色差异指示符,以及
将与对应的降采样图像相关联的每个颜色差异分量和颜色差异指示符除以所述最大的颜色差异指示符;以及
递归地升采样所述最后的降采样图像以生成针对在所选择的图像区域内的像素的最终颜色差异值的集合,所述最终颜色差异值的集合用于产生具有所述第一图像与所述第二图像之间的无缝过渡的复合。
2.根据权利要求1所述的方法,其中所选择的像素区域包括在所述边界内的像素。
3.根据权利要求1所述的方法,其中所述颜色差异分量表示红颜色中的差异、绿颜色中的差异和蓝颜色中的差异。
4.根据权利要求1所述的方法,其中每个降采样实例进一步包括将与对应的降采样图像相关联的每个颜色差异分量和颜色差异指示符与预定因数相乘。
5.根据权利要求1所述的方法,其中所述第二图像包括背景图像。
6.根据权利要求1所述的方法,其中所述第一图像包括前景图像。
7.根据权利要求1所述的方法,其中通过将最终的升采样图像的颜色值差异中的每个颜色值差异除以与所述最终的升采样图像相关联的颜色差异指示符,来生成所述最终颜色差异值的集合。
8.根据权利要求7所述的方法,其中所述最终颜色差异值的集合用于修改所述第一图像的像素。
9.根据权利要求8所述的方法,其中所述第一图像的经修改的像素与所述第二图像复合。
10.一种用于以第一图像与第二图像之间的无缝过渡来复合所述第一图像和所述第二图像的计算机实现的方法,所述方法包括:
标识与对应于一个定位的所选择的像素区域相关联的边界,在所述定位处相对于所述第二图像来复合所述第一图像;
确定所述第一图像与所述第二图像之间沿着所述边界的像素的颜色值的差异;以及
使用所述第一图像与所述第二图像之间沿着所述边界的像素的颜色值的所述差异来递归地通过采样因数降采样所选择的像素区域,以产生多个降采样图像,所述多个降采样图像具有与所述降采样图像的每个像素相关联的颜色差异指示符,其中指示针对对应的像素是否存在颜色值的差异的所述颜色差异指示符与每个被递归地降采样的图像相关联地被归一化。
11.根据权利要求10所述的方法,其中所述归一化包括:标识与对应的降采样图像相关联的颜色差异指示符之中的最大的颜色差异指示符;以及将与对应的降采样图像相关联的颜色差异指示符中的每个颜色差异指示符除以所述最大的颜色差异指示符。
12.根据权利要求11所述的方法,其中所述归一化进一步包括:将与对应的降采样图像相关联的每个颜色差异分量除以所述最大的颜色差异指示符。
13.根据权利要求11所述的方法,进一步包括:通过将每个颜色差异指示符与预定因数相乘来增长所述归一化。
14.根据权利要求12所述的方法,进一步包括:通过将每个颜色差异指示符和每个颜色差异分量与预定因数相乘来增长所述归一化。
15.根据权利要求11所述的方法,其中像素的颜色值的差异包括表示红颜色值的差异的第一差异、表示绿颜色值的差异的第二差异、以及表示蓝颜色值的差异的第三差异。
16.一种系统,包括:
处理器,用于执行被存储至一个或多个设备上的计算机可读介质中的指令,
包括一个或多个模块的应用程序,所述一个或多个模块被配置为执行步骤,所述步骤包括:
标识前景图像与背景图像之间沿着与一个位置相关联的边界的像素的颜色值的差异,在所述位置处相对于所述背景图像来粘贴所述前景图像;
递归地通过采样因数来降采样在所述边界内的像素区域,以产生多个降采样图像,所述多个降采样图像具有与所述降采样图像的每个像素相关联的颜色差异指示符,其中所述颜色差异指示符指示针对对应的像素是否存在颜色值的差异,并且其中所述颜色差异指示符与每个被递归地降采样的图像相关联地被归一化。
17.根据权利要求16所述的系统,其中所述归一化包括:标识与对应的降采样图像相关联的颜色差异指示符之中的最大的颜色差异指示符;以及将对应的降采样图像相关联的颜色差异指示符中的每个颜色差异指示符除以所述最大的颜色差异指示符。
18.根据权利要求17所述的系统,其中通过将每个颜色差异指示符与预定因数相乘来增长所述归一化。
19.根据权利要求16所述的系统,其中像素的颜色值的差异包括表示红颜色值的差异的第一差异、表示绿颜色值的差异的第二差异、以及表示蓝颜色值的差异的第三差异。
20.根据权利要求16所述的系统,其中递归地升采样最后的降采样图像,以生成针对在所述边界内的所述像素区域的最终颜色差异值的集合,所述最终颜色差异值的集合用于产生具有所述前景图像与所述背景图像之间的无缝过渡的复合。
CN201610207370.1A 2015-06-14 2016-04-05 控制图像之间的过渡的平滑度 Active CN106251287B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562175361P 2015-06-14 2015-06-14
US62/175,361 2015-06-14

Publications (2)

Publication Number Publication Date
CN106251287A true CN106251287A (zh) 2016-12-21
CN106251287B CN106251287B (zh) 2020-04-10

Family

ID=57626588

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610207370.1A Active CN106251287B (zh) 2015-06-14 2016-04-05 控制图像之间的过渡的平滑度

Country Status (1)

Country Link
CN (1) CN106251287B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107545595A (zh) * 2017-08-16 2018-01-05 歌尔科技有限公司 一种vr场景处理方法及vr设备
CN110502205A (zh) * 2019-08-29 2019-11-26 百度在线网络技术(北京)有限公司 图片显示边缘处理方法、装置、电子设备和可读存储介质
CN111861956A (zh) * 2020-06-24 2020-10-30 北京金山云网络技术有限公司 图片处理方法、装置、电子设备以及介质
CN113129796A (zh) * 2019-12-30 2021-07-16 乐金显示有限公司 显示装置及其渲染方法
CN113610838A (zh) * 2021-08-25 2021-11-05 华北电力大学(保定) 一种螺栓缺陷数据集扩充方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104375797A (zh) * 2014-11-17 2015-02-25 联想(北京)有限公司 一种信息处理方法及电子设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104375797A (zh) * 2014-11-17 2015-02-25 联想(北京)有限公司 一种信息处理方法及电子设备

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107545595A (zh) * 2017-08-16 2018-01-05 歌尔科技有限公司 一种vr场景处理方法及vr设备
CN110502205A (zh) * 2019-08-29 2019-11-26 百度在线网络技术(北京)有限公司 图片显示边缘处理方法、装置、电子设备和可读存储介质
CN110502205B (zh) * 2019-08-29 2023-08-01 百度在线网络技术(北京)有限公司 图片显示边缘处理方法、装置、电子设备和可读存储介质
CN113129796A (zh) * 2019-12-30 2021-07-16 乐金显示有限公司 显示装置及其渲染方法
CN113129796B (zh) * 2019-12-30 2024-02-02 乐金显示有限公司 显示装置及其渲染方法
CN111861956A (zh) * 2020-06-24 2020-10-30 北京金山云网络技术有限公司 图片处理方法、装置、电子设备以及介质
CN113610838A (zh) * 2021-08-25 2021-11-05 华北电力大学(保定) 一种螺栓缺陷数据集扩充方法

Also Published As

Publication number Publication date
CN106251287B (zh) 2020-04-10

Similar Documents

Publication Publication Date Title
CN110188760B (zh) 一种图像处理模型训练方法、图像处理方法及电子设备
CN106251287A (zh) 控制图像之间的过渡的平滑度
CN101536078B (zh) 改进图像蒙板
US10915991B2 (en) Controlling smoothness of a transition between images
US7818684B1 (en) Rendition-based graphical layout management
CN101606179B (zh) 用于遮罩、选择和路径的通用前端
US8572501B2 (en) Rendering graphical objects based on context
US20130120442A1 (en) Systems and Methods for Creating and Editing Seam Carving Masks
US10649618B2 (en) System and method for creating visual representation of data based on generated glyphs
US11386589B2 (en) Method and device for image generation and colorization
CN108765520B (zh) 文本信息的渲染方法和装置、存储介质、电子装置
CN102768625B (zh) Windows用户界面的换肤方法和装置
CN108304839A (zh) 一种图像数据处理方法以及装置
CN109920018A (zh) 基于神经网络的黑白照片色彩恢复方法、装置及存储介质
CN107408401A (zh) 用于图像的简化调整的用户滑块
CN108140251A (zh) 视频循环生成
US7460129B2 (en) Manipulating text and graphic appearance
CN105264604A (zh) 经由密集运动域向底层视频序列的图像编辑传播
CN106327415A (zh) 图像处理方法及装置
US9235575B1 (en) Systems and methods using a slideshow generator
CN102483849A (zh) 基于感兴趣区域来减少图像序列中的伪像的系统和方法
US7262782B1 (en) Selectively transforming overlapping illustration artwork
CN113487475B (zh) 交互式图像编辑方法、系统、可读存储介质及电子设备
CN112862923A (zh) 特征直方图驱动的二维标量场数据可视化方法及系统
CN106558034A (zh) 一种在移动设备中清理图像数据的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant