组合来自图像序列的基础图像与重新定位的对象的图像创建的制作方法

文档序号:11890916阅读:353来源:国知局
组合来自图像序列的基础图像与重新定位的对象的图像创建的制作方法与工艺

本公开涉及图像创建,更具体地,涉及创建组合来自图像序列的基础图像与来自所述图像序列的重新定位的对象的新图像。



背景技术:

记录最佳照片会是挑战性的任务。例如,可能难以在一群人注视相机、微笑并且没有眨眼的精确时刻记录图像。另外,相机具有不同的自动对焦速度。如果所描绘的场景快速地改变,则当相机聚焦于对象上时,对于记录期望的图像而言可能太晚了。一些相机装置使得用户能够快速拍摄一组顺序照片作为“连拍”,这可有助于解决上面讨论的一些问题。然而,用户可能希望组合多个图像的多个方面。



技术实现要素:

根据本公开的一个方面,公开了一种由计算装置实现的方法。公开了一种由计算装置实现的方法。将来自描绘场景的图像序列的图像显示在电子显示器上。接收从所述序列选择图像以用作基础图像的用户输入。还接收从所述图像序列选择对象的用户输入。根据所述图像序列确定所选对象的移动轨迹。基于将所选对象沿着所确定的移动轨迹从初始位置拖曳至新位置的用户输入,对所选对象重新定位。通过组合所述基础图像与重新定位的对象来创建新图像。

在一些实施方式中,所述方法还包括:接收从所述图像序列选择附加对象的用户输入,执行基于相位的视频运动处理算法以确定所述附加对象的夸大(exaggerated)移动,并且在电子显示器上显示所述附加对象的所述夸大移动。基于所述夸大移动的显示,接收所述附加对象的夸大移动的所选描绘,并且将所述附加对象的所选描绘包括在所述新图像中。

根据本公开的另一方面,公开了一种计算装置,其包括电子显示器和一个或更多个处理电路。所述一个或更多个处理电路被配置为在所述电子显示器上显示来自描绘场景的图像序列的图像。所述一个或更多个处理电路还被配置为接收从所述序列选择图像以用作基础图像的用户输入,并且接收从所述图像序列选择对象的用户输入。所述一个或更多个处理电路还被配置为根据所述图像序列确定所选对象的移动轨迹,并且基于将所选对象沿着所确定的移动轨迹从初始位置拖曳至新位置的用户输入将所选对象重新定位。所述一个或更多个处理电路还被配置为通过组合所述基础图像与重新定位的对象来创建新图像。

在一些实施方式中,所述一个或更多个处理电路还被配置为接收从所述图像序列选择附加对象的用户输入,执行基于相位的视频运动处理算法以确定所述附加对象的夸大移动,并且在电子显示器上显示所述附加对象的所述夸大移动。在这样的实施方式中,所述一个或更多个处理电路还被配置为基于所述夸大移动的显示,接收所述附加对象的夸大移动的所选描绘,并且将所述附加对象的所选描绘包括在所述新图像中。

附图说明

图1A至图1F示出描绘场景的图像序列。

图2示出组合图1A至图1F的图像中的两个图像的方面的新图像。

图3是组合图像序列中的多个图像的方面的示例方法的流程图。

图4A至图4F是说明图2的方法可如何实现的一系列图像。

图5示出可与图2的方法结合使用的附加方法,其包括执行基于相位的视频运动处理算法。

图6A至图6D是说明图6的方法可如何实现的一系列图像。

图7示出作为图2的图像的变型的新图像。

图8示出可工作以实现图2的方法的示例计算装置。

具体实施方式

本公开描述了一种基于描绘场景的图像序列创建图像的方法和设备。例如,所述图像序列可以是视频帧。来自所述序列的图像被显示在电子显示器(例如,智能电话的触摸屏)上。选择来自所述序列的图像中的一个作为基础图像。接收从图像序列选择对象的用户输入。根据图像序列确定所选对象的移动轨迹。不管照片中的其它全局移动,基于沿着所确定的移动轨迹将所选对象从初始位置拖曳至新位置的用户输入(例如,使用直接视频操纵)将所选对象重新定位。通过组合基础图像与重新定位的对象来创建新图像。可选地,还可执行基于相位的视频运动处理算法以确定在来自所述序列的图像中的一个中对象的夸大移动(否则的话其可能仅具有细微移动)。

