CN107430768A - 图像编辑和修补 - Google Patents
图像编辑和修补 Download PDFInfo
- Publication number
- CN107430768A CN107430768A CN201680016380.5A CN201680016380A CN107430768A CN 107430768 A CN107430768 A CN 107430768A CN 201680016380 A CN201680016380 A CN 201680016380A CN 107430768 A CN107430768 A CN 107430768A
- Authority
- CN
- China
- Prior art keywords
- target area
- image
- input picture
- region
- search
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 61
- 238000006243 chemical reaction Methods 0.000 claims description 28
- 230000008859 change Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 11
- 238000005070 sampling Methods 0.000 claims description 6
- 230000006399 behavior Effects 0.000 claims 2
- 238000004513 sizing Methods 0.000 claims 2
- 230000008439 repair process Effects 0.000 abstract description 38
- 238000010191 image analysis Methods 0.000 description 50
- 238000004891 communication Methods 0.000 description 26
- 238000013500 data storage Methods 0.000 description 19
- 238000003860 storage Methods 0.000 description 19
- 230000015572 biosynthetic process Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000003786 synthesis reaction Methods 0.000 description 12
- 230000009471 action Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 238000010367 cloning Methods 0.000 description 6
- 241000208340 Araliaceae Species 0.000 description 5
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 5
- 235000003140 Panax quinquefolius Nutrition 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 235000008434 ginseng Nutrition 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 239000000428 dust Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000010267 cellular communication Effects 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 206010000496 acne Diseases 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 238000009738 saturating Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- 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
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/63—Control of cameras or camera modules by using electronic viewfinders
- H04N23/633—Control of cameras or camera modules by using electronic viewfinders for displaying additional information relating to control or operation of the camera
- H04N23/635—Region indicators; Field of view indicators
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
Abstract
本申请描述了用于修复输入图像上的目标区域的方法。接收预览图像;该预览图像可以反映原始图像的下采样图像。该方法确定预览图像的目标区域。该目标区域指示被指定为修复的预览图像的段。该方法然后可以使用变换来修复与预览图像相关联的目标区域。该方法可以存储与所修复的预览图像相关联的一个或多个参数。该方法然后可以提供所修复的预览图像以用于在移动设备上显示给用户。
Description
相关申请的交叉引用
根据35U.S.C.§119(e),本申请要求于2015年4月8日提交的、名称为“ImageEditing and Repair(图像编辑和修补)”的美国临时专利申请No.62/144,814的优先权,其全部内容通过引用并入本文。
背景技术
图像修复是合成像素以替换图像中的给定像素集合的过程。图像修复是图像处理的完善的图像增强应用,因为它允许用户去除图像中的伪像。然而,由于在这种小屏幕上的预览图像中可用的有限空间,难以在具有小屏幕尺寸的移动设备上使用某些传统图像增强技术。因此,这些传统技术通常使得有必要在具有较大屏幕的设备上重新访问在移动设备上进行的编辑。
发明内容
该系统和方法涉及编辑和修改图像。特别地,该系统和方法涉及图像修复。更具体地,该系统和方法涉及通过从图像中修复伪像来编辑和修改图像。
根据本公开中描述的主题的一个方面,公开了一种用于修复输入图像上的目标区域的方法。该方法包括使用一个或多个计算设备,从客户端接收图像数据,该图像数据包括与输入图像相关联的参数;使用一个或多个计算设备,基于预定缩放因子来计算图像数据的参数的缩放;使用所述一个或多个计算设备,确定与输入图像相关联的目标区域的第一变换;响应于确定与输入图像相关联的目标区域的第一变换,使用所述一个或多个计算设备,基于该变换来更新输入图像;以及使用所述一个或多个计算设备提供所更新的输入图像以用于显示给用户。
通常,在本公开中描述的主题的另一方面可以体现在方法中,该方法包括:从用户接收用于预览输入图像的第一输入;提供与输入图像相关联的预览图像以用于显示;从用户接收用于与图像预览相关联的目标区域的第二输入,该目标区域指示要修改的输入图像的段;修改输入图像的段;提供所修改的输入图像以用于显示给用户;预览图像包括输入图像的下采样图像;标识在预览图像上的搜索区域的变换,搜索区域包括变换和目标区域;确定目标区域的边界参数和搜索区域的边界参数;针对目标区域的边界参数与搜索区域的边界参数之间的边界参数相似性来分析预览图像;计算在目标区域和搜索区域之间的边界参数相似性的边界偏差误差,该边界偏差误差反映目标区域的边界参数与搜索区域的边界参数之间的相似性置信度;将像素集合从搜索区域变换到目标区域上;将像素集合从搜索区域变换到目标上是响应于边界偏差误差满足预定像素阈值的;使用缩放的参数和无缝克隆来计算目标区域细化;以及使用图像增强来计算目标区域的边界参数的边缘细化。
其它方面包括对应的方法、系统、装置、非暂时计算机可读介质和计算机程序产品。
附图说明
说明书通过示例的方式而不是通过在附图的图中的限制被示出,附图中类似的参考数字用于指代相似的元素。
图1是图示出用于修复图像的示例系统的框图。
图2是图示出示例性计算设备的框图。
图3是图示出用于修复图像的示例方法的流程图。
图4是图示出使用变换来计算所修复的图像上的边缘细化的示例性方法的流程图。
图5A-5C是修复输入图像上的目标区域的图示。
图6A-6B是描绘用于在输入图像上进行修复的用户指定的目标区域的示例用户界面。
图7A-7B是描绘用于在输入图像上进行修复的用户指定的目标区域的附加示例用户界面。
具体实施方式
在一个实施方式中,系统和方法编辑和修改图像,并且具体地执行图像修复。用户设备(例如,蜂窝电话、平板电脑、计算机等)遭受技术问题,因为它们倾向于具有有限的处理能力并且不总是以高速的连接被连接到互联网。当用户设备以低带宽的连接被连接到互联网时,通过低带宽互联网连接共享的图像需要最小化被上传或下载的文件的尺寸,而不是将编辑应用于全分辨率图像版本,因为用户设备的受限制的计算能力以及用于发送和接收图像的可用带宽。例如,如果用户请求编辑40兆字节(40MB)图像,则将40MB文件最小化为4MB,以传送到用户设备,而不是传送40MB的文件。用户在用户设备上编辑4MB文件,然后将该文件传送回服务器。但是,当文件增加回到其原来的40MB文件的尺寸时,在4MB文件上进行的编辑可能会变得失真和更改。这些传统技术需要用户在共享或上传之前对图像的全分辨率版本应用编辑,这在计算设备典型的低带宽互联网连接中是不可能的。
本文所讨论的本实施方式提供了在用户设备上使用图像增强应用的问题的技术解决方案,并且还向用户提供在用户关联或在线服务中与其他用户共享所编辑的图像的能力,例如,在社交网站上通过确定图像的缩放参数并确定图像的目标区域的变换。通过使用缩放和变换,可以将图像最小化并发送到用户设备以用于编辑,然后将其放大到全分辨率,而不会使图像编辑失真。
图1图示出了用于修复图像的示例性系统100的框图。在所描绘的实施方式中,系统100包括图像服务器134和用户设备106a至106n。在所描绘的实施方式中,设备134和106经由网络102电子地通信地耦合。然而,本公开不限于该配置,而且各种不同的系统环境和配置可以被采用并在本公开的范围内。其它实施方式可以包括附加的或更少的计算设备、服务和/或网络。
应当认识到,在图1以及用于说明实施方式的其它图中,参考编号或数字之后的字母的指示(例如“106a”)是对由该特定参考数字指定的元素或组件的具体参考。在文中出现参考数字后面没有字母的情况下,例如“106”,则应该认识到,这是对具有该通用参考数字的元素或组件的不同实施方式的通用参考。
在一些实施方式中,系统100的设备可以使用基于云的架构,其中一个或多个计算机功能或例程由远程计算系统和设备在本地计算设备的请求下执行。例如,用户设备106可以是具有硬件和/或软件资源的计算设备,并且可以访问由其它计算设备和资源跨网络102所提供的硬件和/或软件资源,包括例如其它用户设备106和图像服务器134或系统100的任何其它设备。
网络102可以是有线或无线的常规类型,并且可以具有许多不同的配置,包括星形配置、令牌环配置或其它配置。此外,网络102可以包括局域网(LAN)、广域网(WAN)(例如,互联网)和/或多个设备跨其可以通信的其它互连的数据路径。在一些实施方式中,网络102可以是对等网络。网络102还可以耦合到或包括用于以各种不同通信协议发送数据的电信网络的部分。在一些其它实施方式中,网络102包括蓝牙通信网络或蜂窝通信网络,用于经由短消息服务(SMS)、多媒体消息服务(MMS)、超文本传输协议(HTTP)、直接数据连接、无线应用协议(WAP)、电子邮件等发送和接收数据。另外,尽管图1图示出耦合到所示用户设备106和图像服务器134的单个网络102,但实际上可以将这些设备连接到一个或多个网络102。
在一些实施方式中,用户设备106(106a至106n的任何或全部)是具有数据处理和数据通信能力的计算设备。在所示实施方式中,用户114a至114n分别经由信号线112a至112n与用户设备106a和106n交互。用户设备106a至106n分别经由信号线104a至104n通信地耦合到网络102。尽管示出了两个用户设备106,但是本公开适用于具有可用于任何数目的用户114的任何数目的用户设备106的系统架构。
在一些实施方式中,用户设备106包括工作站计算机、台式计算机、膝上型计算机、上网本计算机、平板计算机、智能电话、机顶盒/单元、包括能够接收观众输入、访问计算机网络(例如,互联网)上的视频内容以及执行软件例程以向观众提供增强的功能和交互性的计算机处理器的互联网协议连接的智能电视等。在一些实施方式中,用户设备106可以是能够发送和接收语音和/或数据通信的手持式无线计算设备。
用户设备106可以包括计算机处理器、存储器、电源和包括用于与网络102交互的一个或多个网络接口的通信单元,其包括例如无线收发器以经由无线电信号来广播和接收网络数据。用户设备106还可以包括以下中的一个或多个:图形处理器;高分辨率触摸屏;物理键盘;前后置相机;蓝牙模块;存储适用固件的存储器;以及各种物理连接接口(例如,USB、HDMI、耳机插孔等)等等。
附加地,用于管理用户设备106的硬件和资源的操作系统、用于提供对硬件和资源的应用访问的应用编程接口(API)、用于生成和显示用于用户交互和输入的界面的用户界面模块,以及包括例如用于web浏览、捕获数字视频和/或图像等的应用的应用可以在用户设备106上被存储和操作。虽然图1图示出了两个或多个用户设备106,但本公开适用于具有任何数目的用户设备106的任何系统架构。
在所描绘的实施方式中,用户设备106a至106n包含可由用户设备106的处理器(未示出)执行的用户应用108(图示为108a至108n),以提供用户交互及经由网络102发送和接收数据。特别地,用户应用108可操作以指示用户设备106呈现用户界面、接收用户输入并且向图像服务器134和系统100的其它组件发送信息以及从图像服务器134和系统100的其它组件接收信息。在这些或其它实施方式中,用户应用108可以被存储在用户设备106的存储器(未示出)中,并且可由处理器(未示出)访问和执行。在进一步的实施方式中,用户设备106可以包括图像修复器引擎136。用户114(114a至114n)利用用户应用108适当地与图像修复器引擎136和图像服务器134交换信息,以便完成本实施方式的操作。
图像服务器134可以是包括处理器、存储器和网络通信能力的计算设备。图像服务器134经由信号线132耦合到网络102。图像服务器134可以被配置为经由网络102从用户设备106和/或系统100的其它组件获得用于修复的多个图像。虽然示出了一个图像服务器134,但是应当理解,可以以分布式架构或其它方式利用多个服务器。为了本应用的目的,在单个图像服务器134的场景中描述系统执行的系统配置和操作。
在一些实施方式中,图像服务器134包括用于图像修复的图像修复器引擎136。图像修复器引擎136可以从用户应用108接收用户输入,然后基于所接收的用户输入来修复图像。例如,用户114可以提供指示要修复的图像的目标区域(例如最终图像的不需要的区域)的输入;图像修复器引擎136可以基于用户输入分析图像并且修复图像。作为另一示例,用户114可以提供指示与要修复的视频剪辑相关联的图像帧的多个目标区域的输入;图像修复器引擎136可以基于用户输入单独地和/或集体地分析图像帧中的每个目标区域并且修复多个目标区域。
如图1所示,图像修复器引擎136以虚线示出,以指示如本文所述的图像修复器引擎136执行的操作可以在服务器侧(例如,图像服务器134)或用户侧(例如,用户设备106a至106n)或两者的组合被执行。至少关于图2更详细地描述图像修复器引擎136的附加结构、动作和/或功能。
图2是示例计算设备200的框图,其可以代表包括在图像服务器134和/或用户设备106中的计算设备。如图所示,计算设备200可以包括处理器216、存储器218、通信单元220、数据存储222以及一个或多个用户应用108和图像修复器引擎136,其可以通过通信总线214通信地耦合。
根据配置,计算设备200可以包括不同的组件。例如,在服务器侧实施方式中,计算设备200可以包括图像修复器引擎136。然而,在示例性客户端侧实施方式中,计算设备200可以包括用户应用108和/或图像修复器引擎136。应当理解,通过示例提供上述配置,并且许多其它配置是可考虑的及可能的。
总线214可以包括用于在计算设备的组件之间或在计算设备之间传送数据的通信总线、包括网络102或其部分的网络总线系统、处理器网格、其组合等。在一些实施方式中,用户应用108和图像修复器引擎136可以经由与总线214相关联地实施的软件通信机制进行协作和通信。软件通信机制可以包括和/或促进例如过程间通信、本地功能或程序调用、远程程序调用、基于网络的通信、安全通信等。
处理器216可以通过执行各种输入、逻辑和/或数学运算来执行软件指令。处理器216可以具有用于方法数据信号的各种计算架构,包括例如复杂指令集计算机(CISC)架构、精简指令集计算机(RISC)架构和/或实施指令集的组合的架构。处理器216可以是物理和/或虚拟的,并且可以包括单个核心或多个处理单元和/或核心。在一些实施方式中,处理器216可能能够生成并向显示设备提供电子显示信号、支持图像的显示、捕获和传输图像、执行包括各种类型的特征提取和采样的复杂任务等。在一些实施方式中,处理器216可以经由总线214耦合到存储器218,以从其访问数据和指令并在其中存储数据。总线214可以将处理器216耦合到计算设备200的其它组件,包括例如存储器218、通信单元220和数据存储222。
存储器218可以存储数据和向计算设备200的其它组件提供对数据的访问。在一些实施方式中,存储器218可以存储可由处理器216执行的指令和/或数据。存储器218还能够存储其它指令和数据,包括例如操作系统、硬件驱动器、其它软件应用,数据库等。存储器218可以被耦合到总线214,以与处理器216及计算设备200的其它组件通信。
存储器218可以包括非暂时性计算机可用(例如,可读、可写等)介质,其可以是可以包含、存储、通信、传播或传输指令、数据、计算机程序、软件、代码、例程等的任何非暂时性装置或设备,用于由处理器216处理或与处理器216连接。在一些实施方式中,存储器218可以包括易失性存储器和非易失性存储器(例如,RAM、ROM、硬盘、光盘等)中的一个或多个。应当理解,存储器218可以是单个设备,或者可以包括多种类型的设备和配置。
通信单元220可以包括用于与网络102以及系统100的其它组件和/或组件的有线和无线连接的一个或多个接口设备,所述组件包括例如用户设备106、图像服务器134和数据存储222等。例如,通信单元220可以包括但不限于CAT型接口;使用Wi-Fi发送和接收信号的无线收发器;蓝牙、蜂窝通信等;USB接口;其各种组合等。通信单元220可以经由信号线104和132耦合到网络102。在一些实施方式中,通信单元220可以将处理器216链接到网络102,网络102可以进而耦合到其它处理系统。通信单元220可以使用各种标准通信协议来向网络102和系统100的其它组件提供其它连接,包括例如本文别处讨论的那些。
数据存储222是用于存储数据和提供对数据的访问的信息源。在一些实施方式中,数据存储222可以经由总线214耦合到计算设备200的组件216、218、220、108和/或136,以接收数据和提供对数据的访问。在一些实施方式中,数据存储222可以存储从系统100的其它设备106和/或134接收的数据,并向这些设备提供数据访问。数据存储222可以包括用于存储数据的一个或多个非暂时计算机可读介质。在一些实施方式中,数据存储222可以与存储器218结合或者可以与存储器218区分。在一些实施方式中,数据存储222可以包括数据库管理系统(DBMS)。例如,DBMS可以包括结构化查询语言(SQL)DBMS、NoSQL DMBS、其各种组合等。在一些实施方式中,DBMS可以将数据存储在由行和列组成的多维度表中,并且使用编程操作操纵(例如,插入、查询、更新和/或删除)数据行。
图像修复器引擎136是用于通过修复图像来编辑或修改图像的软件、代码、逻辑或例程。如图2所示,图像修复器引擎136可以包括用户界面模块202、图像分析模块204、细化模块206和合成模块208。应当理解,如图2中虚线所示的细化模块206是可选的,并且可以如本文别处所描述的、在由图像修复器引擎136执行的操作和/或功能期间不是一直需要的。
在所描绘的实施方式中,组件202、204、206和/或208电子地通信地耦合,以用于彼此协作和通信,与用户应用108、处理器216、存储器218、通信单元220和/或数据存储222协作和通信。这些组件202、204、206和208还耦合以经由网络102与系统100的其它组件(例如,用户设备106)通信。
在一些实施方式中,用户界面模块202、图像分析模块204、细化模块206和合成模块208是可由处理器216执行的指令集合,或包括在一个或多个定制处理器中的逻辑,以提供它们相应的功能。在一些实施方式中,用户界面模块202、图像分析模块204、细化模块206和合成模块208存储在图像服务器134的存储器218中,并且可由处理器216访问并执行以提供它们相应的功能。在这些实施方式中的任何中,用户界面模块202、图像分析模块204、细化模块206和/或合成模块208适于与处理器216和图像服务器134的其它组件进行协作和通信。
用户界面模块202是用于从用户接收输入的软件、代码、逻辑或例程。在一些实施方式中,从用户接收的输入包括对预览图像的请求。例如,用户可以在用户设备106上启动图像增强应用并选择要预览的图像。预览图像可以反映输入图像的下采样图像。在其它实施方式中,用户界面模块202从用户接收指示在预览图像上用于修复的目标区域的输入。例如,目标区域可以反映用户期望去除的预览图像中存在的伪像(例如,灰尘斑点)。在一些实施方式中,用户界面模块202从客户端接收图像数据,该图像数据包括与输入图像相关联的参数。
在一些实施方式中,除了预览图像之外,用户界面模块202提供多个预定的修复轮廓。预定的修复轮廓可以包括多个目标区域维度,用于用户应用为预览图像上用于修复的目标区域。预定修复轮廓的示例可以包括但不限于正方形、三角形、圆形和/或任何其它几何配置等。在一些实施方式中,用户界面模块202接收预览图像的用户定义的修复轮廓。例如,用户可以在用户应用108中打开预览图像,并且在预览图像上绘制特定形状,该特定形状指示用于修复的目标区域。在一些实施方式中,用户界面模块202可以将接收到的输入发送到图像分析模块204,该图像分析模块204然后可以使用这些输入来执行它其上的动作和/或功能。
图像分析模块204是用于确定预览图像上的目标区域并且使用变换定性地修复与预览图像相关联的目标区域的软件、代码、逻辑或例程。在一些实施方式中,图像分析模块204从用户界面模块202接收预览图像的目标区域。例如,目标区域可以指示用于修复的预览图像的段。预览图像的段可以包括伪像,例如但不限于灰尘斑点、预览图像中的对象、人的面部,投射阴影等。在一些实施方式中,图像分析模块可以从用户界面模块202接收第一输入,该第一输入指示在用户设备上预览输入图像的用户请求。在一些实施方式中,图像分析模块204从用户接收模块202接收用于与图像预览相关联的目标区域的来自用户的第二输入。图像分析模块可以修改目标区域和/或基于目标区域修改输入图像的段。
在一些实施方式中,自动确定输入图像上的目标区域。例如,图像分析模块204可以分析输入图像并标识输入图像的一个或多个分类特性。然后,图像分析模块204可以从存储器218和/或数据存储222检索预定的源区域,该预定的源区域与输入图像共享相似的分类特性。
在一些实施方式中,图像分析模块204使用多个缩放参数和无缝图像克隆过程来确定与输入图像相关联的目标区域的变换。在一些实施方式中,无缝图像克隆过程可以是结合图形切割分割或平均值坐标的图像编辑的方法,以内插如本文其它处所讨论的被编辑的图像的目标部分的膜(membrane)。图像分析模块204可以基于变换来修复输入图像。
在一些实施方式中,图像分析模块204可以从用户界面模块202和/或计算设备200的任何其它组件接收预览图像的多个目标区域。预览图像可以包括输入图像的下采样图像。在一些实施方式中,图像分析模块204从客户端接收图像数据,该图像数据包括与输入图像相关联的参数。然后,图像分析模块204可以基于预定的缩放因子来计算图像数据的参数的缩放。
在一些实施方式中,预览图像可以是输入图像的全分辨率版本。目标区域可以包括维度m x n,目标区域的m x n维度反映与强度值相关联的像素。在某些实施方式中,响应于确定预览图像上的目标区域,图像分析模块204可以分析多个候选源区域的预览图像。例如,图像分析模块204可以分析与目标区域相关联的像素值,并且标识具有与目标区域相似的像素值的预览图像中的多个候选源区域。在一些实施方式中,可以响应于候选源区域的相似像素值达到与目标区域相关联的预定的像素阈值,将候选源区域变换到目标区域。在一些实施方式中,图像分析模块204可以初始化目标区域的像素并且将偏移分配给目标区域;图像分析模块204然后可以递归地搜索预览图像中的同心半径,以确定目标区域和候选源区域之间的像素相似性。
在一些实施方式中,图像分析模块204基于预览图像中的特征在预览图像中搜索多个候选源区域,并且多个候选源区域中的候选源区域可以被标识及被变换到目标区域。图像分析模块204可以经由总线214协作地与计算设备200的一个或多个其它组件通信,用于计算和比较与目标区域和一个或多个候选源区域相关联的特征。与目标区域相关联的特征的示例可以包括但不限于YCbCr中的图像颜色和与输入亮度相关联的7×7邻域的局部方差。YcbCr指示与预览图像相关联的一族颜色空间,Y是亮度分量(例如,图像中的明度),分量Cb和Cr是图像中的蓝色和红色差分量。在一些实施方式中,图像分析模块204可将所计算的特征存储在存储器218和/或数据存储222中。
在一些实施方式中,图像分析模块204合成像素以替换图像(例如,预览图像)中的目标区域的给定像素集合。例如,图像分析模块204确定输入图像的像素邻域,并且图像分析模块204可以从目标区域初始化所合成的像素块。在一些实施方式中,所合成的块可以是预定义的像素内核。图像分析模块204可以分析输入图像的接近值像素的非值像素。然后,图像分析模块204可以确定与非值像素的值像素邻域具有相似性的输入图像中的块集合,并且用合成像素替换目标区域。在一些实施方式中,图像分析模块204合成用于降采样的输入图像的像素。
在一些实施方式中,图像分析模块204使用变换定性地修复预览图像上的目标区域。在一些实施方式中,图像分析模块204和/或图像服务器134可以检索与图像例如,在用户设备上显示的下采样图像)相关联的缩放因子(。在一些实施方式中,图像分析模块204可以使用变换来搜索候选源区域。该变换可以包括协方差矩阵适应演化策略(CMA-ES)方法。例如,CMA-ES根据双模高斯分布和预览图像的演化执行随机采样。在一些实施方式中,图像分析模块204可以更新未来目标区域的双模高斯分布,该未来目标区域可以包括与分配给一个或多个其它图像的历史目标区域相关联的相似特征。
在一些实施方式中,图像分析模块204可以接收在预览图像上的一个或多个限制区域,其指示从有资格的候选源区域被排除的区域。例如,预览图像上的一个或多个限制区域指示从有资格的候选源区域被排除的区域。限制区域可以反映预览图像中的伪像或不完美(例如,用户脸上的疙瘩、瑕疵),用户希望其不被认为是目标区域的替换。在一些实施方式中,响应于标识预览图像中的候选源区域,图像分析模块204可以将候选源区域变换到与预览图像相关联的目标区域上。
在一些实施方式中,图像分析模块204可以将与修复的预览图像相关联的一个或多个参数存储在存储器218和/或数据存储222中。修复图像的一个或多个参数的示例可以包括但是不限于候选源区域、与候选源区域和目标区域相关联的变换和/或预览图像和候选源区域的维度。在一些实施方式中,图像分析模块执行的动作和/或功能可以经由图像服务器134在服务器侧执行。图像分析模块204可以传输与预览图像和/或修复预览图像(其反映输入图像的下采样版本)相关联的一个或多个参数;图像服务器134可以应用与下采样版本相关联的一个或多个参数以在全采样图像上执行动作和/或功能。在一些实施方式中,图像分析模块204可以将与预览图像相关联的修复的目标区域和修复图像的一个或多个参数发送到细化模块206和/或合成模块208,然后其可以使用这些输入来执行它的动作和/或功能。
细化模块206是当将候选源区域克隆到与图像(例如预览图像)相关联的目标区域上时用于修改候选源区域的掩模(mask)和/或膜的软件、代码、逻辑或例程。在一些实施方式中,细化模块206从图像分析模块204接收预览图像上的目标区域的候选源区域。细化模块206可以标识预览图像上的搜索区域的变换,该搜索区域包括预览图像上的变换和目标区域。
在一些实施方式中,细化模块206确定目标区域的边界参数和搜索区域的边界参数。细化模块206可以针对目标区域的边界参数与搜索区域的边界参数之间的边界参数相似性来定性地分析预览图像。与目标区域相关联的边界参数可以由用户参数化。在一些实施方式中,细化模块206可以计算目标区域和搜索区域之间的所确定的边界相似性的边界偏差误差。边界偏差误差可以反映目标区域的边界参数与搜索区域的边界参数之间的相似性置信度。
在一些实施方式中,细化模块206可以使用无缝克隆过程来计算目标区域细化。例如,细化模块206可以从存储器218和/或数据存储222检索目标区域的预定边界参数,并使用本领域熟知的任何克隆过程来计算预定边界参数的细化。在一些实施方式中,细化模块206合成像素以替换图像(例如,预览图像)中的目标区域的给定像素集合。
在一些实施方式中,细化模块206可以使用最短路径算法来计算目标区域和/或搜索区域的边界参数细化。最短路径算法的示例可以包括但不限于Dijkstra算法和/或图像增强方法。例如,细化模块206可利用Dijkstra算法来确定在图像中的目标区域和/或搜索区域周围的轮廓中具有最低成本的路径。在一些实施方式中,除沿着梯度的误差总和之外,将轮廓中的最低成本定义为沿着误差(例如,候选源区域和目标区域之间的差异)路径的梯度的总和。在一些实施方式中,细化模块206可以利用卷积金字塔来计算边界参数细化。在一些实施方式中,细化模块206通过将卷积金字塔应用于原始图像(例如,全分辨率图像)和/或在其上执行的以保留原始图像中的细节的任何其它已知的图像处理配置来保留下采样图像的图像质量。
在一些实施方式中,细化模块206执行与目标区域、搜索区域和/或候选源区域相关联的边界参数的细化。在一些实施方式中,边界参数的细化提供了围绕目标区域、搜索区域和/或候选源区域的轮廓的具有较少可见的缝隙的修复图像。在其它实施方式中,细化模块206可以将与修复图像相关联的细化边界参数发送到合成模块208和/或系统100的任何其它组件,然后其可以使用这些输入来执行它的动作和/或功能。
合成模块208是用于在用户设备上提供修复图像以用于显示给用户的软件、代码、逻辑或例程。在一些实施方式中,合成模块208可以从图像分析模块204接收修复图像,并且经由用户应用108上的用户界面模块202提供修复图像以用于显示给用户。在其它实施方式中,合成模块208可以接收来自细化模块206的修复图像并且经由用户应用108上的用户界面模块202提供修复图像以用于显示给用户。在进一步的实施方式中,合成模块208可以将修复图像传输到系统100的一个或多个其它组件以执行它们的动作和/或功能。
方法
图3是图示出用于执行图像修复的示例方法的流程图。方法300通过接收302预览图像开始,该预览图像反映原始图像(例如输入图像)的下采样图像。在一些实施方式中,方框302中的操作可以由用户应用108执行,并且下采样图像可以由图像服务器134上的图像修复器引擎136进行下采样,并从图像服务器134经由网络102被发送到用户设备106。在一些实施方式中,下采样图像可以由用户设备106a上的用户应用108a生成并且经由网络102被发送到另一用户设备106n。
方法300通过确定304预览图像的目标区域来继续,该目标区域指示用于修复的预览图像的段。在一些实施方式中,框304中的操作可以由图像分析模块204执行。在一些实施方式中,图像分析模块204使用本文其它地方讨论的标准图像处理技术自动地确定预览图像的目标区域,以标识与预览图像中的伪像相关的差异,并将包括该差异的预览图像的段分类为目标区域。在一些实施方式中,图像分析模块204基于用户输入从用户界面模块202接收预览图像的用户定义的目标区域,并且在接收到用户定义的目标区域时,图像分析模块204可以基于用户定义的目标区域确定预览图像上的目标区域。例如,目标区域可以指示用于修复的预览图像的段。预览图像的段可以包括伪像,例如但不限于灰尘斑点、预览图像中的对象、人的面部、投影阴影等。
方法300通过使用变换修复306与预览图像相关联的目标区域来继续。在一些实施方式中,块306中的操作可以由图像分析模块204执行。在一些实施方式中,图像分析模块204可以使用变换来搜索候选源区域。在一个实施方式中,可以使用协方差矩阵适应演化策略(CMA-ES)方法来实施搜索。候选源区域可以由图像分析模块204使用以用于比较目标区域和候选源区域之间的像素值。基于比较,图像分析模块204可以通过将像素改变为类似于候选源区域来修复包括在目标区域中的像素,如本文其它地方所讨论的。
然后,方法300可以通过存储308与修复的预览图像相关联的一个或多个参数来继续。在一些实施方式中,框308中的操作可以由图像分析模块204执行。图像分析模块204可以将一个或多个参数存储在存储器218和/或数据存储222中,以供将来应用于共享相似的特征、像素值、轮廓等的一个或多个不同的预览图像。一旦方法300完成存储一个或多个参数,则方法300然后可以提供310修复图像以用于显示给用户。在一些实施方式中,框310中的操作可以由合成模块208执行。例如,合成模块208可以从图像分析模块204接收修复图像,并在用户应用108上提供修复图像以用于显示给用户。在一些实施方式中,目标区域的修复可以是多层的。多层修复包括用不同的层修复目标区域的不同部分。每个不同的层可以应用特定的修复来校正目标区域的部分。然后,可以将多个不同的层应用于输入图像的目标区域,或者将其组合并应用于输入图像的目标区域。在一些实施方式中,用户可能能够颠倒多层修复目标区域的一个或多个子层并且撤销目标区域的修复。
图4是图示出使用变换来计算修复图像上的边缘细化的示例性方法的流程图。方法400通过标识402预览图像上的搜索区域的变换来开始,该搜索区域包括变换和目标区域。在一些实施方式中,搜索区域的变换可以是应用于包括搜索区域的图像的部分的缩放因子,并且搜索区域可以是包括目标区域以及要修复的目标区域附近的周围区域的预览图像的部分。在某些实施方式中,在框402中执行的操作可以由细化模块206执行。例如,细化模块206可以通过在预览图像中搜索一个或多个候选源区域来标识预览图像上的搜索区域的变换。在一些实施方式中,候选源区域可以是预览图像的部分,其示出用于图像的修复部分匹配的特性。在一些实施方式中,候选源区域可以是修复区域可以看起来像的数据模型,并且细化模块206可以使用数据模型来变换目标区域。
方法400可以通过确定404目标区域的边界参数和搜索区域的边界参数来继续。在一些实施方式中,在框404中执行的操作可以由细化模块206执行。例如,细化模块206可以通过分析目标区域和/或搜索区域的一个或多个特性来确定边界参数。目标区域和/或搜索区域的特性的示例可以包括但不限于与目标区域和/或搜索区域的轮廓相关联的像素值。
方法400可以通过以下操作来继续:针对目标区域的边界参数与搜索区域的边界参数之间的边界参数相似性来分析406预览图像。在一些实施方式中,边界相似性可以是包括在目标区域中的像素与包括在搜索区域中的像素相比有多么相似的值。例如,在一些实施方式中,可以针对相似性来分析诸如边界和周边区域之间的颜色、强度或纹理等参数。在一些实施方式中,在框406中执行的操作可以由细化模块206执行。方法400可以通过计算408目标区域和搜索区域之间的边界参数相似性的边界偏差误差来继续。例如,边界偏差误差可以反映目标区域的边界参数与搜索区域的边界参数之间的相似性的置信度度量。
方法400可以通过使用无缝图像克隆来计算410目标区域细化来继续。在一些实施方式中,块410中的操作可以由细化模块206执行。例如,细化模块206可以从存储器218和/或数据存储222检索目标区域的预定的边界参数,并且使用本领域熟知的任何克隆方法计算预定的边界参数的细化。在一些实施方式中,框410中的操作是可选的,并且可以不是方法400的部分。
方法400可以通过使用图像增强方法计算412与目标区域相关联的边界参数的边缘细化来继续。在一些实施方式中,边缘细化可以修复目标区域的边界以与输入图像的其余部分混合。在一些实施方式中,在框412中执行的操作可以由细化模块206执行。例如细化模块206可以利用最短路径算法来确定在图像(例如,预览图像)中的目标区域和/或搜索区域周围的轮廓中具有最低成本的路径。
方法400可以通过将像素从搜索区域变换414到目标区域上来继续。在一些实施方式中,方框414中的操作可以由细化模块206执行。在一些实施方式中,细化模块206响应于边界偏差误差满足预定像素阈值,将像素从搜索区域变换到目标区域上。
图5A-5C是修复输入图像上的目标区域的图示。特别地,由参考数字500指示的界面描绘了提供给用户用于在用户应用上进行编辑的输入图像500。输入图像500可以包括用户希望从图像中去除的对象502(例如,目标区域)。例如,参考数字502指示用户已经选择了与输入图像500相关联的窗口以便去除。图5B描绘了与由用户选择的目标区域相关联的掩模504,如图5A所示。在一些实施方式中,细化模块206计算由用户在输入图像中选择的目标区域的掩模。图5C描绘了输入图像500的修复版本506。此外,如描绘修复的目标区域的参考数字508所证实的,修复的目标区域不再包括如图5A所示的所选择的窗口。
图6A-6B是描绘用于在输入图像上进行修复的用户指定的目标区域的示例用户界面。参考图6A,用户界面600包括目标区域602a、目标轮廓选择窗格604和引导变焦缩放覆盖窗口606。如图6A所示,用户界面600显示图像608a(例如预览图像),其具有指示用于修复的图像608a的对象(例如,段)的目标区域602a。目标轮廓选择窗格604可以包括预定义的方形目标区域,预定义的圆形目标区域和预定义的三角形目标区域。
参考图6B,用户界面600包括修复的目标区域602b、目标轮廓选择窗格604和引导缩放覆盖窗口606。如图6b所示,用户界面600显示具有修复的目标区域602b的修复图像608b(例如,修复的预览图像)。如参考数字602b所证实的,先前在图6A中参考数字602a下所示的对象不存在于图6B的修复图像608b中。
图7A-7B是描绘用于在输入图像上进行修复的用户指定的目标区域的用户界面的附加示例。参考图7A,用户界面700包括目标区域702a、目标轮廓选择窗格704和引导缩放覆盖窗口706。如图7A所示,用户界面700显示图像708a(例如预览图像),其具有指示用于修复的图像708a的对象(例如,段)的目标区域702a。例如,目标区域702a包括门上的涂鸦。
参考图7B,用户界面700包括修复的目标区域702b和引导缩放覆盖窗口706。如图7b所示,用户界面700显示具有修复的目标区域702b的修复图像708b(例如,修复的预览图像)。如参考数字702b所证明的,先前在图7A中参考数字702a下所示的对象不存在于图7B的修复图像708b中。
在前面的描述中,为了解释的目的,阐述了许多具体细节以便提供对说明书的透彻理解。然而,对于本领域技术人员显而易见的是,可以在没有这些具体细节的情况下实践该技术。在其它实施方式中,结构和设备以框图形式示出,以避免模糊描述。例如,在上面参考用户界面和特定硬件的一些实施方式中描述了说明书。然而,该描述适用于可以接收数据和命令的任何类型的计算设备以及提供服务的任何外围设备。
本文讨论的系统和方法不需要收集或使用用户个人信息。在这里讨论的某些实施方式可以收集或使用关于用户的个人信息(例如,用户数据、关于用户社交网络的信息、用户位置、用户的生物特征信息、用户活动和人口统计信息)的情况下,向用户提供一个或多个以下控制的机会:是否收集个人信息,是否存储个人信息,是否使用个人信息以及如何收集、存储和使用用户的信息。也就是说,本文讨论的系统和方法仅在接收到相关用户的明确授权才能收集、存储和/或使用用户个人信息。此外,某些数据可以在存储或使用之前以一种或多种方式处理,以便去除个人身份信息。作为一个示例,可以对用户的身份进行处理,使得不能确定个人身份信息。作为另一示例,用户的地理位置可以被概括到较大的区域,使得用户的特定位置不能被确定。
在本说明书中对“一些实施方式”或“实施方式”的参考意味着结合实施描述的特定特征、结构或特性被包括在描述的至少一些实例中。在说明书中的各个地方的短语“在一些实施方式中”的出现不一定都指代相同的实施方式。
详细描述的一些部分以在计算机存储器内的数据位上的操作的算法和符号表示来呈现。这些算法描述和表示是数据处理领域的技术人员用来最有效地将他们的工作的实质传达给本领域其他技术人员的手段。算法在这里通常被构想是导致期望结果的自相一致的步骤序列。这些步骤是需要物理量的物理操纵。通常,虽然不一定,但是这些量采取能够被存储、传送、组合、比较和以其它方式操纵的电或磁信号的形式。有时,主要是出于普遍使用的原因,将这些信号指代位、值、元件、符号、字符、术语、数字等是证明方便的。
然而,应该记住,所有这些和相似的术语都应该与适当的物理量相关联,并且仅仅是适用于这些量的方便的标签。除非另有具体说明,否则从下面的讨论中显而易见,应当理解,在整个描述中,利用诸如“处理”或“计算(computing)”或“计算(calculating)”或“确定”或“显示”等术语的讨论指代计算机系统或相似的电子计算设备的动作和过程,其将表示为计算机系统的寄存器和存储器内的物理(电子)量的数据操纵和变换为相似地表示为计算机系统内存储器或寄存器或其它这样的信息存储、传输或显示设备内的物理量的其它数据。
本说明书还涉及用于执行本文操作的装置。该装置可以为所需目的而特别构造,或者可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以存储在计算机可读存储介质中,诸如但不限于包括软盘、光盘、CD-ROM和磁盘的任何类型的盘,只读存储器(ROM),随机存取存储器(RAM),EPROM,EEPROM,磁或光卡,包括具有非易失性存储器的USB密钥的闪存或适用于存储电子指令的任何类型的介质,每个耦合到计算机系统总线。
说明书可以采取完全硬件实施、完全是软件实施或包含硬件和软件元件两者的实施的形式。在一些实施方式中,说明书以软件实施,其包括但不限于固件、驻留软件、微代码等。
此外,该描述可以采取从计算机可用或计算机可读介质访问的计算机程序产品的形式,计算机可用或计算机可读介质提供由计算机或任何指令执行系统使用或与计算机或任何指令执行系统结合使用的程序代码。为了说明的目的,计算机可用或计算机可读介质可以是可以包含、存储、通信、传播或传输程序以供由指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合使用的任何装置。
适于存储和/或执行程序代码的数据处理系统将包括通过系统总线直接或间接耦合到存储器元件的至少一个处理器。存储器元件可以包括在实际执行程序代码期间采用的本地存储器、批量存储和高速缓冲存储器,高速缓冲存储器提供至少一些程序代码的临时存储,以便减少在执行期间必须从批量存储检索代码的次数。
可以直接或通过中间I/O控制器将输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等)耦合到系统。
网络适配器还可以耦合到系统,以使数据处理系统能够通过中间的私有或公共网络耦合到其它数据处理系统或远程打印机或社交网络数据存储。调制解调器、电缆调制解调器和以太网卡是几种目前可用类型的网络适配器。
最后,本文呈现的过程、方法和显示并不固有地与任何特定的计算机或其它装置相关。各种通用系统可以根据本文的教导与程序一起使用,或者可以证明构造更专用的装置来执行所需的方法步骤是方便的。各种这些系统所需的结构将在下面的描述中显示。此外,不参考任何特定编程语言描述该说明书。应当理解,可以使用各种编程语言来实施本文所述的说明书的教导。
为了说明和描述的目的,呈现了说明书的实施方式的前述描述。它不旨在穷举或将说明书限制为所公开的精确形式。鉴于上述教导,许多修改和变化是可能的。旨在本公开的范围不受该详细描述的限制,而是由本申请的权利要求限制。本领域技术人员将理解,在不脱离本说明书的精神或基本特性的情况下,本说明书可以以其它具体形式体现。同样,模块、例程、特征、属性、方法学和其它方面的特定命名和划分不是强制性的或重要的,并且实施说明书或其特征的机制可以具有不同的名称、划分和/或格式。此外,对于相关领域的普通技术人员将显而易见的是,本公开的模块、例程、特征、属性、方法和其它方面可以被实施为软件、硬件、固件或三者的任何组合。而且,任何时候当说明书的组件(它的一个示例是模块)作为软件实施,组件可以被实施为独立程序、大型程序的部分、多个分开程序、静态或动态链接库、内核可加载模块、设备驱动和/或在计算机编程领域的普通技术人员现在或未来所知的每个任何其它方式。此外,本公开绝不限于任何特定编程语言或任何特定操作系统或环境的实施。因此,本公开旨在说明而不是限制在所附权利要求中阐述的说明书的范围。
Claims (21)
1.一种计算机实施的方法,包括:
使用一个或多个计算设备,从客户端接收图像数据,所述图像数据包括与输入图像相关联的参数;
使用所述一个或多个计算设备,基于预定缩放因子来计算所述图像数据的所述参数的缩放;
使用所述一个或多个计算设备,确定与所述输入图像相关联的目标区域的第一变换;
响应于确定与所述输入图像相关联的所述目标区域的所述第一变换,使用所述一个或多个计算设备,基于所述变换来更新所述输入图像;以及
使用所述一个或多个计算设备,提供所更新的输入图像以用于显示给用户。
2.根据权利要求1所述的计算机实施的方法,还包括:
从所述用户接收用于预览所述输入图像的第一输入;
提供与所述输入图像相关联的预览图像以用于显示;
从所述用户接收用于所述目标区域的第二输入,所述目标区域指示要修改的所述输入图像的段;
基于所述第二输入修改所述输入图像的所述段;以及
提供所修改的输入图像以用于显示给所述用户。
3.根据权利要求2所述的计算机实施的方法,其中所述预览图像包括基于所述输入图像的下采样图像。
4.根据权利要求2所述的计算机实施的方法,其中修改所述输入图像的所述段还包括:
标识在所述预览图像上的搜索区域的第二变换,所述搜索区域包括所述第一变换和所述目标区域;
确定所述目标区域的边界参数和所述搜索区域的边界参数;
针对所述目标区域的所述边界参数与所述搜索区域的所述边界参数之间的边界参数相似性来分析所述预览图像;
计算在所述目标区域和所述搜索区域之间的所述边界参数相似性的边界偏差误差,所述边界偏差误差反映所述目标区域的所述边界参数与所述搜索区域的所述边界参数之间的相似性置信度;以及
将像素集合从所述搜索区域变换到所述目标区域上。
5.根据权利要求4所述的计算机实施的方法,其中将所述像素集合从所述搜索区域变换到所述目标区域上是响应于所述边界偏差误差满足预定像素阈值的。
6.根据权利要求4所述的计算机实施的方法,还包括:
使用所述参数的所述缩放和无缝图像克隆来计算目标区域细化;以及
使用图像增强来计算所述目标区域的所述边界参数的边缘细化。
7.根据权利要求1所述的计算机实施的方法,其中所述图像数据包括所述输入图像的尺寸标识符。
8.一种包括非暂时计算机可读介质的计算机程序产品,所述非暂时计算机可读介质包括计算机可读程序,其中所述计算机可读程序当在计算机上执行时使得所述计算机执行操作,所述操作包括:
使用一个或多个计算设备,从客户端接收图像数据,所述图像数据包括与输入图像相关联的参数;
使用所述一个或多个计算设备,基于预定缩放因子来计算所述图像数据的所述参数的缩放;
使用所述一个或多个计算设备,确定与所述输入图像相关联的目标区域的第一变换;
响应于确定与所述输入图像相关联的所述目标区域的所述第一变换,使用所述一个或多个计算设备,基于所述变换来更新所述输入图像;以及
使用所述一个或多个计算设备,提供所更新的输入图像以用于显示给用户。
9.根据权利要求8所述的计算机程序产品,其中所述操作还包括:
从所述用户接收用于预览所述输入图像的第一输入;
提供与所述输入图像相关联的预览图像以用于显示;
从所述用户接收用于所述目标区域的第二输入,所述目标区域指示要修改的所述输入图像的段;
基于所述第二输入修改所述输入图像的所述段;以及
提供所修改的输入图像以用于显示给所述用户。
10.根据权利要求9所述的计算机程序产品,其中所述预览图像包括基于所述输入图像的下采样图像。
11.根据权利要求9所述的计算机程序产品,其中修改所述输入图像的所述段的操作还包括:
标识在所述预览图像上的搜索区域的第二变换,所述搜索区域包括所述第一变换和所述目标区域;
确定所述目标区域的边界参数和所述搜索区域的边界参数;
针对所述目标区域的所述边界参数与所述搜索区域的所述边界参数之间的边界参数相似性来分析所述预览图像;
计算在所述目标区域和所述搜索区域之间的所述边界参数相似性的边界偏差误差,所述边界偏差误差反映所述目标区域的所述边界参数与所述搜索区域的所述边界参数之间的相似性置信度;以及
将像素集合从所述搜索区域变换到所述目标区域上。
12.根据权利要求11所述的计算机程序产品,其中将所述像素集合从所述搜索区域变换到所述目标区域上是响应于所述边界偏差误差满足预定像素阈值的。
13.根据权利要求11所述的计算机程序产品,其中所述操作还包括:
使用所述参数的所述缩放和无缝图像克隆来计算目标区域细化;以及
使用图像增强来计算所述目标区域的所述边界参数的边缘细化。
14.根据权利要求8所述的计算机程序产品,其中所述图像数据包括所述输入图像的尺寸标识符。
15.一种系统,包括:
处理器;以及
存储器,所述存储器存储指令,所述指令在被执行时使得所述系统执行包括以下的操作:
使用一个或多个计算设备,从客户端接收图像数据,所述图像数据包括与输入图像相关联的参数;
使用所述一个或多个计算设备,基于预定缩放因子来计算所述图像数据的所述参数的缩放;
使用所述一个或多个计算设备,确定与所述输入图像相关联的目标区域的第一变换;
响应于确定与所述输入图像相关联的所述目标区域的所述第一变换,使用所述一个或多个计算设备,基于所述变换来更新所述输入图像;以及
使用所述一个或多个计算设备,提供所更新的输入图像以用于显示给用户。
16.根据权利要求15所述的系统,其中所述操作还包括:
从所述用户接收用于预览所述输入图像的第一输入;
提供与所述输入图像相关联的预览图像以用于显示;
从所述用户接收用于所述目标区域的第二输入,所述目标区域指示要修改的所述输入图像的段;
基于所述第二输入修改所述输入图像的所述段;以及
提供所修改的输入图像以用于显示给所述用户。
17.根据权利要求16所述的系统,其中所述预览图像包括基于所述输入图像的下采样图像。
18.根据权利要求16所述的系统,其中用于修改所述输入图像的所述段的操作还包括:
标识在所述预览图像上的搜索区域的第二变换,所述搜索区域包括所述第一变换和所述目标区域;
确定所述目标区域的边界参数和所述搜索区域的边界参数;
针对所述目标区域的所述边界参数与所述搜索区域的所述边界参数之间的边界参数相似性来分析所述预览图像;
计算在所述目标区域和所述搜索区域之间的所述边界参数相似性的边界偏差误差,所述边界偏差误差反映所述目标区域的所述边界参数与所述搜索区域的所述边界参数之间的相似性置信度;以及
将像素集合从所述搜索区域变换到所述目标区域上。
19.根据权利要求18所述的系统,其中,其中将所述像素集合从所述搜索区域变换到所述目标区域上是响应于所述边界偏差误差满足预定像素阈值的。
20.根据权利要求18所述的系统,还包括:
使用所述参数的所述缩放和无缝图像克隆来计算目标区域细化;以及
使用图像增强来计算所述目标区域的所述边界参数的边缘细化。
21.根据权利要求15所述的系统,其中所述图像数据包括所述输入图像的尺寸标识符。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562144814P | 2015-04-08 | 2015-04-08 | |
US62/144,814 | 2015-04-08 | ||
PCT/US2016/025913 WO2016164317A1 (en) | 2015-04-08 | 2016-04-04 | Image editing and repair |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107430768A true CN107430768A (zh) | 2017-12-01 |
CN107430768B CN107430768B (zh) | 2020-11-13 |
Family
ID=55910338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680016380.5A Active CN107430768B (zh) | 2015-04-08 | 2016-04-04 | 图像编辑和修补 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10127634B2 (zh) |
EP (1) | EP3281176A1 (zh) |
CN (1) | CN107430768B (zh) |
WO (1) | WO2016164317A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110276818A (zh) * | 2018-03-14 | 2019-09-24 | 奥多比公司 | 用于自动合成内容感知填充的交互式系统 |
CN110795577A (zh) * | 2019-04-09 | 2020-02-14 | 韩领有限公司 | 用于有效管理和修改图像的系统和方法 |
CN110855897A (zh) * | 2019-12-20 | 2020-02-28 | 维沃移动通信有限公司 | 图像拍摄方法、装置、电子设备及存储介质 |
US10789681B2 (en) | 2015-04-08 | 2020-09-29 | Google Llc | Image editing and repair |
CN112384910A (zh) * | 2018-07-04 | 2021-02-19 | 瑞典爱立信有限公司 | 无线设备、计算机服务器节点及其方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170366579A1 (en) * | 2016-06-16 | 2017-12-21 | Mariana Assuncao Aguiar | System and method for controlled customization of branded artwork |
CN107133934B (zh) * | 2017-05-18 | 2020-03-17 | 北京小米移动软件有限公司 | 图像补全方法及装置 |
US10825157B2 (en) * | 2017-09-29 | 2020-11-03 | Apple Inc. | Glare reduction in captured images |
KR102459717B1 (ko) * | 2018-03-29 | 2022-10-27 | 삼성전자 주식회사 | 이미지에 포함된 반사 객체의 속성에 기반하여, 반사 객체에 다른 이미지를 합성하는 방법 및 전자 장치 |
JP6570164B1 (ja) * | 2018-11-28 | 2019-09-04 | 株式会社ツバサファクトリー | コンピュータプログラム、画像処理方法、及び画像処理装置 |
CN110248098B (zh) * | 2019-06-28 | 2021-08-24 | Oppo广东移动通信有限公司 | 图像处理方法、装置、存储介质及电子设备 |
CN113362233B (zh) * | 2020-03-03 | 2023-08-29 | 浙江宇视科技有限公司 | 图片处理方法、装置、设备、系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080270210A1 (en) * | 2006-01-12 | 2008-10-30 | International Business Machines Corporation | System and method for evaluating a requirements process and project risk-requirements management methodology |
US7577313B1 (en) * | 2003-12-30 | 2009-08-18 | Adobe Systems Incorporated | Generating synthesized texture in differential space |
US8380005B1 (en) * | 2009-02-02 | 2013-02-19 | Adobe Systems Incorporated | System and method for image composition using non-destructive editing model and fast gradient solver |
CN104995657A (zh) * | 2013-01-24 | 2015-10-21 | 谷歌公司 | 用于调整图像大小的系统和方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5907640A (en) | 1993-03-25 | 1999-05-25 | Live Picture, Inc. | Functional interpolating transformation system for image processing |
US6587592B2 (en) | 2001-11-16 | 2003-07-01 | Adobe Systems Incorporated | Generating replacement data values for an image region |
US6987520B2 (en) | 2003-02-24 | 2006-01-17 | Microsoft Corporation | Image region filling by exemplar-based inpainting |
US7327374B2 (en) | 2003-04-30 | 2008-02-05 | Byong Mok Oh | Structure-preserving clone brush |
US7558433B1 (en) | 2003-12-30 | 2009-07-07 | Adobe Systems Incorporated | Healing by texture synthesis in differential space |
US7689016B2 (en) | 2005-05-27 | 2010-03-30 | Stoecker & Associates, A Subsidiary Of The Dermatology Center, Llc | Automatic detection of critical dermoscopy features for malignant melanoma diagnosis |
US20080123976A1 (en) | 2006-09-22 | 2008-05-29 | Reuters Limited | Remote Picture Editing |
WO2008067333A2 (en) | 2006-11-27 | 2008-06-05 | Nik Software, Inc. | Method for sliced inpainting |
US8780135B2 (en) | 2009-02-26 | 2014-07-15 | Adobe Systems Incorporated | System and method for reducing the appearance of residuals in gradient-based image compositing |
CN102460515B (zh) | 2009-05-06 | 2015-12-02 | 奥多比公司 | 利用针对图像区域提供的附加内容来生成经修改的图像 |
EP3281176A1 (en) | 2015-04-08 | 2018-02-14 | Google LLC | Image editing and repair |
-
2016
- 2016-04-04 EP EP16720218.3A patent/EP3281176A1/en not_active Withdrawn
- 2016-04-04 CN CN201680016380.5A patent/CN107430768B/zh active Active
- 2016-04-04 US US15/090,476 patent/US10127634B2/en active Active
- 2016-04-04 WO PCT/US2016/025913 patent/WO2016164317A1/en active Application Filing
-
2018
- 2018-10-19 US US16/165,962 patent/US10789681B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7577313B1 (en) * | 2003-12-30 | 2009-08-18 | Adobe Systems Incorporated | Generating synthesized texture in differential space |
US20080270210A1 (en) * | 2006-01-12 | 2008-10-30 | International Business Machines Corporation | System and method for evaluating a requirements process and project risk-requirements management methodology |
US8380005B1 (en) * | 2009-02-02 | 2013-02-19 | Adobe Systems Incorporated | System and method for image composition using non-destructive editing model and fast gradient solver |
CN104995657A (zh) * | 2013-01-24 | 2015-10-21 | 谷歌公司 | 用于调整图像大小的系统和方法 |
Non-Patent Citations (1)
Title |
---|
TODOR GEORGIEV: "Photoshop Healing Brush:a Tool for Seamless Cloning", 《WORKSHOP ON APPLICATIONS OF COMPUTER VISION (ECCV 2004)》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10789681B2 (en) | 2015-04-08 | 2020-09-29 | Google Llc | Image editing and repair |
CN110276818A (zh) * | 2018-03-14 | 2019-09-24 | 奥多比公司 | 用于自动合成内容感知填充的交互式系统 |
CN110276818B (zh) * | 2018-03-14 | 2024-07-12 | 奥多比公司 | 用于自动合成内容感知填充的交互式系统 |
CN112384910A (zh) * | 2018-07-04 | 2021-02-19 | 瑞典爱立信有限公司 | 无线设备、计算机服务器节点及其方法 |
CN110795577A (zh) * | 2019-04-09 | 2020-02-14 | 韩领有限公司 | 用于有效管理和修改图像的系统和方法 |
CN110795577B (zh) * | 2019-04-09 | 2023-10-24 | 韩领有限公司 | 用于有效管理和修改图像的系统和方法 |
CN110855897A (zh) * | 2019-12-20 | 2020-02-28 | 维沃移动通信有限公司 | 图像拍摄方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3281176A1 (en) | 2018-02-14 |
US10127634B2 (en) | 2018-11-13 |
US20160300327A1 (en) | 2016-10-13 |
WO2016164317A1 (en) | 2016-10-13 |
US10789681B2 (en) | 2020-09-29 |
US20190057489A1 (en) | 2019-02-21 |
CN107430768B (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107430768A (zh) | 图像编辑和修补 | |
US20210232304A1 (en) | Modifying style layer properties of a digital map | |
US10657652B2 (en) | Image matting using deep learning | |
US20190196698A1 (en) | Removing and Replacing Objects in Images According to a Directed User Conversation | |
US20230055241A1 (en) | Digital processing systems and methods for external events trigger automatic text-based document alterations in collaborative work systems | |
US11216998B2 (en) | Jointly editing related objects in a digital image | |
US10963806B2 (en) | Systems, apparatus, and methods for generating prediction sets based on a known set of features | |
US20200344188A1 (en) | Systems and Methods for Providing Real-Time, Interactive Email Content | |
US20180373705A1 (en) | User device and computer program for translating recognized speech | |
US20200167832A1 (en) | Generating advertisements on the fly with a feedback loop | |
TW202125345A (zh) | 用於組織分割之機器學習模型的交互式訓練 | |
WO2022153122A1 (en) | Systems, methods, and devices for enhanced collaborative work documents | |
US11232607B2 (en) | Adding color to digital images | |
CN104184791A (zh) | 图像效果提取 | |
CN115115740A (zh) | 思维导图识别方法、装置、设备、介质及程序产品 | |
US20210081726A1 (en) | Model-based image labeling and/or segmentation | |
KR102678177B1 (ko) | 조합형 의사 표현 이미지 아이템을 제공하는 메시지 처리 방법 및 그 장치 | |
US11681673B1 (en) | Apparatus and method for data object generation and control | |
KR101575446B1 (ko) | 패션 디자인에 관한 인터랙션을 가능케 하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 | |
KR102596684B1 (ko) | 조합형 의사 표현 이미지 아이템을 제공하는 메시지 처리 방법 및 그 장치 | |
Fang et al. | Error‐bounded Image Triangulation | |
CN118470046A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN117294894A (zh) | 一种视频目标编辑方法、终端设备及存储介质 | |
CN113806626A (zh) | 一种推送消息的发送方法及系统 | |
CN116862279A (zh) | 一种指标体系构建方法、系统、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: American California Applicant after: Google limited liability company Address before: American California Applicant before: Google Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |