针对实况相机馈送的图像分割的制作方法_4

文档序号:9565246阅读:来源:国知局
,标记可以被放置在显示器上以帮助用户选择期望的对象。例如, 可以显示十字准线或者点,并且在该标记下的像素可以被用作选择的一部分,从而向用户 提供可视引导。在一些情况下,标记可以被用来改进选择。例如,对于在标记下的任何点, 高加权的链接可以被添加到图切割优化算法中的图以将那些像素向前景加权。这可以影响 邻近像素也被加权到前景。另一类型的标记包括期望的对象位于其中的框或者椭圆。在这 一情况下,在框/椭圆以外的任何像素可以被加权到背景。
[0050] 示例计筧设备
[0051] 图4是代表可以用来执行如在本公开内容中不同地描述的技术中的任何技术的 示例计算设备1000的框图。例如,计算设备100、相机110、处理器120、显示器130、图像分 割模块或者这些部件的任何组合可以被实施在计算设备1000中。计算设备1000可以是 任何计算机系统,诸如工作站、桌面型计算机、服务器、膝上型计算机、手持计算机、平板计 算机(例如,iPad?平板计算机)、移动计算或者通信设备(例如,iPhone?移动通信设备、 Android?移动通信设备等)或者能够通信并且具有用于执行在本公开内容中描述的操作 的充分处理器能力和存储器容量的其它形式的计算或者电信设备。可以提供包括多个这样 的计算设备的分布式计算系统。
[0052] 计算设备1000包括具有在其上编码的用于实施如在本公开内容中不同地描述的 技术的一个或者多个计算机可执行指令或者软件的一个或者多个存储设备1010和/或非 瞬态计算机可读介质1020。存储设备1010可以包括用于存储数据以及实施如在本公开内 容中教导的各种实施例的计算机可读指令和/或软件的计算机系统存储器或者随机存取 存储器,诸如耐用盘存储(可以包括任何适当的光或者磁的耐用存储设备,例如RAM、R0M、 闪存、Flash、USB驱动或者其它基于半导体的存储介质)、硬驱动、CD-ROM或者其它计算机 可读介质。存储设备1010也可以包括其它类型的存储器或者其组合。可以在计算设备1000 上提供或者从计算设备1000分离地或者远离地提供存储设备1010。非瞬态计算机可读介 质1020可以包括但不限于一种或者多种类型的硬件存储器、非瞬态有形介质(例如,一个 或者多个磁存储盘、一个或者多个光盘、一个或者多个USB快闪驱动)等。包括在计算设备 1000中的非瞬态计算机可读介质1020可以存储用于实施各种实施例的计算机可读和计算 机可执行指令或者软件。可以在计算设备1000上提供或者从计算设备1000分离地或者远 离地提供计算机可读介质1020。
[0053] 计算设备1000也包括用于执行在存储设备1010和/或非瞬态计算机可读介质 1020中存储的计算机可读和计算机可执行指令或者软件以及用于控制系统硬件的其它程 序的至少一个处理器1030。可以在计算设备1000中运用虚拟化,使得可以动态地共享计 算设备1000中的基础设施和资源。例如,可以提供虚拟机以处理在多个处理器上运行的过 程,使得过程表现为使用仅一个计算资源而不是多个计算资源。多个虚拟机也可以与一个 处理器一同被使用。
[0054] 用户可以通过输出设备1040、诸如屏幕或者监视器(例如,图1的显示器130)与 计算设备1000交互,该输出设备可以显示根据一些实施例提供的一个或者多个用户界面。 输出设备1040也可以显示与一些实施例关联的其它方面、单元和/或信息或者数据。计算 设备1000可以包括用于从用户接收输入的其它I/O设备1050,例如,键盘、操纵杆、游戏控 制器、定点设备(例如鼠标、用户的与显示设备直接地进行接口的手指等)或者任何适当用 户接口。计算设备1000可以包括其它适当常规I/O外设,诸如相机1052。计算设备1000 可以包括和/或被操作地耦合到用于执行如在本公开内容中不同地描述的功能中的一个 或者多个功能的各种适当设备。
[0055] 计算设备1000可以运行任何操作系统,诸如Microsoft? WindowsQ!)操作系 统的版本、Unix和Linux操作系统的不同发布、用于Macintosh计算机的MacOS?的任 何版本、任何嵌入式操作系统、任何实时操作系统、任何开源操作系统、任何专用操作系统、 用于移动计算设备的任何操作系统或者能够在计算设备1000上运行并且执行在本公开内 容中描述的操作的任何其它操作系统中的任何操作系统。在一个实施例中,可以在一个或 者多个云机器实例上运行操作系统。
[0056] 在其它实施例中,可以利用硬件、诸如门级逻辑(例如,FPGA)或者专用半导体(例 如,ASIC)来实施功能部件/模块。可以利用微控制器来实施更多其它实施例,该微控制器 具有用于接收和输出数据的多个输入/输出端口以及用于执行在本公开内容中描述的功 能的多个嵌入式例程。在更一般意义上,如将是明显的,可以使用硬件、软件和固件的任何 适当组合。
[0057] 如根据本公开内容将会理解的,图1中所示系统的各种模块和部件,诸如图像分 割模块112,可以被实施在软件中,诸如在任何计算机可读介质或者计算机程序产品(例如 硬驱动、服务器、盘或者其它适当非瞬态存取或者存储器集合)上编码的指令集(例如,C、 C++、面向对象C、JavaScript、Java、BASIC等),该软件在由一个或者多个处理器执行时使 得在本公开内容中提供的各种方法被执行。将会理解,在一些实施例中,如在本公开内容中 描述的由用户计算系统执行的各种功能可以由不同配置和布置中的相似处理器和/或数 据库来执行,并且所描绘的实施例不旨在于限制。该示例实施例的各种部件,包括计算设备 100,例如,可以被集成到一个或者多个桌面型或者膝上型计算机、工作站、平板、智能电话、 游戏控制台、机顶盒或者其它这样的计算设备中。计算系统的其它典型部件和模块,诸如处 理器(例如,中央处理单元和协处理器、图形处理器等)、输入设备(例如,键盘、鼠标、触摸 板、触摸屏等)以及操作系统未被示出但是将将是显而易见的。
[0058] 示例应用
[0059] 本发明的实施例可以被应用于一个或者多个应用。在一个示例应用中,可以从图 像中提取对象,使得对象可以被描绘成艺术线条。在另一示例应用中,可以在平板或者其它 移动设备上向用户显示实况前景/背景编辑。例如,这样的应用可以允许用户在拍摄画面 之前在相机预览屏幕中看见前景/背景效果(例如图2C和2D的遮罩214或者222)(例如, 实时或者接近实时)。这样的效果的示例包括1)将前景染红;2)将前景示为白色而将背景 示为黑色;3)在不同网纹背景上示出前景;4)增加前景的饱和度而减少背景的饱和度;以 及5)用颜色示出前景而将背景示为线条图。注意,用户可以到处移动平板或者移动设备并 且在实况图像预览中看见效果。如根据本公开内容将会理解,可以使用其它效果。
[0060] 另一示例应用可以被用于实况图像组成。如果用户想要创建自画像或者所谓"自 拍照"图像而无须将他们的背部转向景物,则用户可以利用移动设备的后置相机拍摄景物 的相片,然后应用自动地切换到前置相机、选择人并且将他们实况组成到背景中(例如,使 用脸部/人偏移)。如果设备允许前置相机和后置相机相机两者同时为活跃的,则来自后置 相机的景物也可以是实况的。
[0061] 许多实施例根据本公开内容将是明显的,并且在本公开内容中描述的特征可以被 组合到任何数目的配置中。一个示例实施例提供一种系统,该系统包括存储装置和一个或 者多个处理器,该存储装置具有至少一个存储器,每个处理器被操作地耦合到存储装置。一 个或者多个处理器被配置为执行如下过程,该过程包括接收代表当前图像帧的当前帧像素 数据;计算偏移项,该偏移项代表当前图像帧中的每个像素朝着前景偏移区域和背景偏移 区域之一的加权;使用能量优化函数(例如,具有图切割优化技术或者信任传播算法)来基 于像素数据和偏移项将当前图像帧分割成前景段和背景段;以及生成与前景段和背景段中 的至少一个段中的像素对应的像素遮罩。在一些情况下,该系统包括被操作地耦合到处理 器并且被配置为提供图形用户界面的显示器,其中该过程包括经由图形用户
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1