图1A至图1F示出描绘场景的图像序列。这些图像可被记录为例如视频帧。在第一图像10A中,高尔夫球手正在尝试将高尔夫球击入插有旗杆18的洞16中。在图像10B中,高尔夫球手12将他的身体位置改变为面向旗杆18,并且高尔夫球14正在朝着洞16移动。在图像10C、10D和10E中,高尔夫球继续朝着洞16移动,同时高尔夫球手12保持在相同的位置。在图像10F中,高尔夫球14进入洞16并且不再可见,高尔夫球手12处于庆祝的位置。

用户可能希望组合图像10A至图F的各个方面。例如,用户可能希望描绘图像10F中的正在庆祝的高尔夫球手12,但是同时高尔夫球14仍可见。为此,用户可选择图像10F作为基础图像。然后,用户可从前一图像(例如,图像10C)选择高尔夫球14,将高尔夫球沿其轨迹拖曳至期望的位置(例如,其在图10E中靠近洞16的描绘),创建新图像20,新图像20组合了处于庆祝位置的高尔夫球手12与处于靠近洞16的位置的高尔夫球14(参见图2的图像20)。

图3是组合可用于创建图2的图像20的多个图像的方面的示例方法100的流程图。在电子显示器上,显示来自描绘场景的图像序列的图像(框102)。接收从图像序列选择要用作基础图像的图像的用户输入(框104)。还接收从图像序列选择对象的用户输入(框106)。根据图像序列确定所选对象的移动轨迹(框108)。基于将所选对象沿着所确定的移动轨迹从初始位置拖曳至新位置的用户输入,将所选对象重新定位(框110)。通过组合基础图像与重新定位的对象来创建新的图像(框112)。

现在将结合图1A至图1F以及图4A至图4F的示例讨论图3的方法100。显示来自所述序列的图像(框102),这方便用户提供从序列选择要用作基础图像的图像的输入(框104)。对于该讨论,假设图像10F被选为基础图像,因为高尔夫球手12处于庆祝位置。还接收从图像序列选择高尔夫球14作为所选对象的用户输入(框106)。根据图像序列10A至10F确定高尔夫球14的移动轨迹(框108)。

参照图像10F(在图1F中),未示出高尔夫球14,因为它已处于洞16中。因此,为了选择高尔夫球,用户改变至多个图像中的另一个图像,例如图像10B(在图1B和图4A中示出)。用户通过在电子显示器上执行适当的触摸手势(例如,双击、敲击并保持等)来选择高尔夫球。然后,将所选对象显示在基础图像上,如图4B中的图像30A所示,其中,处于庆祝位置的高尔夫球手12连同高尔夫球14一起被示出。然后,显示高尔夫球14的移动轨迹32的表示,以帮助用户沿着该轨迹选择高尔夫球14的期望位置。

用户沿着轨迹32将高尔夫球从初始位置拖曳至新位置,如图4C、图4D和图4E所示。随着用户拖曳高尔夫球14,显示高尔夫球的重新定位的版本(框110)。在到达对象的期望位置时(参见图4E中的图像30D),用户可将手指从触摸屏松开。

如图4E所示,高尔夫球14的新位置将高尔夫球14重新定位到接近洞16的位置。计算装置实现的方法100通过组合基础图像与重新定位的高尔夫球来创建新的图像(框112)。新的图像30E示出于图4F中。如图4F所示,新的图像示出接近洞16的高尔夫球14,同时高尔夫球手12处于庆祝位置。在此示例中,新图像30E组合图像10F和10E的多个方面。

