用于基于层的全景图调整和编辑的方法和装置的制作方法

文档序号:7681034阅读:122来源:国知局
专利名称:用于基于层的全景图调整和编辑的方法和装置的制作方法
技术领域
本发明涉及计算机系统,具体涉及计算机辅助的图像处理,并 且更为具体地涉及合并图像以形成全景图像。
背景技术
诸如照相机的图像捕获设备可以用来捕获某个视图或者场景的 一部分(例如,房子前面的一部分)的图像。其图像被照相机捕获 的视图或者场景的部分公知为照相机的视场。调整与照相机相关联 的镜头可以增加视场。然而,存在某个界限,超出该界限,则无法 在不影响所捕获图像的质量(或者"分辨率")的情况下增加照相 机的视场。此外,某些场景或者视图可能过大,以至于在任何设置 下也无法利用给定的照相机将其捕获为一个图像。因此,有时需要 捕获大于照相机的视场内所能捕获的视图的图像。在这些情况下, 可以拍摄该视图或者场景的片段的多个重叠图像,继而可以将图像 结合在一起,或者说"合并,,,以形成公知为全景图像的复合图像。
存在多种计算机程序和算法用于根据多个重叠的分量图像来自 动地组合单个全景图像。用于执行自动全景图组合的传统计算机程
序通常集中于使整个过程自动化的工具,但是其操作基于如下假设 最终输出(全景图像)是可接受的结果,并且不需要进一步的人工 或者手动修改。
尽管自动系统经常能很好地完成生成全景图像的任务,但是很 多情况以及有此需求的专业摄影师和艺术家可能需要对图像如何混 合在一起、其曝光和色彩均衡设置、图像如何重叠等进行精确控制。 特别是对于自动照相机或者设为自动模式的照相机而言,照相机的 参数或者设置可能在图像间有所不同,因此场景的两个重叠图像可能具有不同的曝光、色彩均衡、亮度、对比度、色调和饱和度、白
点和黑点等程度。而且,赝像(artifact)可能出现在一个图像中, 而没有出现在另一图像的重叠区域中。移动的对象也可能产生问题, 因为移动的对象可能并不位于两个重叠图像中的同一相对位置;例 如,移动的对象可能出现在两个重叠图像的两个不同位置。此外, 在自动生成的对准之后,场景的各方面可能没有恰当地排列,这会 生成未对准赝像。可以使用某些图像处理应用(诸如,Adobe Photoshop )来人工实现对自动全景图像生成过程的控制,以修正这 些问题或者其他问题中的至少 一些问题,但是这种控制通常需要很 多繁瑣的步骤来实现期望的结果。
此外,用于根据多个重叠图像来自动组合单个全景图像的传统 计算机程序通常生成全景图像作为单个图像元素,其中实际图像中 的像素被操纵或者修改以便实现期望的结果,这使得即使不是不可 能的,对最终全景图像的进一步修改也是困难的。

发明内容
描述了一种用于基于层的全景图像混合、调整和编辑的方法和 装置的各种实施方式。全景图像机制的实施方式可以提供根据一组 输入图像来自动生成全景图像。全景图像可以作为分量层的集合或 者堆叠来生成、组织和存在,这使得实施方式能够为用户提供用于 人工修改分量层从而手动优化全景图像(例如,使用现有的且熟悉 的工具)的机制。在一个实施方式中,该全景图像机制可以包括脚 本以及相关联的用户接口机制,其自动化全景图像的生成,并且可 以为用户提供对调整和编辑机制的访问,由此允许用户修饰自动生 成的全景图像。由此,实施方式可以支持根据多个分量图像来组合、 混合以及调整全景图像,同时仍然允许对得到的全景图像进行完全 的人工控制。
全景图像可以这样来形成拍摄场景的两个或者更多重叠照片 (或者图像),并将图像对准。可以通过在重叠区域上自动创建梯度混合(gradient-blend)的遮罩,来将图像的重叠区域或者区混合在 一起。这些混合的区域可以存储为层遮罩或者混合遮罩。用户可以 经由所述全景图像机制来修改混合遮罩,以改进得到的全景图像, 例如,露出下层图像中可见、但是被重叠图像遮挡的赝像。注意, 原始分量图像不能被修改,而是可以按照其原始图像内容来存储和 维护。用户可以根据需要或者期望来应用调整层,以修正分量图像 之间的曝光、色彩均衡、对比度或者其他差异。 一起形成全景图像 的分量(图像、混合遮罩以及调整层)可以作为分离的层而组织和 存储在全景图像文件中。
在一个实施方式中,支持图像处理应用的一个或多个内置特征 的脚本可以由全景图像机制使用,以实现和自动化在此描述的基于 层的全景图像对准、混合、调整和编辑过程。在一个实施方式中, 一个或多个脚本可以用来支持图像处理应用的一个或多个内置特 征,以根据一组输入图像来构造全景图像。然而,与用于生成全景 图像的传统机制不同,使用脚本的所述全景图像机制可以生成结果 全景图像作为多个重叠层的集合或者层堆叠,所述层可以包括但不 限于图像层、混合层以及调整层。层堆叠中的层继而可以结合使 用,以生成和显示混合的、调整的全景图像。层堆叠可以组织和存 储在全景图像文件中。稍后可以重新调取全景图像文件,以构建用 于显示或者打印的全景图像、在需要或者期望时查看或者修改一个 或多个分量层、添加或者删除调整层、或者操纵全景图像。注意, 分量图像中的像素没有进行修改;对像素值的修改是在根据多层的 堆叠或者层堆叠生成全景图像的过程中进行的。
脚本可以用来添加、删除和管理调整层,从而支持对一个或多 个分量图像的曝光、色彩均衡、亮度以及其他差异进行修正,以更 好地匹配全景场景的其他部分。此外,脚本可以用来支持对混合遮 罩的人工编辑,以支持对各分量图像的可见性的精确控制,从而允 许对移动的对象、误配准赝像以及其他可能的问题进行人工修正。