如上所述,在一个或更多个实施方式中,在所选对象处于轨迹上的给定点处并且接收到拖曳对象的用户输入的同时,显示所选对象的整个轨迹32的表示。该表示在图4B至图4E的示例中为虚线。这种表示对于用户想象轨迹而言会是有用的,因为它们提供所选对象的期望位置。在一个或更多个实施方式中,允许用户略微偏离轨迹,但是如果新位置偏离移动轨迹超过预定义的偏离阈值(例如,一定数量的像素),则拒绝所选对象的新位置。如果拒绝,则可给予用户另一机会来沿着移动轨迹32为所选对象选择位置。实现偏离阈值的一个原因在于用户可能期望在一定程度上偏离移动轨迹,偏离阈值在一定程度上允许这种偏离,但是防止将所选对象完全移离所确定的轨迹32,因为这样的移动可造成光影方面的问题并且会产生图像序列中描绘的场景的不真实的渲染。

在一些实施方式中,偏离阈值是静态预定值。在一些实施方式中,基于移动轨迹动态地确定偏离阈值(例如,根据移动轨迹的长度允许或多或少的偏离)。在一些实施方式中,基于所描绘的场景动态地确定偏离阈值。在这些实施方式中,对于较匀质的背景,可允许较大偏离,因为较容易填充可能由所选对象的重新定位导致的基础图像中的“洞”,对于较不匀质的背景,允许较小偏离,因为逼真地填充这些“洞”较困难。匀质背景的示例可包括均匀的草地。

在一些实施方式中,重新定位的对象不仅包括所选对象的不同位置,而且包括不同取向。例如,如果移动对象在其沿着移动轨迹32移动期间旋转,则可能可取的是重新定位的对象也呈现该旋转的取向。例如,考虑当投掷非圆形的对象时,这种对象在落地之前将很有可能旋转。在诸如这样的示例中,所选对象的修改版本还可包括所选对象的不同取向。在一些实施方式中,用户可在沿着移动轨迹32拖曳所选对象时冻结所选对象的旋转。在一些实施方式中,对象将随着其沿着移动轨迹32被拖曳而旋转。

因此,在一个或更多个实施方式中,对所选对象重新定位包括确定所选对象的新位置、所选对象的新取向、或者这二者。另外,在一个或更多个实施方式中,在沿着所确定的移动轨迹拖曳所选对象的同时(例如,随着对象越来越近或者越来越远)所选对象的大小可变化。在一些实施方式中,将对象重新定位包括重新定位所选对象的阴影,使得处于新位置的对象的阴影显示在新位置附近,而非留在初始位置附近。在一个或更多个实施方式中,除了对阴影重新定位以外,执行其它阴影调节。一些示例中的附加阴影调节包括阴影比例、亮度、形状、角度和/或颜色的改变的任何组合。这些阴影调节可基于若干因素来执行,诸如所选对象的新位置、在重新定位至新位置时所选对象的大小和/或所选对象的新位置附近的其它东西的阴影。

在还对所选对象的阴影重新定位的一些实施方式中,可利用例如立体相机3D地记录图像序列,并且利用来自3D图像序列的3D数据分析阴影的移动。例如,可分析构成给定立体图像的各个分量图像以确定阴影与所选对象沿其移动轨迹一起移动的程度。

在一些实施方式中,所选对象在沿着移动轨迹32的不同位置处的多个副本可被包括在最终的新图像中。例如,图2的新图像20可进一步修改以在高尔夫球14沿着移动轨迹32在不同位置处增加额外的副本。这可通过重复方法100来实现,使得方法100的前一迭代中的框112的“新图像”充当方法100的后续迭代中的基础图像。方法100可被重复期望次数,以使得期望数量的所选对象被包括在最终的新图像中。

在这些实施方式中,所选对象可在最终图像中被复制(可选地,还可被缩放)。例如,考虑这样的视频,即,滑雪者进行滑降跳台滑雪的翻转,直至滑雪者到达着陆位置。利用上述技术,滑雪者在沿其移动轨迹的各种位置处的多个副本可被包括在最终图像中。这可被执行以得到类似于多次曝光图像那样的图像(例如,从单个相机位置记录的滑雪者在沿着运动轨迹的各种位置处的多次曝光)。

如图4B至图4E所示,在沿着移动轨迹32拖曳移动所选对象的同时,可显示基础图像的方面。为此,识别序列中的任何图像中未被所选对象占据的图像区域,并且随着所选对象沿着移动轨迹被拖曳,显示基础图像的那些识别的图像区域。在图4B至图4E的示例中,所选对象为非常小的高尔夫球14,因此所识别的未被所选对象占据的图像区域包括图像30A至30D的大部分。

在上述示例中,所选对象不在基础图像中。然而,如果所选对象在基础图像中(例如,如果图像10F中显示高尔夫球14),则组合基础图像与所选对象的修改版本包括当所选对象被重新定位至新位置时确定基础图像中不再被占据的像素(即,基础图像中的“洞”)。然后,基于所确定的像素周围的图像区域(例如,利用最近邻点、克隆和/或内容感知填充)来填充所确定的基础图像的像素。另选地或附加地,可基于来自所述序列的除基础图像以外的一个或更多个图像来填充所确定的像素(例如,通过复制来自序列中的其它图像的像素)。

在一些实施方式中,为了方便将所选对象沿其移动轨迹拖曳的用户输入,执行插值。在这些实施方式中,如果所选对象在图像序列的第一图像中的第一位置与在图像序列的连续第二图像中的第二位置之间的移动超过差别阈值,则可触发插值的执行。如果这发生,则执行插值以确定所选对象在沿着移动轨迹的第一位置与第二位置之间的附加位置;并且在第一位置与第二位置之间沿着所确定的移动轨迹拖曳所选对象的同时,所选对象被显示在附加位置处。如果对象快速地移动和/或如果图像序列未被足够快速地记录以捕获运动中的所选对象的期望数量的图像,则这可对所选对象的移动提供更大控制。

使用图1D和图1E作为示例,高尔夫球14在这些图像之间移动可观的距离。执行插值可使得用户能够沿着移动轨迹32将高尔夫球设置在介于图1D至图1E所示的那些位置之间的一个或更多个位置处。因此,随着用户在基础图像上来回拖曳所选对象,与没有执行插值的情况相比,可向他们提供对象的更精细的控制。在一个或更多个实施方式中,如果图像序列是视频,则插值的执行涉及生成附加视频帧。在一个或更多个实施方式中,如果图像序列是静止照片序列,则插值的执行涉及生成附加静止照片。在其它实施方式中,执行插值不是生成整个帧和/或照片,而是仅生成沿着所选对象的运动轨迹32的图像区域。

在一个或更多个实施方式中,图像序列通过执行方法100的同一装置记录。在一些这样的实施方式中,基于用户对相机快门的驱动来执行记录。例如,这种用户驱动可包括用户按压实际的快门按钮,或者可包括用户选择触摸屏上的快门用户界面元素。在一个或更多个实施方式中,多个图像被记录为视频帧(例如,标清、高清或4K视频)。在其它实施方式中,它们被获得为一系列静止照片(例如,作为照片连拍)。在一个或更多个实施方式中,多个图像的记录在快门实际被驱动之前(例如,在相机智能电话应用被打开并且进行聚焦之后)开始,并且在快门被驱动之后完成。当然,将理解,这些是非限制性示例,执行方法100的计算装置可从不同的装置获取图像作为静止图像或视频帧(例如,膝上型计算装置可从数码相机或视频相机获得图像)。

再参照图3,选择图像的用户输入(框104)可对应于用户穿过多个图像向前和/或向后拖曳,直至选择了基础图像。例如,这种用户输入可包括光标移动或者在基于触摸的输入装置(例如,触摸屏或触摸板)上检测到的手指运动。从图像序列选择对象的用户输入(框106)可类似地包括在基于触摸的输入装置上检测到的手指触摸。例如,这可包括在触摸屏或触摸板上检测到的手指双击或敲击并保持(参见例如图5A,表示提供这种选择的手28的轮廓)。另选地,框106的用户输入可包括来自光标(例如,通过手写笔、鼠标、触摸板等控制)的类似输入。

执行方法100的计算装置确定所选对象的边界以便确定移动轨迹。例如,这可利用边缘检测来执行。在图4A的示例中,这包括确定高尔夫球14的边界。