图1示出了按照一个实施方式的全景图像机制的操作和数据流。 图2示出了按照一个实施方式的、使用脚本来支持图像处理应 用所提供的一个或多个工具的全景图像机制的操作和数据流。
图3A到图3H图示出了按照一个方式的生成基于层的全景图像 的过程,该过程包括图像的对准、使用混合遮罩的混合、以及使用
调整层的调整。
图4示出了按照一个实施方式的层堆叠。
图5图示出了按照一个实施方式的混合遮罩。
图6A示出了按照一个实施方式的自动生成的示例性混合遮罩。
图6B示出了按照一个实施方式的示例性人工编辑的混合遮罩。
图7A到图7C示出了按照一个实施方式的、为了生成全景图像
而对实际图像集合的对准和混合。
图8A到图8D示出了按照一个实施方式的、为了生成全景图像 而对实际图像集合的对准、混合和调整。
图9示出了按照一个实施方式的示例性层托盘用户界面以及用 于添加或者移除调整层的调整层用户界面。
图IO是按照一个实施方式的用于基于层的全景图像混合、调整 和编辑的方法流程图。
图11示出了可以在其上实现实施方式的示例性计算机系统。
尽管在此通过多个实施方式以及示意性附图的方式描述了本发 明,但是本领的技术人员将会理解,本发明并不限于所描述的实施 方式和附图。应当理解,附图以及对其详细描述并非意在将本发明 限于所公开的特定形式,相反,意图是涵盖处于所附权利要求书限 定的本发明精神和范围之内的所有修改、等效项或者备选方案。这 里使用的标题是为了组织的目的,并非用来限制说明书或者权利要 求书的范围。贯穿本申请,词语"可以"是在许可的意义上(也即, 表示具有某种可能)而非强制实施的意义上(也即,必须)使用。 类似地,词语"包括"表示包括但不限于。
具体实施例方式
描述了 一种用于基于层的全景图像混合、调整和编辑的方法和
装置的各种实施方式。在此描述的基于层的全景图像对准、混合、 调整和编辑方法的实施方式可以通过一种全景图像机制来实现。该
全景图像机制的实施方式可以提供根据 一组输入图像而自动生成全 景图像。全景图像可以作为层堆叠中的分量或者层的堆叠而生成和 维护。分量可以包括原始图像、混合遮罩以及可由用户添加的调整 层,其可以作为层来组织和存在,从而使得到的全景图像的个体分 量可以按照需要或者期望来人工操纵。
全景图像可以作为分量层的集合或者堆叠来组织或者存在,其 使得实施方式能够为用户提供用于人工修改分量层已手动优化全景 图像(例如,使用已有的图像编辑工具)的机制。在一个实施方式 中,全景图像机制可以包括脚本以及相关联的用户接口机制,其可 以用来为用户提供对各种调整和编辑工具的访问,并由此支持用户 对自动生成的全景图像进行修饰。由此,实施方式可以支持根据多 个分量图像对全景图像进行组合、混合和调整,同时仍然允许对得 到的全景图像进行完全的人工控制。
全景图像可以如下来形成通过拍摄场景的两个或者更多重叠 照片(或者图像),并将图像对准。可以通过在重叠区域上自动创 建梯度混合的遮罩,来将图像的重叠区域或者区混合在一起。在发 明人为John Peterson、于2005年6月25日提交的名为"Merging Images To Form A Panoramic Image"的美国专利6,411 ,745中以及发 明人为John Peterson、于2006年8月22日提交的名为"Merging Images To Form A Panoramic Image"的美国专利7,095,905中,描述 了用于合并图像以形成全景图像的示例性方法和系统,在此通过引 用并入这两个专利的全部内容。注意,在实施方式中可以使用用于 合并图像以形成全景图像的其他方法和系统。
在这里描述的全景图像机制的实施方式中,这些混合的区域可以作为层遮罩或者混合遮罩来存储。混合遮罩是用户可修改的,以 改进得到的全景图像,例如,露出在下层图像中可见、但是被重叠 图像阻挡的赝像。注意,原始分量图形可以不被修改,而是作为替 代地可以按照其原始图像内容来存储和维护。用户可以按照需要或 者期望来应用调整层,以修正分量图像之间的曝光、色彩均衡、对 比度或者其他差异。 一起形成全景图形的分量(图像、混合遮罩以 及调整层)可以作为独立的层一起组织和存储在全景图像文件中。
层可以定义为全景图像的分量。层可以堆叠在彼此之上,类似 对于堆叠纸张的方式,以形成复合全景图像。调整层可以定义为特 殊类型的层,其修改图像分量或者层的属性,例如亮度、对比度、 色彩均衡、白点和黑点等,而不修改图像分量中的实际图像数据。 层遮罩或者混合遮罩可以定义为单色图像,其确定图像分量或者层 中相应像素的可见性。例如,如果遮罩像素的区域是白色的,则相
应的图像层像素可见;如果遮罩像素的区域是黑色,则相应的图像 层像素是透明的。在对所遮罩的图像层之下的图像层中的相应像素 执行混合操作时,可以使用遮罩像素的中间结果。
在一个实施方式中,支持图像处理应用的一个或多个内置特征 的脚本可以由全景图像机制使用,以实现和自动化在此描述的基于 层的全景图像对准、混合、调整和编辑过程。在一个实施方式中, 一个或多个脚本可以用来支持图像处理应用的一个或多个内置特 征,以根据一组输入图像来构造全景图像。然而,与用于生成全景 图像的传统机制不同,使用脚本的所述全景图像机制可以生成结果 全景图形作为多个重叠层的集合或者层堆叠,所述层可以包括但不 限于图像层、混合层以及调整层。层堆叠中的层继而可以结合使 用,以生成和显示混合的、调整的全景图像。层堆叠可以组织和存 储在全景图像文件中。稍后可以重新调取全景图像文件,以构建用 于显示或者打印的全景图像,从而在需要或者期望时查看或者修改 一个或多个分量层、添加或者删除调整层、或者以其他方式操纵全 景图像。注意,分量图像中的像素没有进行修改;对像素值的修改是在根据多层的堆叠或者层堆叠生成全景图像的过程中进行的。
脚本还可以用来添加、删除和管理调整层,从而支持对一个或 多个分量图像的曝光、色彩均衡、亮度以及其他差异进行修正,以 更好地匹配全景场景的其他部分。可以人工修饰混合遮罩或混合层 遮罩的集合,以支持对各分量图像的可见性的精确控制,从而允许 对移动的对象、未配准赝像以及其他可能的问题进行人工修正。
相反,用于生成全景图像的传统图像处理机制(不论是自动的、 人工的、或其组合)生成这样的作为结果的全景图像,该全景图像 是单个图像,并且不包括多个重叠的图像层、混合层和调整层。此 外,用于生成全景图像的传统图像处理机制直接修改全景图像中的 像素,以应用混合遮罩和调整。 一旦生成了全景图像,便无法容易 地对其进行修改,并且根本无法在个体图像的级别对其直接进行修 改。为了进行大范围的调整或者修改混合,用户通常将不得不从原 始图像重新开始。此外,至少某些用于生成全景图像的传统图像处 理机制不是自动的或者不是全自动的,并且因此可能需要大量的人 工操纵,包括使用人工创建的层遮罩对复合图像进行人工混合,以 及用来为全景图像添加或者移除调整的多种操作,并且由此需要对 图像处理应用的能力和机制的大量知识、以及可观的时间和努力来 执行有效的全景图像构建。
注意,尽管将实施方式描述为使用支持图像处理应用特征的脚 本来自动化和执行在此描述的全景图像生成方法的各种任务,但是 某些实施方式可以实现为图像处理应用的软件组件或者模块,实现 为图像处理应用的插件模块,或者实现为脚本与图像处理应用的软 件组件/模块的组合。
图1示出了按照一个实施方式的全景图像机制的操作和数据流。
可以捕获场景的两个或者更多数字图像102。图像102可以是不同 的,但是可以重叠捕获场景的不同片段。全景图像机制200可以首 先执行全景图像生成202,其可以包括但不限于图像对准204和混合 遮罩206,从而根据两个或者更多输入图像102而自动地生成经过对准的和混合遮罩的全景图像。全景图像生成202的输出可以包括但 不限于图像对准信息以及层堆叠120A (包括原始输入图像102作 为分量),以及一个或多个混合遮罩作为层。混合遮罩可以确定图 像分量或者层中相应像素的可见性。例如,如果遮罩像素的区域是 白色,则相应的图像层像素可见;如果遮罩像素的区域是黑色,则 相应的图像层像素是透明的。在对已遮罩的图像层之下的图像层中 的相应像素执行混合操作时,可以使用遮罩像素的中间值。在一个 实施方式中,层堆叠120A以及可能的其他信息(例如,图像对准信 息)可以存储到全景图像文件122中,但这不是必须的。
在全景图像生成202之后,用户可以按照需要或者期望在层堆 叠120A的个体层上对全景图像执行人工调整和编辑208。可以执行 调整,以修改图像分量或者层的属性,例如亮度、对比度、色彩均 衡等。调整可以作为调整层来生成,并插入到层堆叠120A中,以生 成经修改的层堆叠120B。修改层的使用允许对个体图像分量进行调 整,而不修改图像分量中的实际图像数据。例如可以对混合遮罩执 行编辑。例如,混合遮罩可以人工编辑,以支持对各种分量图像的 可见性和混合的精确控制,从而允许对移动的对象、误配准赝像和 其他可能问题的人工修正。
在一个实施方式中,经修改的层堆叠120B以及可能的其他信息 (例如,图像对准信息)可以存储到全景图像文件122,但这不是必 须的。稍后可以从全景图像文件122重新调取层堆叠120,以显示或 者打印全景图像106、执行附加的调整或者编辑208、撤消先前的调 整或者编辑208、或者用于其他目的。
图2示出了按照一个实施方式的、使用脚本来支持图像处理应 用所提供的 一个或多个工具的全景图像机制的操作和数据流。图像 处理应用320可以提供用于执行全景图像生成、调整以及编辑操作 的各种任务或部分的一个或多个工具或者机制。实施方式可以提供 一个或多个用户接口机制,其允许用户调用全景图像机制300提供 的各种脚本。脚本和用户接口机制可以自动化根据一组输入图像102来生成全景图像106的任务,包括自动地对准图像以及自动地生成 混合遮罩作为开始点,其至少部分地使用图像处理应用320所提供 的工具或者机制,这些工具或者机制由全景图像机制300提供的脚 本来调用。继而可以使用图像处理应用320所提供的图像编辑工具 来访问和人工修饰混合遮罩,以用于手动优化的结果。脚本和用户 接口机制还可以支持只通过几下点击便可至少部分地使用图像处理 应用320所提供的工具或者机制来添加或者移除调整层。
在一个实施方式中,全景图像生成脚本302可以在全景图像机 制300中使用,以调用图像处理应用320的对准图像机制或者工具 324,从而自动地对准分量图〗象102以形成全景图^f象。在一个实施方 式中,图像处理应用320可以包括全景图像生成接口 322,用于调用 全景图像生成脚本302。在一个实施方式中,通过分析重叠图像的几 何,可以定义矩形或者梯形,并且可以使用梯度混合来利用重叠图 像以及图像重叠的图像堆叠中的图像之下的一个或多个其他图像来 形成混合遮罩。当此过程完成时,可以使用混合遮罩将结果图像平 滑地混合在一起。生成的混合遮罩可以由全景图像机制300来维护, 以作为随同分量图像102的层堆叠120A中的层。在一个实施方式中, 由此可以人工修饰混合遮罩,例如以适应在拍才聂照片时移动的物体, 或者消除由误配准造成的赝像。在一个实施方式中,可以使用图像 处理应用320提供的工具或者机制来修饰混合遮罩,例如以显露由 混合遮罩隐藏或者遮罩掉的图像的 一 部分,或者隐藏由混合遮罩显 露的图像的一部分。
在一个实施方式中,脚本308可以配置用于自动化以下任务 为分量图像102添加或者移除调整层,以便从用户的方向修正或者 调整个体图像102中的亮度、曝光、色彩均衡、对比度、色调和饱 和度等,从而修正分量图像之间的差异。在一个实施方式中,图像 处理应用320可以包括全景图像调整和编辑接口 326,以便调用调整 和编辑脚本308。在一个实施方式中,脚本308可以配置用于随同相 关联的图像102以及混合遮罩而在群组文件夹中放置或者显示调整层放(如果需要则创建该文件夹)。脚本308还可以配置用于如 果稍后发现不需要调整层,则允许移除调整层。
图像处理应用320可以包括或者提供全景图像文件管理330组 件。全景图像文件管理330组件可以配置用于管理全景图像文件 120,以及提供例如用于创建新的全景图像文件120、用于打开已有 文件120、用于将层存储到文件120中等的工具或者机制。全景图像 文件管理330组件还可以提供用于根据存储在全景图像文120中的 层来绘制全景图像106、用于显示和打印全景图像106等的工具或者 机制。
图3A到图3H图示出了按照一个实施方式的生成基于层的全景 图像的过程,包括图像的对准、使用混合遮罩的混合以及使用调整 层的调整。图3A到图3H中所示的过程可以由图1和图2中描述的 全景图像机制的实施方式来实现。注意,为了示范目的而使用了三 个图像;使用这里所述的全景图像机制的实施方式,可以捕获和处 理两个或更多图像,以生成全景图像。
图3A示出了摄影家可能感兴趣拍摄的示例性场景100。然而, 场景可能过大以至于无法在一个图像中捕获。因此,如图3B中所示, 场景IOO被捕获为三个重叠的图像图像102A、 102B和102C。可 以使用数码相机或者使用具有底片的标准照相机来捕获图像。如果 使用具有底片的标准照相机进行捕获,则从其生成的底片或者印刷 品例如可以使用底片扫描仪、标准扫描仪或者其他数字化技术来进 行数字化,以生成数字图像。图3C示出了三个不同的数字图像102A、 102B和102C。
图3D示出了在对准和混合遮罩过程期间的这三个图像102A、 102B和102C。图像102C将在最下面,图像102B与图像102C重叠, 并且图像102A与图像102B和102C二者重叠。注意,图像102A和 102B的空白区108表示将于下层图像102混合的图像区。
图3E示出了图像102B与图像102C重叠并对准从而生成部分的 全景图像106。区108B表示两个图像的重叠部分,并且是两个图像的混合区。再次注意,在全景图像106中,图像102B与图像102C 重叠。包括区108B的矩形(混合遮罩)IIOB表示混合遮罩,其可 以生成以用于混合图像。混合遮罩110B中的每个元素或者条目表示 某个值,其确定或者指定与该混合遮罩相关联的图像(例如,对于 混合遮罩110B而言,是图像102B和102C)中相应像素的可见性。 注意,尽管在图3E中将混合遮罩110B示为包含整个图像的矩形, 实际的混合遮罩110B可以是仅包含至少包括混合区108B的图像部 分的较小矩形或者梯形。换言之,混合遮罩110可以作为如下数据 结构来创建和维护,其包含整个图像,并且由此包括针对相应图像 中每个像素的一个条目或者遮罩元素;或者备选地,其可以作为專交
小的数据结构来创建和维护,其仅包含图像的某部分。为了说明示 例性混合遮罩,参见图5以及图6A和图6B。
图3F示出了图像102C与图像102B和102C重叠并对准,以生 成完整的全景图像106。区108A1和108A2表示图像的重叠部分, 并且是图像的混合区。再次注意,图像102A与图像102B和102C 重叠。包含区域108A1和108A2的矩形(混合遮罩)IIOA表示混 合遮罩,其可以生成以混合图像。混合遮罩110A中的每个元素或者 条目表示某个值,其确定或者规定与该混合遮罩相关联的图像中相 应像素的可见性。注意,尽管在图3F中将混合遮罩110A示为包含 整个图像的矩形,但是实际的混合遮罩11 OA可以是仅包含至少包括 混合区108A1和108A2的整个图像一部分的较小矩形或者梯形,或 者备选地,可以生成两个独立的混合遮罩110,每个包含混合区108之一。
图3G示出了结果全景图像106,其中三个输入图像102A、 102B 和102C经过了对准和遮罩。注意,在一个实施方式中,全景图像机 制可以提供一个或多个才几制,从而可以人工编辑在图3A到图3F中 描述的对准和遮罩过程期间自动生成的个体混合遮罩,以修正移动 的对象、误配准赝像等。
图3H示出了用户向全景图像添加调整层。在此示例中,已经针对图像102A添加了调整层112A。可以添加调整层112以^f更在相应 的图像层102中调整亮度、色彩均衡、对比度、色度、饱和度、曲 线等。注意,图3H示出了三个层图像102A、混合遮罩110A以 及调整层112A。注意,可以为图像102A添加附加的调整层112, 并且可以为其他图^f象102B和102C添加调整层112。全景图〗象可以 作为该全景图像中所有层的堆叠而存储和维护,所述层包括原始图 像102、混合遮罩110以及调整层112,如图4所示。
图4示出了按照一个实施方式的层堆叠。在一个实施方式中, 输入到全景图像机制的实施方式(如图1、图2和图3A到图3H所 描述的)的层、或者由该全景图像机制的实施方式所生成的层可以 作为层堆叠120存储在全景图像文件130中。在一个实施方式中, 当显示给用户以进行全景图像操纵时,按照相关联的图像102在概 念上将层组织到文件夹或者类似结构中。
层堆叠120可以包括两个或者更多图像层102、 一个或多个混合 遮罩层IIO、以及(可选地) 一个或多个调整层112。访问全景图像 文件130的图4象处理应用可以具有一个或多个才几制,其允许应用将 层绘制为全景图像106,以便显示、打印等。该示例示出了来自图 3A到图3H的图像102A、 102B和102C。混合遮罩110B是用于将 图像102C与重叠的图像102B进行混合的混合遮罩,而混合遮罩 UOA是用于将图像102B和102C与重叠的图像102A进行混合的混 合遮罩。在此示例中,每个图像102还可具有相关联的调整层112。 图像102A具有调整层112A,图像102B具有调整层U2B,而图像 102C具有相关联的层112C。注意,每个图像102可以具有0个、1 个或者多个相关联的调整层112。
图5图示出了按照一个实施方式的混合遮罩。在一个实施方式 中,可以按照类似于图5中所示的方式将混合遮罩显示给用户,以 便进行编辑。混合遮罩覆盖重叠图像与该重叠图像之下的一个或多 个图像的重叠区。如图5所示,混合遮罩可以是单色图像,其确定 图像分量或者层中相应像素的可见性。例如,如果混合遮罩元素或者像素的区域是白色的,则相应的图像层像素可以是可见的;如果 混合遮罩元素或者像素的区域是黑色的,则相应的图像层像素可以 是透明的,并且该遮罩图像层之下的图像层中的像素由此可以是可 见的。在对遮罩图像层之下的图像层中的相应像素执行混合操作时, 可以使用混合遮罩元素或者像素的中间值。注意,可以按照相反的 方式来执行混合遮罩值的处理,由此,如果混合遮罩元素或者像素 的区域是黑色的,则相应的图像层像素可以是可见的,以此类推。
图6A示出了按照一个实施方式的自动生成的示例性混合遮罩。 在此图中,混合遮罩元素中的值以十六进制格式显示,例如,FF表 示十进制值255,并对应于"黑,,,假设将8位值用于混合遮罩中的 元素。注意,混合遮罩的右下部分设为FF,并由此为"黑,,,因此 相应的图像层像素可以是透明的,而遮罩图像层之下的图像层中的 像素由此可以是可见的。混合遮罩的左上部分中的元素设为00,并 因此为"白,,,因此相应的图像层像素可以是可见的。此外注意, 在对遮罩图像层之下的图像层中的相应像素执行混合操作时,可以 使用沿着OO像素和FF像素的边界的混合遮罩元素或者像素的中间 值。
图6B示出了按照一个实施方式的示例性人工编辑的混合遮罩。 在一个实施方式中,全景图像机制可以提供一个或多个用户接口 , 由此用户可以编辑混合遮罩(诸如,图6A中所示的混合遮罩),以 修正移动的对象、误配准赝像等。例如,重叠的图像可以使得在下 层图像中可见的人手变模糊,或者对象的某部分可能显示在了重叠 图像中,而需要通过"露出"下层图像的某部分而将其移除。在图 6B中,用户已经将黑色(FF)像素区扩展到了白色(00)像素区从 而修改了混合遮罩,以便露出下层图像的某部分。注意,可以执行 类似的操作以扩展白色(OO)像素,从而通过使重叠图像的相应部 分可见而遮罩下层图像的部分。
图7A到图7C示出了按照一个实施方式为了生成全景图像而对 实际图像集的对准和混合。图7A示出了用于全景图像的自动生成的混合。注意,图像B重叠在图像C上,而图像A重叠在图像B和图 像C上。图7B示出了两个重叠的图像(B和C),以及自动生成的 混合遮罩110。图7C示出了完成的(经过对准和混合的)全景图像。
图8A到图8D示出了按照一个实施方式为了生成全景图像而对 实际图像集的对准、混合和调整。图8A示出了没有混合的两个重叠 的、对准的图像层。图8B示出了添加了混合遮罩的两个重叠的、对 准的图像层。图8C示出了添加了混合遮罩以及颜色和亮度调整层的 两个重叠的、对准的图像层。图8D示出了结果全景图像以及可以显 示混合遮罩和调整层的示例性层托盘用户接口 ,其包括各种用户接 口元素,用户可以借此选择层、操纵各层、添加调整层、删除选定 的调整层,等等。注意,在一个实施方式中,如前所述,用户经由 用户接口发起的功能可以由一个或多个脚本来实现,所述脚本支持 图像处理应用所提供的机制。
图9示出了按照一个实施方式的示例性层托盘用户接口 ,以及 用于添加或者移除调整层的调整层用户接口。注意,在一个实施方 式中,如前所述,用户经由用户接口发起的功能可以由一个或多个 脚本来实现,所述脚本支持图像处理应用所提供的机制。
图IO是按照一个实施方式的用于基于层的全景图像混合、调整 和编辑的方法流程图。注意,在一个实施方式中,图IO的元素可以
经由一个或多个脚本来实现,所述脚本支持图像处理应用的功能来 执行特定的任务,诸如图像对准。
如500所示,捕获两个或更多分量图像,每个分量图像表示全 景场景的一部分。图像可以以数字格式捕获,或者可以被捕获并转 换为数字格式。图像可以由用户提供,作为对全景图像机制的输入。
如502所示,全景图像机制可以自动执行对输入图像的对准。 如504所示,全景图形机制可以在图像的重叠区域上自动地生成混 合遮罩。如506所述,图像以及混合遮罩可以存储为层堆叠中的层。 注意,图像的对准信息也可以存储。此外注意,原始分量图形可以 不做修改,而是可以按照其原始图像内容来存储和维护。如508所示,如果需要或者期望,全景图像机制可以为用户提 供人工修改混合遮罩的机制。用户可能期望修改混合遮罩,例如以 露出在下层图像中可见、但是被重叠图像阻挡的赝像。如510所示, 如果用户选择修改混合遮罩,则全景图像机制可以图形化地或者通 过文本将混合遮罩呈现给用户,以便进行人工修改或者编辑。
如512所示,全景图像机制可以为用户提供按照需要或者期望 向全景图像的分量图像添加调整层的机制。调整层可以由用户按照 需要或者期望来应用,以修正亮度、曝光、色彩均衡、对比度、色 调和饱和度等,或者分量图像之间的其他差异。如果用户选择向全 景图像的分量图像添加一个或多个调整层,则全景图像机制可以向 用户呈现用户接口 ,诸如图8D和图9所示的示例性用户接口 ,其允 许用户添加适当的调整层,如514所示。可以向层堆叠添加调整层。 最终全景图像可以作为层堆叠维护在全景图像文件中。
注意,图IO在流程图中示出了在添加调整层之前编辑混合遮罩。 然而,这些操作可以按照任何顺序来执行。用户可以按照需要或者 期望来添加调整层并继而修改混合遮罩,或者可以添加调整层、修 改混合遮罩、添加其他调整层,等等。
此外注意,由于全景图像是作为层堆叠来进行维护,因此用户 可以经由全景图像机制来访问"最终,,全景图像,以进一步修改混 合遮罩和/或修改、添加或者删除调整层。
示例性系统
在此描述的全景图像机制的各种实施方式可以在能够与各种其 他设备交互的一个或多个计算机系统上执行。图ll示出了一个这样 的计算机系统。在所示的实施方式中,计算机系统700包括一个或 多个处理器710,其通过输入/输出(I/O)接口 730耦合至系统存储 器720。计算机系统700还包括耦合至1/0接口 730的网络接口 740, 以及一个或多个输入/输出设备750,诸如光标控制i殳备760、键盘 770、音频设备790以及显示器780。在某些实施方式中,可以想到,可以使用计算机系统700的单个实例来实现这些实施方式,而在其 他实施方式中,多个这样的系统或者构成计算机系统700的多个节 点可以配置用于主控实施方式的不同部分或者实例。例如,在一个 实施方式中,某些元件可以通过计算机系统700的一个或多个节点 来实现,这些节点不同于实现其他元件的那些节点。
在各种实施方式中,计算机系统700可以是包括一个处理器710 的单处理器系统,或者包括多个处理器710 (例如,2个、4个、8 个或者其他适当数目)的多处理器系统。处理器710可以是能够执 行指令的任何适当的处理器。例如,在各种实施方式中,处理器710 可以是通用处理器或者嵌入式处理器,其实现多种指令集架构(ISA) 中的任何一种,诸如x86、 PowerPC, SPARC或者MIPS ISA或者任 何其他适当的ISA。在多处理器系统中,每个处理器710可以共同地 (但不是必须)实现相同的ISA。
系统存储器720可以配置用于存储处理器710可访问的程序指 令和/或数据。在各种实施方式中,系统存储器720可以使用任何适 当的存储器技术来实现,例如静态随机访问存储器(SRAM)、同步 动态RAM (SDRAM)、非易失性/闪存类存储器或者任何其他类型 的存储器。在所示的实施方式中,实现期望功能(诸如上文针对全 景图像机制而描述的那些功能)的程序指令和数据被示为分别作为 程序指令725和数据存储735而存储在系统存储器720中。在其他 实施方式中,可以基于与系统存储器720或者计算机系统700分离 的、不同类型的计算机可访问介质或者类似介质来接收、发送或者 存储程序指令和/或数据。 一般而言,计算机可访问介质可以包括存 储介质或者存储器介质,诸如磁性或光学介质,例如经由I/O接口 730耦合至计算机系统700的盘或CD/DVD-ROM。经由计算机可访 问介质存储的程序指令和数据可以通过传输介质或者信号来传输, 这些传输介质或者信号诸如电信号、电磁信号或者数字信号,其可 以经由诸如网络和/或无线链路的通信介质来传递,诸如可以经由网 络接口 740来实现。在一个实施方式中,1/0接口 730可以配置用于协调处理器710、 系统存储器720以及设备中的任何外围设备(包括网络接口 740或 者其他外围接口,诸如输入/输出设备750)之间的I/O业务。在某 些实施方式中,1/0接口 730可以执行任何所需的协议、定时或者其 他数据变换,以便将数据信号从一个部件(例如,系统存储器720 ) 转换为适于其他部件(例如,处理器710)使用的格式。在某些实施 方式中,1/0接口 730可以包括对通过各种类型的外围总线附接的设 备的支持,其中外围总线例如外围部件互连(PCI)总线标准或者通 用串行总线(USB)标准的变形。在某些实施方式中,1/0接口 730 的功能可以划分到两个或者更多分离的部件中,诸如北桥和南桥。 而且,在某些实施方式中,1/0接口 730的某些或者全部功能(诸如 与系统存储器720的接口 )可以直接并入处理器710。
网络接口 740可以配置用于允许在计算机系统700与附接至网 络的其他设备(诸如其他计算机系统)之间或者计算机系统700的 节点之间交换数据。在各种实施方式中,网络接口 740可以支持经 由有线的或者无线的通用数据网络(例如,任何适当类型的以太网)、 经由电信/电话网络(诸如,模拟语音网络或者数字光纤通信网络)、 经由存储区域网络(诸如,光纤信道SAN)、或者经由其他任何适 当类型的网络和/或协议的通信。
在某些实施方式中,输入/输出设备750可以包括一个或多个显 示终端、键盘、小键盘、触摸板、扫描设备、语音或者光学识别设 备或者适于由一个或多个计算机系统700输入或者接收数据的任何 其他设备。多个输入/输出设备750可以存在计算机系统700中,或 者可以在计算机系统700的各个节点上分布。在某些实施方式中, 相似的输入/输出设备可以与计算机系统700分离,并且可以通过有 线或者无线连接(诸如通过网络接口 740)与计算机系统700的一个 或多个节点交互。
如图11所示,存储器720可以包括程序指令725和数据存储725, 其中程序指令725配置用于实现在此描述的全景图像机制的实施方式,而数据存储725包括程序指令725可访问的各种数据。在一个 实施方式中,程序指令725可以包括如图l和图2中所示的全景图 像机制的软件元素。数据存储725可以包括可在某些实施方式中使 用的数据。在其他实施方式中,可以包括不同的软件元素和数据。 本领域技术人员将会理解,计算机系统700仅仅是示意性的, 其并非意在限制在此描述的全景图像机制的范围。特别地,计算机 系统和设备可以包括能够执行所示功能的硬件或者软件的任意组 合,包括计算机、网络设备、互联网工具、PDA、无线电话、寻呼 机等。计算机系统700还可以连接至未示出的其他设备,或者反之 可以作为单机系统操作。而且,在某些实施方式中,所示部件所提
供的功能可以结合到较少的部件中或者分布至'j附加的部件中。类似 地,在某些实施方式中,可以不提供某些所示组件的功能和/或其他 附加功能可以是可用的。
本领域技术人员还将理解,尽管各项被示为在使用时存储在存 储器中或者存储设备上,但是这些项或者其中的部分可以在存储器 与其他存储设备之间传送,以用于存储器管理和数据完整性的目的。 备选地,在其他实施方式中,某些或者全部软件部件可以在其他设 备上的存储器中执行,并经由计算机间的通信与所示的计算机系统 通信。某些或者全部系统部件或者数据结构还可以存储在(例如, 作为指令或者结构化数据)将由适当的驱动读取的计算机课可访问
介质或者便携式产品中,其各种示例已在上文描述。在某些实施方 式中,存储在与计算机系统700分离的计算机可访问介质上的指令 可以经由传输介质或者信号传输到计算机系统700,其中传输介质或 者信号例如由诸如网络和/或无线链路的通信介质携带的电信号、电 磁信号或者数字信号。各种实施方式还可以包括接收、发送或者存 储按照上文关于计算机可访问介质的描述而实现的指令和/或数据。 因而,可以利用其他计算机系统配置来实施本发明。
结论各种实施方式还可以包括接收、发送或者存储按照上文关于计 算机可访问介质的描述而实现的指令和/或数据。
一般而言,计算机
学介质,例如盘或者DVD/CD-ROM、易失性或者非易失性介质,诸 如RAM(例如,SDRAM、 DDR、 RDRAM、 SRAM等)、ROM等,
以及由诸如网络和/或无线链路的通信介质携带传输介质或者信号, 诸如电信号、电磁信号或者数字信号。
附图中所示以及在此描述的各种方法表示方法的示例性实施方 式。方法可以通过软件、硬件或其组合来实现。方法的顺序可以改 变,并且可以对各种元素进行添加、重排序、组合、省略和修改等。
对于受益于本公开的本领域技术人员而言显而易见的是,可以 进行各种修改和改变。本发明意在涵盖所有这些修改和改变,因此 应认为上文的描述是示意性的而不是限制性的。
权利要求
1.一种计算机实现的方法,包括自动地对准两个或者更多分量图像,以形成场景的全景图像;自动地生成一个或多个混合遮罩,以混合所对准的分量图像的重叠区;以及将所述分量图像以及所述混合遮罩中的每一个存储为层堆叠中的单独层。
2. 如权利要求l所述的方法,还包括响应于用户输入,生成用于所述分量图像的一个或多个调整层; 以及将所述一个或多个调整层存储为所述层堆叠中的层。
3. 如权利要求2所述的方法,其中每个调整层针对所述分量图 像中的相应的一个分量图像与一个或多个其他分量图像之间的曝光 差异来调整所述相应的一个分量图像。
4. 如权利要求3所述的方法,其中曝光差异包括亮度、对比度、 色彩均衡、色调、饱和度以及白点和黑点。
5. 如权利要求2所述的方法,还包括根据作为所述层堆叠中 的层而存储的所述分量图像、混合遮罩以及调整层,生成最终全景 图像。
6. 如权利要求2所述的方法,还包括响应于用户输入,从所 述层堆叠中删除调整层。
7. 如权利要求2所述的方法,其中所述自动地对准两个或者更 多分量图像以形成场景的全景图像,所述自动地生成一个或多个混 合遮罩以混合所对准的分量图像的重叠区,所述将所述分量图像以 及所述混合遮罩中的每一个存储为层堆叠中的单独层,所述响应于 用户输入生成用于所述分量图像的一个或多个调整层,以及将所述 一个或多个调整层存储为所述层堆叠中的层,是经由一个或多个脚 本实现的,所述脚本支持图像处理应用的功能性。
8. 如权利要求1所述的方法,还包括响应于用户输入,修改 自动地生成的混合遮罩之一 。
9. 如权利要求7所述的方法,其中对自动生成的混合遮罩的所 述修改显露出由所述混合遮罩隐藏的所述分量图像之一的一部分, 或者隐藏由所述混合遮罩显露的所述分量图像之一的一部分。
10. —种系统,包括 至少一个处理器;以及存储器,其包括程序指令,其中所述程序指令可由所述至少一个 处理器执行,以实现全景图像机制,所述全景图像机制配置用于自动地对准两个或者更多分量图像,以形成场景的全景图像;自动地生成 一 个或多个混合遮罩,以混合所对准的分量图像 的重叠区;以及将所述分量图像以及所述混合遮罩中的每一个存储为层堆 叠中的单独层。
11. 如权利要求IO所述的系统,其中所述全景图像机制还配置 用于响应于用户输入,生成用于所述分量图像的一个或多个调整层; 以及将所述一个或多个调整层存储为所述层堆叠中的层。
12. 如权利要求11所述的系统,其中每个调整层针对所述分量图像中的相应的一个分量图像与一个或多个其他分量图像之间的曝 光差异来调整所述相应的一个分量图像。
13. 如权利要求12所述的系统,其中曝光差异包括亮度、对比 度、色彩均衡、色调、饱和度以及白点和黑点。
14. 如权利要求11所述的系统,其中所述程序指令可由所述至 少 一个处理器执行以根据作为所述层堆叠中的层而存储的所述分量 图像、混合遮罩以及调整层,生成最终全景图像。
15. 如权利要求11所述的系统,其中所述全景图像机制还配置用于响应于用户输入,从所述层堆叠中删除调整层。
16. 如权利要求IO所述的系统,其中所述全景图像机制还配置 用于响应于用户输入,修改自动地生成的混合遮罩之一。
17. 如权利要求16所述的系统,其中对自动地生成的混合遮罩 的所述修改显露出由所述混合遮罩隐藏的所述分量图像之 一 的 一 部 分,或者隐藏由所述混合遮罩显露的所述分量图像之一的一部分。
18. 如权利要求IO所述的系统,其中所述全景图像机制实现为 支持图像处理应用的功能性的 一个或多个脚本。
19. 一种计算机可读存储介质,包括程序指令,其中所述程序指 令是计算机可执行的,以实现全景图像机制,所述全景图像机制配 置用于自动地对准两个或者更多分量图像,以形成场景的全景图像; 自动地生成 一 个或多个混合遮罩,以混合所对准的分量图像的重 叠区;以及将所述分量图像以及所述混合遮罩中的每一个存储为层堆叠中的单独层。
20. 如权利要求19所述的计算机可读存储介质,其中所述全景 图像机制还配置用于响应于用户输入,生成用于所述分量图像的一个或多个调整层; 以及将所述一个或多个调整层存储为所述层堆叠中的层。
21. 如权利要求20所述的计算机可读存储介质,其中每个调整 层针对所述分量图像中的相应的一个分量图像与一个或多个其他分 量图像之间的曝光差异来调整所述相应的一个分量图像。
22. 如权利要求21所述的计算机可读存储介质,其中曝光差异 包括亮度、对比度、色彩均衡、色调、饱和度以及白点和黑点。
23. 如权利要求20所述的计算机可读存储介质,其中所述程序 指令是进一 步可计算机执行的以实现根据作为所述层堆叠中的层而 存储的所述分量图像、混合遮罩以及调整层,生成最终全景图像。
24. 如权利要求20所述的计算机可读存储介质,其中所述全景 图像机制还配置用于响应于用户输入,从所述层堆叠中删除调整层。
25. 如权利要求19所述的计算机可读存储介质,其中所述全景 图像机制还配置用于响应于用户输入,修改自动地生成的混合遮 罩之一。
26. 如权利要求25所述的计算机可读存储介质,其中对自动地 生成的混合遮罩的所述修改显露出由所述混合遮罩隐藏的所述分量 图像之一 的 一部分,或者隐藏由所述混合遮罩显露的所述分量图像之一的一一4卩分。
27. 如权利要求19所述的计算机可读存储介质,其中所述全景 图像机制实现为支持图像处理应用的功能性的一个或多个脚本。
全文摘要
一种用于基于层的全景图像混合、调整和编辑的方法和装置。一种全景图像机制,可以根据一组输入图像提供自动生成全景图像。全景图像可以作为分量层的集合或者堆叠来生成、组织和存在,这支持对分量层的人工修改,以优化全景图像。全景图像机制可以包括脚本以及相关联的用户接口机制,其自动化全景图像的生成,并且可以为用户提供对调整和编辑机制的访问,并由此支持用户对自动生成全景图像进行修饰。
文档编号H04N7/00GK101589613SQ200780050352
公开日2009年11月25日 申请日期2007年12月6日 优先权日2006年12月13日
发明者J·W·佩特森 申请人:奥多比公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1