可选地,可执行附加调节。这可包括在新图像中再定位附加对象(例如,如果多个图像具有多个图像中的移动轨迹)。在一个示例中,附加调节包括执行基于相位的视频处理算法,如图5所示。

图5示出示例方法200,该方法200可与方法100结合执行以执行附加调节,并且涉及执行基于相位的视频运动处理算法。接收从图像序列选择附加对象的用户输入(框202)。执行基于相位的视频运动处理算法以确定附加对象的夸大移动(框204)。在电子显示器上,显示所选附加对象的夸大移动(框206)。基于夸大移动的显示,接收包括附加对象的所选描绘的附加用户输入(框208),并且将附加对象的所选描绘包括在新的图像中(方框210)。

现在将结合图6A至图6D讨论方法200。下面的讨论假设所选择的附加对象是旗杆18与旗19的组合(统称为旗组件40)。在图1A至图1F所示的描绘的场景中,旗杆18的第一端42被固定在洞16中,旗杆18的相对的第二端44被固定到旗19。贯穿所描绘的场景,旗19被稍稍地吹动,但是不足以引起旗杆18的任何可察觉的挠曲。然而,旗杆18可能仍呈现出一定程度的挠曲和/或振动。基于相位的视频运动处理算法的执行可检测并且逼真地夸大诸如旗杆18的振动的细微移动。

对于框202的对象选择和/或对于框106的对象选择,接收对象选择的计算装置可执行边缘检测以确定所选择的对象的范围。如果对象看起来包括多个元件(例如,旗组件40的旗杆18和旗19),则计算装置可要求确认用户意在选择多个元件中的每一个。如果未接收到确认,则可基于其选择向用户建议元件的其它组合(或单个元件)。

根据方法200,执行基于相位的视频运动处理算法(例如,如http://people.csail.mit.edu/nwadhwa/phase-video中所讨论的)以确定附加对象(在这种情况下,为旗组件40)的夸大移动(框204)。由于本领域普通技术人员将理解如何执行基于相位的视频运动处理算法以获得对象的夸大移动,所以本文中不详细讨论该算法的执行。

在电子显示器上,显示所选附加对象的夸大移动(框206)。图6B至图6D中示出了一些示例夸大移动,其中,虚线轮廓表示旗杆组件40的未夸大位置。图6B至图6D示出旗组件40的越来越大的夸大移动,其中图6D示出描绘的最大夸大位置。基于夸大移动的显示,接收包括附加对象的所选描绘的用户输入(框208)。将附加对象的所选描绘包括在新图像中(框210)。假设所选描绘是图6D的描绘,图7示出修改后的新图像20'(图2的图像20,但是被修改为包括旗组件40的所选描绘)。

在图6A至图6D的示例中,附加的选择对象(旗组件40)存在于基础图像中,但是在修改的新图像20'中被更改,这可在图像中形成“洞”,因为在显示附加的选择对象的期望描绘时,可能存在不再被占据的像素。为了解决这一问题,确定这样的像素,并且基于所确定的像素周围的图像区域、基于多个图像中的被选择附加对象的图像以外的一个或更多个图像、或者基于这二者来填充这些像素。如上所述,例如,填充时可使用的一些技术可包括最近邻点、克隆和/或内容感知填充。另选地或附加地,可简单地从多个图像中的其它图像复制像素。

图8示出工作为实现本所讨论的技术的示例计算装置300。例如,该计算装置可以是智能电话、个人数字助理(PDA)或者平板计算装置。当然,也可使用其它类型的计算装置,例如膝上型计算机、台式计算机等。在一些实施方式中,计算装置300是数码相机、视频相机或者一些其它的成像装置。

计算装置300包括处理器302和电子显示器304。处理器302包括一个或更多个处理器电路(包括例如一个或更多个微处理器、微控制器等),并且还配置有适当的软件和/或固件以执行以上讨论的一个或更多个技术。例如,电子显示器可被集成在计算装置300中或者在计算装置300外部。处理器302被配置为在电子显示器上显示来自描绘场景的图像序列的图像。处理器302还被配置为接收从该序列选择要用作基础图像的图像的用户输入,接收从图像序列选择对象的用户输入以及根据图像序列确定所选对象的移动轨迹。处理器302还被配置为基于将所选对象沿着所确定的移动轨迹从初始位置拖曳至新位置的用户输入来重新定位所选对象;并且通过组合基础图像与重新定位的对象来创建新图像。

计算装置300还包括输入装置306和存储器电路308。在一些实施方式中,输入装置306包括与电子显示器304结合工作以提供触摸屏接口的一个或更多个触摸传感器。当然,可使用其它基于触摸的输入装置,例如触摸板。在一个示例中,输入装置是从外部装置(例如,无线鼠标或有线鼠标)接收输入的通信接口。输入装置306可用于接收表示图像选择的用户输入和/或选择并沿其移动轨迹拖曳对象的用户输入。

存储器电路308是工作为存储图像序列(例如,图1A至图1F所示的图像)的非暂时性计算机可读介质。在一个或更多个实施方式中,非暂时性计算机可读介质可包括任何计算机可读介质,仅有的例外是暂时性传播信号。在一个或更多个实施方式中,存储器电路308包括基于电子、磁、光、电磁或半导体的存储系统中的一个或更多个。

可选地,计算装置300还可包括被配置为记录图像序列(例如,图1A至图1F的那些)的镜头310和成像传感器312。计算装置300还可包括无线收发器314以发送和/或接收图像。这些可选部件以虚线示出,以表示它们不是必需的。

计算装置300可被配置为实现上述技术的任何组合。因此,在一个或更多个实施方式中,处理器302被配置为如果所选对象的新位置偏离移动轨迹超过预定义的偏离阈值,则拒绝该新位置。在同一实施方式或另一实施方式中,处理器302被配置为在所选对象处于轨迹上的给定点处并且正在接收拖曳对象的用户输入的同时,显示所选对象的整个轨迹的表示。在同一实施方式或者另一实施方式中,如上所述,处理器302被配置为执行插值。

在一个或更多个实施方式中,计算装置300还工作为执行图5的方法200。在这样的实施方式中,处理器302被配置为接收从图像序列选择附加对象的用户输入;执行基于相位的视频运动处理算法以确定附加对象的夸大移动;并且在电子显示器304上显示附加对象的夸大移动。处理器302还被配置为基于夸大移动的显示,接收附加对象的所选描绘;并且将附加对象的所选描绘包括在新图像中。

可选地,计算机程序产品可被存储在包括计算机程序代码的存储器电路308中,计算机程序代码在计算装置300上执行时配置计算装置300以执行上述任何技术。

在现有技术中,照片操纵常常是留给摄影和图形设计专业人员的复杂任务。诸如ADOBE PHOTOSHOP的工具具有复杂的用户界面,其允许通常基于单个图像的自由形式的编辑。最近,诸如来自SCALADO的REWIND的软件使得用户能够将来自多个照片的面部表情组合成单个图像。然而,这些工具均没有从对象的序列确定所选对象的移动轨迹并且基于将所选对象沿着所确定的移动轨迹从初始位置拖曳至新位置的用户输入来重新定位所选对象。此外,这些工具不包括执行基于相位的视频运动处理算法以确定所选对象的夸大移动。这些现有技术的工具中也不包括上述插值技术。

通过沿确定的移动轨迹拖曳所选对象的直接视频操纵的使用,可提供非常适用于触摸屏计算装置(其接口元件可能受限)的有利用户接口。另外,上述偏离阈值的使用可用于避免看起来不切实际的照片操纵。

当然,在不脱离本公开的基本特性的情况下,本公开可按照本文具体阐述的那些方式以外的其它方式来实现。例如,还应该注意的是,在一些另选实现方式中,框中所指示的功能可不按图中所指示的顺序发生。例如,根据所涉及的功能,顺序示出的两个框实际上可基本上同时执行,或者框有时可按照相反的顺序执行。因此,本发明实施方式将被认为在所有方面均为例示性的,而非限制性的,旨在将落入所附权利要求书的含义和等同范围内的所有改变涵盖于其中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1