CN104221359B - 用于色彩片段的色彩调节器 - Google Patents
用于色彩片段的色彩调节器 Download PDFInfo
- Publication number
- CN104221359B CN104221359B CN201380019491.8A CN201380019491A CN104221359B CN 104221359 B CN104221359 B CN 104221359B CN 201380019491 A CN201380019491 A CN 201380019491A CN 104221359 B CN104221359 B CN 104221359B
- Authority
- CN
- China
- Prior art keywords
- image
- color
- controls
- colour
- group
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/62—Retouching, i.e. modification of isolated colours only or in isolated picture areas only
- H04N1/622—Retouching, i.e. modification of isolated colours only or in isolated picture areas only with simulation on a subsidiary picture reproducer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
- Color Image Communication Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
- Editing Of Facsimile Originals (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
本发明描述了一种具有用于调节在色彩空间中所表现出的图像的色值的计算机程序的非暂态机器可读介质。该图像包括一组像素。每个像素具有一组色值。该计算机程序接收用于调节图像的与内容类型相关联的色值的用户界面(UI)项目上的用户输入。该计算机程序识别具有落入与内容类型相关联的色值范围内的色值的像素的子组。该计算机程序对像素的所识别的子组执行色彩调节操作。
Description
背景技术
数字图形设计和图像编辑应用程序(在下文中统称为图像编辑应用程序)为图形设计师、媒体艺术家、以及其他用户提供了查看和编辑图像的必要工具。这样的应用程序的实例包括和Final Cut所有这些应用程序都由Apple,Inc.售卖。这些应用程序赋予用户以多种方式编辑图像的能力。例如,一些应用程序提供不同的范围滑动条以用于调节图像的或视频中的不同色值。
然而,许多图像编辑应用程序没有提供直观的色彩调节控件。例如,为了有效地使用现有色彩调节工具中的大多数,要求用户具有关于色彩编辑的广博的知识。此外,用于调节图像的色值的不同方面的控件分布在用户界面的不同位置中。这些缺陷使得在对图像进行编辑时的不必要的不便。
发明内容
本发明描述了用于在图像编辑应用程序中对图像进行编辑的若干新颖的用户界面(UI)工具的实施例。在一些实施例中,图像编辑应用程序提供一组UI控件用于仅对图像的与内容类型(例如天空、树叶等)相关的部分的色值进行调节,该内容类型与色彩范围相关联。当通过用于调节图像上的内容类型的色值的UI控件来接收输入时,应用程序自动识别与该内容类型相关联的图像中的一组像素。应用程序然后基于该用户输入而仅调节所识别的这组像素的色值。
在一些实施例中,每个UI控件用于调节与图像中不同内容类型相关的色值。这些实施例的应用程序在色彩空间中为每种内容类型来定义色值范围。当通过特定UI控件来接收输入时,应用程序对图像中的所有像素进行搜索并且识别具有落入该色值范围内的色值的一组像素,为对应于所述特定UI控件的内容类型定义该色值范围。
图像包括具有在色彩空间中所定义的色值的像素。在一些实施例中,图像的色值在色彩空间中被定义,该色彩空间不同于在其中定义与不同内容类型相关联的色值范围的特定的色彩空间。在这些实施例中,在识别这组像素之前,应用程序将图像的色值从其原始色彩空间转换到在其中定义色值范围的特定的色彩空间。
在一些实施例中,每个色彩调节包括用于指定要应用于图像的不同调节程度的调节值范围。在这些实施例中,UI控件还提供用于用户指定调节值来控制应用于图像的调节程度的装置。不同的实施例使用不同的技术来实现这组UI控件。例如,一些实施例的应用程序将这组UI控件实现为一组范围滑动条。在这些实施例中,用户可通过选择范围滑动条上的不同位置来指定不同调节值。
在一些实施例中,响应于特定UI控件上的用户输入,应用程序对图像的色值仅执行一种类型的调节(例如饱和度调节)。然而,响应于特定UI控件上的单个用户输入,其他一些实施例的应用程序对图像的色值执行多于一种类型的调节。例如,响应于用户输入,一些实施例的应用程序可对图像的色值执行饱和度调节、对比度调节和明度调节。在这些实施例中,应用程序使用该单个用户输入来确定每种调节操作的调节值并且将这些调节操作应用到图像。
一些实施例提供另一新颖的UI以用于在图像编辑应用程序中编辑图像。在这些实施例中,应用程序提供了允许用户选择图像上的位置的一种图像编辑工具并且当在图像上的所选择的位置处检测到不同内容类型时显示与用于应用于图像的不同图像编辑操作相关联的不同UI控件。在这些实施例中,用户选择图像上的位置,应用程序的图像编辑工具检索对应于图像上的所选择的位置的来自图像的像素的色值。色彩编辑工具然后对像素值执行一组分析以检测所选择的位置是否代表特定的内容类型。基于所检测到的内容类型,色彩编辑工具确定一组图像编辑操作并且显示与所确定的图像编辑操作相关联的一组UI控件。在一些实施例中,UI控件叠放在图像上。
不同的实施例对图像的所检索到的色值执行不同分析。在一些实施例中,应用程序执行用于检测图像的所选择的位置是否代表预定义的内容类型的一组分析。在这些实施例中,应用程序已为不同的内容类型定义不同的色值范围。应用程序然后确定所检索到的色值是否落入这些色值范围中的任何一者内。当所检索到的色值落入特定色值范围内时,应用程序将所检索到的色值以及所选择的位置与对应的内容类型相关联。应用程序然后基于所检测到的内容类型来提供一组叠放的UI控件。
在一些实施例中,这组UI控件叠放在图像上或者叠放在所选择的位置附近。在一些实施例中,叠放的UI控件是不透明的控件或透明的控件。用户可通过在图像上提供输入来操控这些UI控件。在这些实施例中的一些实施例中,UI控件是依赖于方向的UI控件,用户借助于依赖于方向的UI控件可通过提供特定定向输入来选择特定图像编辑操作。当用户在图像上提供定向输入时,应用程序基于所述输入的方向将所述输入与UI控件之一相关联,并且将对应的调节来应用于图像。
在一些实施例中,通过UI控件叠放而可在图像上执行的每种图像编辑操作包括用于指定要在图像上执行的不同编辑程度的调节值范围。在这些实施例中,应用程序还基于由用户所提供的定向输入来识别量值。应用程序然后基于该输入的所识别的量值来计算用于图像编辑操作的调节值,并且在图像上用所计算的调节值来执行图像编辑操作。
除了依赖于内容的UI控件之外,一些实施例中的应用程序还提供一种用于调节图像的色彩平衡的新颖的UI。在一些实施例中,应用程序提供了一种色彩平衡UI控件,其允许用户选择图像上的位置。应用程序然后检索对应于所选择的位置的像素的色值,并且确定将该像素的色值改变为所建立的基线色彩(例如灰色、理想肤色等)的色彩调节。基于该色彩调节,应用程序生成将图像中的每一色彩映射到不同色彩的色彩空间转换。应用程序然后将该色彩空间转换应用于图像中的所有像素。
不同实施例为色彩平衡操作提供不同的基线色彩。在将灰色建立为基线色彩的一些实施例中,用户可借助于色彩平衡UI通过选择显示而呈现为灰色的对象的图像中的位置来调节图像的色彩平衡。在其他实施例中,应用程序可将理想肤色建立为基线色彩。在这些实施例中,用户借助于色彩平衡UI通过选择显示人的脸的图像中的位置来调节图像的色彩平衡。
在一些实施例中,应用程序提供叠放在图像上的色彩平衡UI控件以用于调节图像的色彩平衡。在这些实施例中的一些实施例中,色彩平衡UI控件能在图像上移动,并且允许用户通过将色彩平衡UI控件移动到期望的位置来指定图像上的位置。
在一些实施例中,色彩平衡UI控件提供缩放能力以允许用户精确地选择用于白平衡操作的位置。在这些实施例中,色彩平衡UI控件包括闭合边界。应用程序放大(即扩大)色彩平衡UI控件的闭合边界内的图像部分。由于色彩平衡UI控件的闭合边界内的图像呈现得更大,所以用户可更精确地挑选图像上的位置。
除了缩放能力之外,色彩平衡UI控件还可为用户提供已编辑的图像的预览。在一些实施例中,应用程序显示位于色彩平衡UI控件的闭合边界外的图像的部分的已编辑版本,同时显示位于该闭合边界内的图像的部分的未编辑版本。
前面的发明内容部分旨在用作对本文中所述的一些实施例的简要介绍。其并非意味着对在本文档中所公开的所有发明主题进行介绍或概述。随后的具体实施方式以及在具体实施方式中所参照的附图将进一步描述发明内容中所述的实施例以及其他实施例。因此,为了理解该文档所描述的所有实施例,需要全面审阅发明内容、具体实施方式和附图。此外,受权利要求书保护的题材不被发明内容、具体实施方式及附图中的示例性细节所限定,而是被所附权利要求所限定,这是因为受权利要求书保护的题材在不脱离本题材的实质的情况下能够以其他特定形式而体现。
附图说明
在所附权利要求中示出了这里所描述的新颖特征。然而,为了解释的目的,在以下附图中示出若干实施例。
图1示出了基于在图像上所选择的不同位置而提供不同的叠放的UI控件的一个示例。
图2示出了使用自定义的色彩平衡UI控件来调节图像的色彩平衡的一个示例。
图3示出了通过一些实施例的图像编辑应用程序的GUI来调节图像的饱和度的一个示例。
图4示出了通过一些实施例的图像编辑应用程序的GUI来调节图像的饱和度的另一示例。
图5示出了识别具有落入为肤色色彩所定义的色值范围内的色值的一组像素的一个示例。
图6示出了基于图像上的肤色色彩来调节图像的色温的一个示例。
图7示出了通过一些实施例的图像编辑应用程序的GUI来仅对图像的代表天空的部分进行调节的一个示例。
图8示出了识别具有落入为天空色彩所定义的色值范围内的色值的一组像素的一个示例。
图9示出了通过一些实施例的图像编辑应用程序的GUI来仅对图像的代表树叶的部分进行调节的一个示例。
图10示出了通过一些实施例的图像编辑应用程序的GUI来仅对图像的代表树叶的部分进行调节的另一示例。
图11示出了识别具有落入为树叶色彩所定义的色值范围内的色值的一组像素的一个示例。
图12示出了通过一些实施例的图像编辑应用程序的不同的GUI来调用一组色彩调节工具的一个示例。
图13示出了通过一些实施例的图像编辑应用程序的不同的GUI来取消选择一组色彩调节工具的一个示例。
图14示出了通过一些实施例的图像编辑应用程序的不同的GUI来仅对图像的代表天空的部分进行调节的另一示例。
图15示出了通过一些实施例的图像编辑应用程序的不同的GUI来仅对图像的代表树叶的部分进行调节的另一示例。
图16概念性地示出了用于基于用户对图像上的位置的选择来仅调节图像的一部分的一些实施例的过程。
图17概念性地示出了用于基于单个用户输入来对图像执行多个色彩调节的一些实施例的一种过程。
图18概念性地示出了一些实施例的一种图像编辑应用程序的一种软件架构。
图19概念性地示出了用于基于图像上的所选择的不同位置来提供不同的图像上UI控件的一些实施例的过程。
图20示出了基于图像上的所选择的不同位置来提供不同的图像上UI控件的一个示例。
图21示出了通过一些实施例的图像编辑应用程序的GUI来调节图像的饱和度的一个示例。
图22示出了通过一些实施例的图像编辑应用程序的GUI基于图像的肤色色彩来调节图像的色温的一个示例。
图23示出了通过一些实施例的图像编辑应用程序的GUI来仅对图像的代表天空的部分进行调节的一个示例。
图24示出了通过一些实施例的图像编辑应用程序的GUI来仅对图像的代表树叶的部分进行调节的一个示例。
图25示出了图像上UI控件的两个示例性具体实施。
图26概念性地示出了用于基于图像上的所选择的不同位置来提供不同的色彩调节UI控件的一些实施例的过程。
图27概念性地示出了识别定向输入的方向和量值的一个示例。
图28概念性地示出了用于基于定向输入来确定具体色彩调节的一些实施例的过程。
图29概念性地示出了一些实施例的一种图像编辑应用程序的一种软件架构。
图30示出了使用图像上UI控件的一种有益效果。
图31示出了基于图像上的所选择的不同位置来提供不同的图像上UI控件的一个示例。
图32示出了通过一些实施例的图像编辑应用程序的GUI来调节图像的对比度的一个示例。
图33示出了通过一些实施例的图像编辑应用程序的GUI来调节图像的暗区的一个示例。
图34示出了通过一些实施例的图像编辑应用程序的GUI来调节图像的亮区的一个示例。
图35示出了通过一些实施例的图像编辑应用程序的GUI来调节图像的明度的一个示例。
图36概念性地示出了用于基于图像上的所选择的不同位置来提供不同的色彩调节UI控件的一些实施例的过程。
图37示出了通过一些实施例的图像编辑应用程序的GUI来对图像执行自定义的白平衡操作的一个示例。
图38示出了生成用于自定义的白平衡操作的一种色彩空间转换的一个示例。
图39示出了通过一些实施例的图像编辑应用程序的GUI来对图像执行自定义的脸部平衡操作的一个示例。
图40示出了生成用于自定义的脸部平衡操作的一种色彩空间转换的一个示例。
图41示出了通过一些实施例的图像编辑应用程序的GUI基于平均肤色色彩来调节图像的色温的一个示例。
图42示出了通过一些实施例的图像编辑应用程序的GUI基于理想肤色色彩来调节图像的色温的一个示例。
图43示出了通过一些实施例的图像编辑应用程序的不同的GUI来调用一组色彩平衡工具的一个示例。
图44概念性地示出了用于对图像执行自定义的色彩平衡操作的一些实施例的过程。
图45概念性地示出了用于生成用于自定义的色彩平衡操作的一种色彩空间转换的一些实施例的过程。
图46概念性地示出了一些实施例的一种图像编辑应用程序的一种软件构架。
图47示出了一些实施例的一种图像编辑应用程序的一个示例性GUI。
图48概念性地示出了一些实施例的一种图像数据结构。
图49概念性地示出了在其上执行一种图像编辑应用程序的一些实施例的一种设备的一种硬件构架。
图50概念性地示出了一种电子系统,利用该电子系统来实施本发明的一些实施例。
具体实施方式
在下面的具体实施方式中示出并描述了图像编辑工具和图像编辑应用程序的许多细节、实例和实施例。然而,对于本领域的技术人员来说将清楚和显而易见的是,本发明并不限于所示出的实施例,并且本发明可在没有所讨论的具体细节和实例的情况下被实施。
本发明描述了用于在图像编辑应用程序中编辑图像的多个新颖的用户界面(UI)工具的实施例。在一些实施例中,图像编辑应用程序提供一组UI控件以用于仅对图像的与内容类型(例如天空、树叶等)相关的部分的色值进行调节,该内容类型与色彩范围相关联。当通过用于调节图像上的内容类型的色值的UI控件来接收到输入时,应用程序自动识别与该内容类型相关联的图像中的一组像素。应用程序然后基于该用户输入仅调节所识别的这组像素的色值。
在一些实施例中,这组UI控件包括用于仅调节图像中的天空色彩的色值的UI控件。在这些实施例中,应用程序首先识别图像中的具有落入预定义的天空色值范围内的色值的一组像素。应用程序然后将色彩调节仅应用于所识别的这组像素。除了调节天空色彩的色值之外,一些实施例中的这组UI控件还包括用于仅调节图像中树叶色彩的色值的UI控件。类似地,应用程序识别图像中的具有落入预定义的树叶色值范围内的色值的一组像素,并且将色彩调节仅应用于所识别的这组像素。用于调节蓝天色彩和树叶色彩的色彩调节操作将在章节I中在下面被更详细地描述。
此外,一些实施例的图像编辑应用程序还提供允许用户选择图像上的位置的图像编辑工具,并且当从图像上的所选择的位置检测到不同内容类型时,显示与用于应用于图像的不同图像编辑操作相关联的不同的UI控件。在这些实施例中,用户选择图像上的位置,应用程序的图像编辑工具检索对应于图像上的所选择的位置的来自该图像的像素的色值。应用程序然后对像素值执行一组分析以检测所选择的位置是否代表特定的内容类型。基于所检测到的内容类型,色彩编辑工具确定一组图像编辑操作并且显示与所确定的图像编辑操作相关联的一组UI控件。提供依赖于内容的图像上UI控件的不同实施例将在章节II中在下面被更详细地描述。
图1示出了提供用于仅调节图像的一部分的色值的一组UI控件的一些实施例的一种图像编辑应用程序的一个示例性GUI 100。具体地,图1示出了在四个不同阶段105、110、115和120处激活和操控不同组UI控件的操作。这些阶段中的每一个阶段都将在下文中被更详细地描述。
如图1中所示,GUI 100包括图像195和一组色彩调节UI控件125-135。这些色彩调节UI控件中的每一个色彩调节UI控件用于发起用于该图像的不同部分的不同色彩调节。例如,UI控件125用于将“调节A”应用于整个图像,UI控件130用于将“调节B”应用于图像的天空区域,而UI控件135用于将“调节C”应用于图像的树叶区域。
不同的实施例使用不同的技术来实现这组UI控件。在这个实例中,应用程序将这组UI控件实现为一组范围滑动条。在这些实施例中,用户可通过选择并操控不同UI控件125-135来对图像发起不同的调节操作。除了范围滑动条之外,GUI 100还允许用户通过激活对应于这组UI控件125-135的一组叠放UI的控件(也被称为图像上UI控件)来发起调节操作。
第二阶段110示出了在用户已激活一组叠放的UI控件之后的GUI 100。在一些实施例中,用户可通过选择图像上的位置来激活一组叠放的UI控件。在这些实施例中,应用程序检索对应于所选择的位置的像素的色值,并且将该色值与预定义的内容之一相关联。应用程序然后提供与相关联的内容类型相关的一组叠放的UI控件。如图所示,用户已选择了显示天空的图像195上的位置。可通过在具有显示该图像的触感屏或近触感屏的设备上的位置处执行手势、或者通过将光标放置在该图像上的这个位置处并提供输入(例如点击光标控制设备、按下热键等)来执行对图像195上的这个位置的选择。在一个实施例中,用户可通过在图像的某一位置处轻击或放置手指来选择该位置。在其他实施例中,可执行其他手势来选择位置。如上所述,在用户已选择了图像上的位置之后,一些实施例的图像编辑应用程序执行至少一个分析以将所选择的位置与预定义的内容类型相关联。不同的实施例使用不同的技术来确定与所选择的位置相关联的内容类型。一些实施例的应用程序首先定义要与不同内容类型相关联的不同色值范围。应用程序然后确定对应于图像中的所选择的位置的一组像素的色值是否落入与特定的内容类型相关联的色值范围内,并且显示与该特定的内容类型相关联的一组图像上UI控件。在这个实例中,应用程序确定与蓝天相关联的所选择的位置。因此,应用程序提供对应于用于对图像的天空区域执行“调节B”的UI控件140的一组图像上UI控件155和160(被显示为沿水平轴线的两个定向箭头)。
应用程序还提供对应于用于对整个图像执行“调节A”的UI控件125的一组叠放的UI控件145和150(被显示为沿垂直轴线的两个定向箭头)。这组叠放的UI控件145和150是不依赖于内容的。即,应用程序提供与图像上的所选择的位置无关的这组叠放的UI控件145和150。在一些实施例中,应用程序还突出显示UI控件125和130以指示UI控件125和130被激活。(UI控件的边缘被加粗以便指示该UI控件被突出显示。)虽然在这个图中未被示出,但是在这个第二阶段110中用户可通过在图像上提供定向输入来选择特定的色彩调节(即“调节A”或“调节B”)。应当理解,调节A可反过来在垂直方向上被执行,而调节B可在水平方向上被执行。
第三阶段115示出了在用户已选择图像195上的不同位置之后的GUI100。可通过在具有显示该图像的触感屏或近触感屏的设备上的位置处执行手势、或者通过将光标放置在该图像的这个位置处并且提供输入(例如点击光标控制设备、按下热键等)来执行对图像195上的这个位置的选择。在一个实施例中,用户可通过在图像一位置处轻击或放置手指来选择位置。在其他实施例中,可执行其他手势以选择位置。如图所示,用户已选择了示出高山的图像上的位置。基于对这个新位置的选择,应用程序显示对应于用于对图像的树叶区域执行“调节C”的UI控件135的不同组叠放的UI控件175和180(被显示为沿水平轴线的两个定向箭头)。应用程序还突出显示UI控件135以指示UI控件130被激活。在一些实施例中,UI控件135通过具有包围该UI控件的形状上的更厚的边缘来被突出显示。在其他实施例中,UI控件135通过以比显示于GUI中的其他UI控件更亮的色彩被显示来被突出显示。类似于第二阶段110,应用程序还提供对应于用于对图像执行“调节A”的UI控件125的这组叠放的UI控件145和150,因为这组叠放的UI控件是不依赖于内容的。
第四阶段120示出了在用户已通过提供定向输入来发起了对图像的色彩调节之后的GUI 100。可通过沿基本上水平的方向拖动具有触感屏或近触感屏的设备上的用户的手指或拖动光标来提供定向输入。在这个实例中,用户通过将用户的手指向图像的右边拖动(如通过箭头140所指出的)来提供定向输入。应用程序将该定向输入与用于对图像195执行调节C的图像上UI控件180相关联。如图所示,图像195的树叶区域(例如显示高山的区域)已被调节,如通过横跨图像195的部分的斜线所指出的。第四阶段120还示出了一旦应用程序已将定向输入与一组图像上UI控件相关联,未激活的图像上UI控件145和150从显示中被去除,并且对应的UI控件125不再被突出显示。在一些实施例中,UI控件145和150逐渐消失。第四阶段120还示出了当用户将手指移动到不同的位置时,被激活的叠放的UI控件跟随手指。换句话讲,所显示的叠放的UI控件被动画显示以便在所显示的图像保持静止的同时横跨图像而移动,以便基本上保持在用户的手指下,就像通过附接到手指那样。因此,图像上UI控件始终在手指的位置附近。.
除了依赖于内容的UI控件之外,一些实施例的应用程序还提供用于调节图像的色彩平衡的一种新颖的UI。色彩平衡是用于将图像中的色彩与在图像中捕获到其的场景和对象的色彩进行匹配的色彩调节操作。在一些实施例中,应用程序提供了允许用户选择图像上的位置的一种色彩平衡UI控件。应用程序然后检索对应于所选择的位置的像素的色值,并且确定会将该像素的色值改变为所建立的基线色彩(例如灰色、理想肤色等)的色彩调节。基于这个色彩调节,应用程序生成将图像中的每个色彩映射到不同的色彩的色彩空间转换。应用程序然后将该色彩空间转换应用于图像中的所有像素。
图2示出了提供用于调节图像色彩平衡的色彩平衡UI控件的一种图像编辑应用程序的GUI 200。具体地,图2示出了在四个不同阶段205、210、215和220处的色彩平衡操作。这些阶段中的每一个阶段将在下文中更被详细地描述。
如在第一阶段205中所示,GUI 200包括图像195和用于激活色彩平衡UI控件的可选择的UI项目225。第二阶段210示出了在用户已选择该可选择的UI项目225之后的GUI200。可通过在具有显示该可选择的UI项目225的触感屏或近触感屏的设备上的位置处执行手势、或者通过将光标放置在该可选择的UI项目225处并且提供输入(例如点击光标控制设备、按下热键等)来执行对该可选择的UI项目225的选择。在一个实施例中,用户可通过在该可选择的UI项目225处轻击或放置手指来选择该可选择的UI项目225。在其他实施例中,可执行其他手势以选择该可选择的UI项目225。如图所示,用户通过在该可选择的UI项目225上轻击或放置手指而已选择了该可选择的UI项目225。
在一些实施例中,应用程序提供用于调节图像的色彩平衡的被显示在图像上(例如叠放在图像上面)的色彩平衡UI控件。在这些实施例中的一些实施例中,色彩平衡UI控件能在图像上移动并且允许用户通过将色彩平衡UI控件移动(或拖动)期望的位置来在图像上的指定位置。
如在这个第二阶段210中所示,作为选择了可选择的UI项目225的结果,色彩平衡UI230出现在图像上。在这个实例中,色彩平衡UI控件230具有正方形的形状,并且在该控件的中心中具有十字线。在其他实施例中,色彩平衡UI控件可以是任何其他形状的。这些其他形状的一个不完全列表包括三角形、椭圆形、矩形等。该形状也可以是不规则形状,诸如手状、花状等。此外,十字线可在中心,也可不在中心。作为另外一种选择,可显示在形状中的不同对象而不是十字线(诸如圆圈、方块、单点、或一些其他图像)用于指示图像195内的小区域。
色彩平衡UI控件230的十字线允许用户指定用于调节图像195的色彩平衡的图像上的位置。如上所述,一旦用户已指定了用于色彩平衡操作的位置,应用程序就检索对应于所选择的位置的至少一个像素的色值,并且确定将所述像素的色值改变为所建立的基线色彩(例如灰色、理想肤色等)的色彩调节。基于这个色彩调节,应用程序生成将图像中的每个色彩映射到不同色彩的色彩空间转换。应用程序然后将该色彩空间转换应用于图像中的所有像素。如在这个第二阶段210中所示,基于所选择的位置的色彩平衡操作已在图像195上被执行,如通过横跨图像195的45度斜线所指出的。
如前所述,一些实施例的色彩平衡UI控件230能在图像195内移动以允许用户为色彩平衡操作选择不同位置。在这些实施例中,用户可通过在色彩平衡UI控件230上执行手势(例如放置或轻击用户的手指)并且将手指拖动到不同位置来重新定位色彩平衡UI控件230。第三阶段215是瞬态阶段,其示出了在用户已选择了色彩平衡UI控件230之后但在将色彩平衡UI控件230移动到不同位置之前的GUI 200。
第四阶段220示出了在用户已将色彩平衡UI控件230移动到不同位置之后的GUI200。如图所示,用户通过将用户的手指朝着图像的右上角拖动(如通过箭头235所指出的)而已将色彩平衡UI控件230朝着那个方向移动。作为将色彩平衡UI控件230移动到了新位置的结果,应用程序重新调节图像的色彩平衡。具体地,应用程序检索对应于由用户通过色彩平衡UI控件230所选择的新位置的至少一个像素的色值。应用程序然后确定将所选择的位置的色彩改变为基线色彩的色彩调节。基于该色彩调节,应用程序生成将图像195中的每个色彩映射到不同色彩的色彩空间转换。应用程序然后将该色彩空间转换应用于图像195中的所有像素。如在这个第四阶段220中所示,基于最新的所选择的位置的色彩平衡操作已在图像195上被执行,如通过横跨图像195的135度斜线所指出的。
下文中提供了本发明的若干更详细的实施例。这些实例中的许多实例是指图像编辑应用程序的一部分的滑动条。一些实施例中的这个应用程序是在设备的操作系统的顶部执行的独立应用程序,而在其他实施例中其是操作系统的一部分。另外,在以下实例中的许多实例中(诸如在图3、4、6、7、9、14、15、20、21、22、23、24、31、32、33、34、35、37、39、41和42中所示的那些实例),应用程序运行于其上的设备具有触摸屏,用户可通过该触摸屏与图像编辑应用程序进行交互。然而,本领域的普通技术人员将认识到,对于在具有光标和光标控制器或其他输入机制(例如语音控制)的设备上执行的其他实施例,可使用光标控制器或其他输入设备来与在这些实例中所示出的滑动条和应用程序进行交互。
在下面的章节中描述了本发明的若干更详细的实施例。具体地,章节I描述了用于仅调节图像的与所检测的内容类型相关联的部分的色值的不同UI控件。章节II描述了基于来自图像上的所选择的位置的所检测的内容类型来提供图像上UI控件的不同实施例的细节。章节III描述了提供用于调节图像的色彩平衡的一组色彩平衡UI控件。最后,章节VI描述了实现本发明的一些实施例的电子系统。
I.色彩控件
一些实施例的图像编辑应用程序提供用于仅调节图像的与内容类型相关联的部分的色值的一组UI控件。在一些实施例中,每个UI控件用于调节与图像中的不同内容类型相关的色值。当通过特定UI控件来接收到输入时,应用程序自动识别与由该特定UI控件所控制的内容类型相关的图像中的一组像素。应用程序然后基于该用户输入而仅调节所识别的这组像素的色值。
在一些实施例中,这组UI控件包括用于调节与不同内容类型相关联的色值的不同UI控件。例如,一个UI控件用于调节与肤色色彩相关联的色值,另一UI控件用于调节与天空色彩相关联的色值,再一UI控件用于调节与树叶色彩相关联的色值。
图3示出了在五个不同阶段305、310、315、320和325处的一些实施例的图像编辑应用程序的示例性GUI 300,其提供用于仅调节图像的与内容类型相关联的部分的色值的一组UI控件。这些阶段中的每一个阶段在下面将被更详细地描述。
如图3中所示,GUI 300包括缩略图显示区域330、工具栏340、图像显示区域345和UI控件显示区域350。缩略图显示区域330显示相册中的图像的一组缩略图以供用户浏览和选择。图像缩略图是具有减小的分辨率的尺寸减小版本。用户可通过在缩略图显示区域330中选择图像的对应的缩略图来选择要在图像显示区域345中显示的一个或多个图像。
工具栏340显示与不同类型的图像调节控件相关联的一组可选择的UI项目。这组可选择的UI项目包括与一组图像剪裁工具相关联的可选择的UI项目、与一组曝光调节工具相关联的可选择的UI项目和与一组色彩调节工具相关联的可选择的UI项目342。当用户选择这些可选择的UI项目之一时,与所选择的UI项目相关联的一组UI控件将被显示在UI控件显示区域350中。
现在将参考这五个阶段305、310、315、320、325期间的GUI 300的状态来描述图像编辑操作。第一阶段305示出了在用户已从相册“相册1”选择要在图像显示区域345中显示的图像355之后的图像编辑应用程序的GUI 300。对要在图像显示区域345中显示的图像的选择可通过在具有显示该图像的缩略图的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置于该图像的缩略图处并且提供输入(例如点击光标控制设备、按下热键等)来执行。如图所示,用户已通过在缩略图335上轻击手指来选择要在图像显示区域345中显示的图像355。该选择也通过在缩略图显示区域330中突出显示缩略图335来指示。作为该选择的结果,图像355被显示在图像显示区域345中。图像355是以高山为背景的站在海边的人的相片。
第二阶段310示出了在用户已选择了在工具栏340中的可选择的UI项目之一之后的GUI 300。对可选择的UI项目342的选择可通过在具有显示可选择的UI项目342的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击一个或多个手指)、或者通过将光标放置于可选择的UI项目342处并且提供输入(例如点击光标控制设备、按下热键等)来执行。如图所示,用户已通过在可选择的UI项目342上轻击手指而选择了可选择的UI项目342,如通过突出显示可选择的UI项目342所指出的。
作为选择了可选择的UI项目342的结果,一组色彩调节UI控件352-358被显示在UI控件显示区域350中。不同的实施例提供不同类型的范围相关的UI控件(例如拨盘、按钮、数字字段等)以用于调节图像的色彩。在这个实例中,色彩调节UI控件是范围滑动条。用户可通过将这些UI控件中的任何一个UI控件的滑块沿着范围滑动条滑动到不同的位置来对图像发起不同的色彩调节。当滑块沿滑动条滑动时,滑动条可提供视觉指示。
这些色彩调节UI控件352-358中每一个色彩调节UI控件用于为对图像发起不同类型的色彩调节。例如,色彩调节UI控件352用于对图像发起饱和度调节。色彩调节UI控件354用于对图像发起天空调节,该天空调节仅调节落入为天空色彩所定义的色值范围内的色值。色彩调节UI控件356用于对图像发起树叶调节,该树叶调节仅调节落入为树叶色彩所定义的色值范围内的色值。色彩调节UI控件358用于对图像发起肤色调节,该肤色调节仅调节落入为肤色色彩所定义的色值范围内的色值。除了色彩调节UI控件352-358之外,GUI 300还显示用于调用设置菜单的可选择的UI项目360。
第三阶段315示出了在用户已选择了用于对图像355发起饱和度调节的色彩调节UI控件352之后的GUI 300,如通过突出显示色彩调节UI控件352所指出的。对色彩调节UI控件352的选择可通过在具有显示色彩调节UI控件352的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置于色彩调节UI控件352处并且提供输入(例如点击光标控制设备、按下热键等)来执行。
第四阶段320示出了在用户通过将UI控件352的滑块向右移动(如通过箭头362所指出的)而已开始调节图像355的饱和度之后的GUI 300。在一些实施例中,用户可通过执行手势(例如将用户的手指拖动到不同位置)来移动UI控件352的滑块。作为手指移动的结果,图像355中的色彩的饱和度已被增大,如通过横跨图像355的斜线所指出的。在一些实施例中,应用程序通过调节图像中的色彩的强度来调节图像色彩的饱和度。在这些实施例中,应用程序基于色彩调节UI控件352上的用户输入来确定用于调节图像的色值的算法或数学公式。应用程序然后将该算法和数学公式应用于图像的所有像素值。在一些实施例中,应用程序将图像的色值从定义该图像的色值的色彩空间(例如RGB色彩空间)转换到包括亮度通道的色彩空间(例如YCrCb色彩空间、YIQ色彩空间、IPT色彩空间等)。色度色彩通道(即除了亮度通道外的通道)可在极坐标系(例如半径值和角度)中呈现,在该坐标系中半径值表示色彩的饱和度,而角度表示不同的色彩深浅度。一旦图像的色值被转换到这个新色彩空间,应用程序就可通过调节图像中每个色彩的半径值来调节图像的饱和度。
此外,当已在图像上执行了色彩调节时,GUI 300还在可选择的UI项目342的顶部显示条。可选择的UI项目342的顶部的条将保持可见以指示用户已在图像上执行了哪种类型的调节。如图所示,在用户已对图像355进行了饱和度调节之后,在第四阶段320处条已出现在可选择的UI项目342的顶部。
第五阶段325示出了在用户已通过将UI控件352的滑块进一步向右移动(如通过箭头364所指出的)而进一步调节图像355的饱和度之后的GUI 300。如图所示,在这个阶段325中的图像355中的色彩被示出为比第四阶段320中的图像中的色彩被进一步饱和化,如通过横跨图像355的斜线的更高密度所指出的。
图3示出了通过饱和度UI控件352来调节整个图像的饱和度的一个示例。一些实施例的图像编辑应用程序还提供仅调节图像的一部分的饱和度的色彩调节UI控件。例如,应用程序可提供调节图像的饱和度、同时保持肤色色彩(即调节除了肤色色彩外的图像中的所有色彩的饱和度)的饱和度调节UI控件,这被称为鲜明度调节。
不同的实施例提供不同的技术来提供用于调节图像中的色彩的鲜明度的UI控件。在一种方法中,应用程序允许用户通过修改应用程序的设置来在饱和度调节和鲜明度调节之间来回切换。图4示出了这样的一种方法的一个示例。具体地,图4示出了在六个不同阶段405、410、415、420、425和430处的调用和操控鲜明度UI控件的一个示例。
第一阶段405与图3的第二阶段310相同。如图所示,用户已选择了用于调节图像355的色彩的可选择的UI项目342。第二阶段410示出了在用户已选择了用于引出应用程序设置弹出菜单的可选择的UI项目360之后的GUI 300,如通过突出显示可选择的UI项目360所指出的。对可选择的UI项目360的选择可通过在具有显示可选择的UI项目360的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置于可选择的UI项目360处并且提供输入(例如点击光标控制设备、按下热键等)来执行。如图所示,选择可选择的UI项目360使得弹出菜单435被显示在UI控件显示区域350的顶部。弹出菜单435包括用于修改应用程序的设置的若干可选择的项目,诸如被标记为“无肤色”的用于切换饱和度UI控件352的设置的可选择的项目440。
第三阶段415示出了在用户已选择了被标记为“无肤色”的可选择的项目440之后的GUI 300,如通过突出显示可选择的项目440所指出的。对可选择的项目440的选择可通过在具有显示可选择的项目440的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置于可选择的项目440处并且提供输入(例如点击光标控制设备、按下热键等)来执行。作为该选择的结果,饱和度UI控件352现在用于控制对图像的鲜明度调节。如前所述,鲜明度调节仅调节图像355中的色彩的饱和度,同时保持肤色色彩。
第四阶段420示出了在用户已选择了饱和度UI控件352之后的GUI300,如通过突出显示饱和度UI控件352所指出的。对饱和度UI控件352的选择可通过在具有显示饱和度UI控件352的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置于饱和度UI控件352处并且提供输入(例如点击光标控制设备、按下热键等)来执行。
第五阶段425示出了在用户通过将饱和度UI控件352的滑块向右移动(如通过箭头470所指出的)而已开始提高图像的鲜明度之后的GUI 300。在一些实施例中,用户可通过沿着范围滑动条将用户的手指拖动(或将光标拖动)到不同位置来移动饱和度UI控件352的滑块。作为手指移动的结果,图像355中色彩(除了肤色色彩之外)的饱和度已被增大(如通过横跨图像355的斜线所指出的),而图像355中的人脸区域保持不受影响。在一些实施例中,应用程序通过调节图像像素的色度值来调节图像色彩的饱和度。在这些实施例中,应用程序基于饱和度UI控件352上的用户输入来确定用于调节图像的像素值的算法或数学公式。应用程序然后将该算法或数学公式应用于已被识别为肤色色彩的图像的所有色值。
此外,当已在图像上执行了色彩调节时,GUI 300还在可选择的UI项目342的顶部显示条。可选择的UI项目342的顶部的条将保持可见以指示用户已在图像上执行了哪种类型的调节。如图所示,在用户已对图像355进行了饱和度调节之后,在第四阶段320处条已出现在可选择的UI项目342的顶部。
第六阶段430示出了在用户已通过将饱和度UI控件352的滑块进一步向右移动(如通过箭头475所指出的)而进一步提高图像的鲜明度之后的GUI 300。如图所示,在这个阶段430中的图像355的色彩被示出为比第五阶段425中的图像中的色彩被进一步饱和化(如通过横跨图像355的斜线的更高密度所指出的),而图像355中人脸区域保持不受影响。
在一些实施例中,应用程序基于图像的内容来选择用于饱和度UI控件352的默认设置。例如,一些实施例的应用程序对图像执行脸部检测算法,然后基于在图像上是否检测到脸部来确定用于饱和度UI控件352的设置。
不同的实施例使用不同的技术来识别肤色色彩。例如,一些实施例的图像编辑应用程序在对立色彩空间内将肤色色彩定义为色值范围。对立色彩空间是依赖于三个对立色彩通道(例如白/黑通道、红/绿通道和黄/蓝通道)的色彩空间,一般被称为YCC色彩空间。对立色彩空间的一些实例包括YIQ色彩空间、YcbCr色彩空间和IPT色彩空间。在下面的描述中,用于为不同的内容类型定义色值范围的色彩空间将被描述为YCC色彩空间。然而,本领域的普通技术人员应该知道,YCC色彩空间可以是上面提到的任何色彩空间之一。在这些实施例中的一些实施例中,用于定义肤色色彩范围的色彩空间不同于在其中定义图像的色值的色彩空间(例如RGB色彩空间)。在这些实施例中,一些实施例的应用程序首先将图像从在其中定义图像色值的原始色彩空间(例如RGB色彩空间)转换到被用于定义肤色色彩范围的YCC色彩空间。应用程序然后识别图像的具有落入为肤色色彩所定义的被转换的色彩空间中的色值范围内的色值的像素。图5示出了从RGB色彩空间505到YCC色彩空间500的一种示例性转换。
如图5中所示,RGB色彩空间505沿三个轴线而被定义,轴线525表示红色分量值的范围,轴线515表示绿色分量值的范围,轴线535表示蓝色分量值的范围。这样,图像355的每个色彩可通过RGB色彩空间505内的位置来表示。
图5还示出了与一些实施例一起使用来定义肤色色彩的YCC色彩空间500。如图所示,YCC色彩空间沿三个轴线被定义:轴线520表示红色和绿色色值范围,轴线530表示蓝色和黄色色值范围,并且垂直轴线510表示不同灰色深浅度范围(即亮度值范围),其中底部位置540表示黑色并且顶部位置550表示白色。色彩越浅,该色彩距离这个色彩空间柱体500的底部越远。
对于色彩的饱和度,色彩越饱和,色彩距离柱体中心越远。中心表示灰度,其中最低点540不包含任何色彩(即黑色的),最高点550表示所有色彩以其最大强度而存在(即白色的),并且沿着垂直线将最高点连接到最低点的所有其他点表示灰色的不同深浅度。每个灰色深浅度表示均等地存在所有色彩,尽管灰色越深,这些色彩的强度越小。并且灰色越浅,这些色彩的强度越大。
在一些实施例中,肤色色彩被定义在位于微红色和微黄色之间的YCC色彩空间柱体500的区域内,其具有特定饱和度范围和特定强度范围,诸如区域560。一些实施例还广义地将肤色定义为涵盖与不同人种和/或民族相关联的肤色范围。这样的广义的定义使得不需要用户手动地定义肤色。对于本领域的普通技术人员将显而易见的是,一些实施例提供阈值参数来增大或减小由应用程序所识别的肤色范围。
一些实施例的应用程序通过将RGB色彩空间505中的每个色彩映射到YCC色彩空间500中的另一色彩来将图像从RGB色彩空间505转换到YCC色彩空间500。例如,RGB色彩空间505中的色彩545被映射到YCC色彩空间500中的色彩570,并且RGB色彩空间505中的色彩555被映射到YCC色彩空间500中的色彩580。通过将图像从RGB色彩空间转换到YCC色彩空间,应用程序能够识别落入所定义的肤色色彩区域560内的色彩(例如色彩555)和不落入所定义的肤色色彩区域560内的色彩(例如色彩545)。
图4示出了调节图像的饱和度的一种示例性操作。一些实施例不是调节图像的饱和度,而是提供允许用户调节图像的色温的肤色UI控件。色温是从图像中的对象反射的可见光的一个特性。触击图像中的对象的较暖的光对图像中的对象的色彩产生较暖的色调(即更红和黄),而触击图像中的对象的较冷的光对图像中的对象的色彩产生较冷的色调(即更蓝和青)。因此,调节图像的色温意味着向图像添加更多红/黄或添加更多青/蓝。
图6示出了这样的一个示例。具体地,图6示出了在四个不同阶段605、610、615和620处通过操控肤色UI控件通过调节图像的色温来改善肤色色彩的操作。
第一阶段605与图3的第二阶段310相同。如图所示,用户已从工具栏340选择了用于调节图像355的色彩的可选择的UI项目342。第二阶段610示出了在用户已选择了肤色UI控件356之后的GUI 300,如通过突出显示肤色UI控件356所指出的。对肤色UI控件356的选择可通过在具有显示肤色UI控件356的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置于肤色UI控件356处并且提供输入(例如点击光标控制设备、按下热键等)来执行。
第三阶段615示出了在用户通过将肤色UI控件356的滑块向右移动(如通过箭头625所指出的)而已开始调节图像的肤色色彩之后的GUI 300。在一些实施例中,用户可通过将用户的手指(或将光标拖动)拖动到不同位置来移动肤色UI控件356的滑块。作为手指移动的结果,图像355中的色值已被调节,如通过横跨图像355的斜线所指出的。在一些实施例中,应用程序调节图像的色温以便使肤色色彩更令人满意。在这些实施例中的一些实施例中,应用程序使用上面参考图5所描述的相同的所定义的肤色色彩范围,并且调节图像的色值以使落入所定义的肤色色彩范围内的图像中的色彩更令人满意。
在一些实施例中,应用程序基于肤色UI控件356上的用户输入来确定用于调节图像色值的算法或数学公式。应用程序然后将该算法或数学公式应用于图像的所有像素。在一些实施例中,在将调节应用于色值之前,应用程序首先将图像的色值转换到不同的色彩空间(例如YCC色彩空间)。如上所述,YCC色彩空间沿着黑/白色彩分量、红/绿色彩分量和黄/蓝色彩分量而被定义。从RGB色彩空间到YIQ色彩空间的转换可通过首先对RGB色彩空间中的色值应用大约1/4的γ、然后应用3x3矩阵以将色值转换到YIQ色彩空间来执行。在这些实施例中,应用程序通过仅调节沿着红/绿色彩分量和黄/蓝色彩分量的值、而不改变沿着白/黑分量的值来在YIQ色彩空间中调节图像的色温。在一些实施例中,应用程序在YIQ色彩空间中调节图像的色温,因为在YIQ色彩空间中、而不是在图像的色值的原始色彩空间(例如RGB色彩空间)中应用调节来产生视觉上更令人满意的结果。此外,这些实施例中的应用程序在调节完成之后将图像的色值转换回原始色彩空间。
此外,当已在图像上执行了色彩调节时,GUI 300还在可选择的UI项目342的顶部显示条。可选择的UI项目342的顶部的条将保持可见以指示用户已对图像执行了哪种类型的调节。如图所示,在用户已对图像355进行了肤色调节之后,在第三阶段615处条已出现在可选择的UI项目342的顶部。
第四阶段620示出了在用户已通过将肤色UI控件356的滑块进一步向右移动(如通过箭头630所指出的)而进一步调节图像的肤色色彩之后的GUI 300。如图所示,这个阶段620中的图像355的色彩被示出为比第三阶段615中的图像中的色彩被进一步调节,如通过横跨图像355的斜线的更高密度所指出的。
在图6所示的以上实例中,一些实施例的应用程序响应于肤色UI控件356上的用户输入来调节整个图像的色温。作为另外一种选择,其他实施例的应用程序仅调节图像中的肤色色彩的色温。在这些实施例中,应用程序使用上面描述的相同的技术来识别图像中的具有落入与肤色色彩相关联的预定义的色值范围内的色值的像素。应用程序然后仅调节图像内的所识别的像素的色温。该效果与鲜明度调节对图像所产生的效果相反,如在图4中所示
如上所述,一些实施例的图像编辑应用程序还提供用于仅调节图像的一部分(例如,图像的天空色彩或树叶色彩)的UI控件。图7示出了在四个不同阶段705、710、715和720处调节或增强图像的天空色彩、而不影响图像的其余色彩的一种示例性操作。
第一阶段705与图3的第二阶段310相同。如图所示,用户已选择了用于调节图像355的色彩的可选择的UI项目342。第二阶段710示出了在用户已选择了天空UI控件354之后的GUI 300,如通过突出显示天空UI控件354所指出的。对天空UI控件354的选择可通过在具有显示天空UI控件354的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置于天空UI控件354处并提供输入(例如点击光标控制设备、按下热键等)来执行。
第三阶段715示出了在用户通过将天空UI控件354的滑块向右移动(如通过箭头725所指出的)而已开始增强图像的天空色彩之后的GUI 300。在一些实施例中,用户可通过将用户的手指(或将光标拖动)拖动到不同位置来移动天空UI控件354的滑块。作为手指移动的结果,图像355中的天空色彩已被增强(如通过横跨图像355中的天空区域的斜线所指出的),而图像355的其余部分保持未受影响。在一些实施例中,应用程序通过调节天空色彩的饱和度来增强天空色彩。在这些实施例中,应用程序基于天空UI控件354上的用户输入来确定用于调节图像的色值的算法或数学公式。应用程序然后将该算法或数学公式应用于已被识别为具有天空色彩的图像中的像素。作为调节饱和度的替代或附加,一些其他实施例的应用程序还调节图像中天空色彩的明度和对比度以对图像中的天空色彩带来整体的增强。在这些实施例中,应用程序使用通过用户移动天空UI控件354的滑块而提供的单个调节(其指定单个调节值)来确定对已被识别为具有天空色彩的图像的像素的针对饱和度、对比度和明度的调节。
例如,当天空UI控件允许用户指定-0.5到0.5之间的调节值时,一些实施例的应用程序将对比度调节值(即增益值)确定为数值1和调节值加1的数值中的较大者。应用程序还将明度调节值(即γ)确定为是调节值的绝对值加1。应用程序然后在RGB色彩空间中将这两个调节应用于图像。用于使用对比度和γ来计算每个像素的色值的公式为:R=gain*(colorvalue)gamma,其中参数“gain”表示对比度调节值,参数“colorvalue”表示图像中的每个像素的色值(即红色通道值、绿色通道值、或蓝色通道值),并且参数“gamma”表示明度调节值。
为了调节图像的饱和度,一些实施例的应用程序使用这个公式来计算每个像素的色值:R=colorvalue+(colorvalue–ave)*(gamma–1)*0.5,其中参数色值表示图像中的每个像素的色值(即红色通道值、绿色通道值、或蓝色通道值),参数“avg“表示每个像素的这三个色彩分量的平均值(例如将(红色通道值、绿色通道值、蓝色通道值)之和除以3),并且参数“gamma”表示明度调节值。
此外,当已对图像执行了色彩调节时,GUI 300还在可选择的UI项目342的顶部显示条。可选择的UI项目342的顶部的条将保持可见以指示用户已对图像执行了哪种类型的调节。如图所示,在用户已对图像355进行了天空调节之后,在第三阶段715处条已出现在可选择的UI项目342的顶部。
第四阶段720示出了在用户已通过将天空UI控件354的滑块进一步向右移动(如通过箭头730所指出的)而进一步增强了图像的天空色彩之后的GUI 300。如图所示,这个阶段720中的图像355的天空色彩被示出为比第三阶段715中的图像中的天空色彩被进一步增强(如通过横跨图像355中的天空区域的斜线的更高密度所指出的),而图像355的其余部分保持未受影响。
不同的实施例使用不同的技术来识别天空色彩。例如,一些实施例的图像编辑应用程序将天空色彩定义为对立色彩空间内的色值范围。对立色彩空间是依赖于三个对立色彩通道(例如白/黑通道、红/绿通道和黄/蓝通道)的色彩空间,一般被称为YCC色彩空间。对立色彩空间的一些实例包括YIQ色彩空间、YcbCr色彩空间和IPT色彩空间。在一些实施例中,对立色彩空间由于其均匀感知行为、尤其是在蓝色区域中的均匀感知行为而优选用于定义天空色彩。在下面的描述中,用于为不同内容类型定义色值范围的色彩空间将被描述成YCC色彩空间。然而,本领域的普通技术人员将理解YCC色彩空间可以是上面提到的任何色彩空间之一。在这些实施例中的一些实施例中,用于定义天空色彩范围的色彩空间不同于在其中定义图像色值的色彩空间(例如RGB色彩空间)。在这些实施例中,一些实施例的应用程序首先将图像从在其中定义图像色值的原始色彩空间(例如RGB色彩空间)转换到用于定义天空色彩范围的YCC色彩空间。应用程序然后识别图像的具有落入新色彩空间中的为天空色彩所定义的范围内的色值的像素。图8示出了从RGB色彩空间805到YCC色彩空间800的一种示例性转换。
如图8中所示,RGB色彩空间805沿三个轴线定义,轴线825表示红色分量值范围,轴线815表示绿色分量值范围,而轴线835表示蓝色分量值范围。这样,图像355的每个色彩可由RGB色彩空间805内的位置来表示。
图8还呈现了与一些实施例一起使用以定义天空色彩的YCC色彩空间800。如图所示,YCC色彩空间沿三个轴线被定义:轴线820表示红色和绿色色值范围,轴线830表示蓝色和黄色色值范围,而垂直轴线810表示不同灰色深浅度的范围(即亮度值范围),其中底部位置840表示黑色,而顶部位置850表示白色。色彩越浅,该色彩距离该色彩空间柱体800的底部越远。
在一些实施例中,天空色彩被定义在围绕蓝色、红色和黄色区域的YCC色彩空间柱体800的区域内,具有特定黑色/白色范围,诸如区域860。这样,这个天空色值范围包括蓝天、云、日出和日落的色彩。对本领域的普通技术人员应显而易见的是,一些实施例提供阈值参数来增大或减小应用程序所识别的天空色彩的范围。
一些实施例的应用程序通过将RGB色彩空间805中的每个色彩映射到YCC色彩空间800中的另一色彩来将图像从RGB色彩空间805转换到YCC色彩空间800。例如,RGB色彩空间805中的色彩845被映射到YCC色彩空间800中的色彩870,并且RGB色彩空间805中的色彩855被映射到YCC色彩空间800中的色彩880。通过将图像从RGB色彩空间转换到YCC色彩空间,应用程序能够识别落入所定义的天空色彩区域860内的色彩(例如色彩855)和不落入所定义的天空色彩区域860内的色彩(例如色彩845)。
除了仅调节图像的肤色或蓝天色彩之外,一些实施例的图像编辑应用程序还提供用于仅调节图像中的树叶(即绿色植物)色彩的UI控件。图9示出了在四个不同阶段905、910、915和920处调节或增强图像的树叶色彩、而不影响图像的其余色彩的一种示例性操作。
第一阶段905与图3的第二阶段310相同。如图所示,用户已选择了用于调节图像355的色彩的可选择的UI项目342。第二阶段910示出了在用户已选择了树叶UI控件358之后的GUI 300,如通过突出显示树叶UI控件358所指出的。对树叶UI控件358的选择可通过在显示树叶UI控件358的触摸屏设备上的位置处轻击手指、或者通过将光标放置于树叶UI控件358处并提供输入(例如点击光标控制设备、按下热键等)来执行。
第三阶段915示出了在用户通过将树叶UI控件358的滑块向右移动(如通过箭头925所指出的)而已开始增强图像的树叶色彩之后的GUI 300。在一些实施例中,用户可通过将用户的手指拖动(或将光标拖动)到不同位置来移动树叶UI控件358的滑块。作为手指移动的结果,图像355的树叶色彩(例如图像355的背景中高山的色彩)已被增强(如通过横跨图像355中的高山区域的斜线所指出的),而图像355的其余部分保持未受影响。在一些实施例中,应用程序通过调节树叶色彩的饱和度、对比度和明度来增强树叶色彩。在这些实施例中,应用程序使用由用户移动树叶UI控件358的滑块所提供的单个调节来确定对已被识别为具有树叶色彩的图像的像素的针对饱和度、对比度和明度的调节。类似于天空调节,应用程序基于用户在树叶UI控件358上的输入来确定用于调节图像色值的算法或数学公式。应用程序然后将该算法或数学公式应用于已被识别为具有树叶色彩的图像的像素。除了调节图像中的树叶色彩的饱和度、对比度和明度之外,一些实施例的应用程序还改变树叶的整体色彩,诸如将枯草的黄褐色色彩朝着更纯的绿色色彩移动。
此外,在已对图像执行了色彩调节时,GUI 300还在可选择的UI项目342的顶部显示条。可选择的UI项目342的顶部的条保持可见以指示用户已对图像执行了哪种类型的调节。如图所示,在用户已对图像355进行了树叶调节之后,在第三阶段915处条已出现在可选择的UI项目342的顶部。
第四阶段920示出了在用户已通过将树叶UI控件358的滑块进一步向右移动(如通过箭头930所指出的)而进一步增强了图像的树叶色彩之后的GUI 300。如图所示,这个阶段920中的图像355的树叶色彩被示出为比第三阶段915中的图像中的树叶色彩被进一步增强(如通过横跨图像355中的高山区域的斜线的更高密度所指出的),而图像355的其余部分保持未受影响。
在上面参考图3、4、6、7和9所示的实例中,UI控件被实现为范围滑动条,其中用户通过沿着直线滑动条滑动滑块来提供输入。如前所述,不同的实施例使用不同类型的UI控件用于调节图像上的色值。在一些实施例中,范围滑动条可以是其它形状或几何图形的,其中用户可在滑动条区域内将滑块移动到任何地方。在其它实施例中,应用程序将UI控件实现为拨盘。图10示出了在四个不同阶段1005、1010、1015和1020处使用拨盘UI控件来调节或增强图像的树叶色彩的操作的一个示例。
第一阶段1005与图9的第一阶段905相同,不同的是用于发起对图像的不同色彩调节的不同UI控件具有不同外观。如前所述,不同实施例使用不同类型的UI控件以用于调节图像上的色值。在这个实例中,应用程序将这组UI控件1052-1058实现为拨盘。类似于范围滑动条,不同拨盘用于对图像发起不同的色彩调节操作。例如,UI控件1052用于对图像发起饱和度调节,UI控件1054用于对图像的天空色彩发起色彩调节,UI控件1058用于对图像的树叶色彩发起色彩调节,并且UI控件1056用于对图像的肤色色彩发起色彩调节。用户可通过选择这些拨盘之一来发起特定的色彩调节,并且按顺时针或逆时针方向旋转该拨盘。
第二阶段1010示出了在用户已选择了树叶UI控件1058之后的GUI300,如通过突出显示树叶UI控件1058所指出的。对树叶UI控件1058的选择可通过在具有显示树叶UI控件1058的触感屏或近触感屏的设备上的位置处执行手势(放置、指点、或轻击手指)、或者通过将光标放置于树叶UI控件1058处并提供输入(例如点击光标控制设备、按下热键等)来执行。
第三阶段1015示出了在用户通过在树叶UI控件1058上提供圆形输入(如通过箭头1025所指出的)而已开始增强图像的树叶色彩之后的GUI300。在一些实施例中,用户可通过按顺时针或逆时针方向拖动用户的手指(或拖动光标)来提供树叶UI控件358上的圆形输入。作为手指移动的结果,图像355中的树叶色彩(例如图像355的背景中的高山的色彩)已被增强(如通过横跨图像355中的高山区域的斜线所指出的),而图像355的其余部分保持未受影响。在一些实施例中,应用程序通过调节树叶色彩的饱和度、对比度和明度来增强树叶色彩。在这些实施例中,应用程序使用由在树叶UI控件1058上的用户的移动所指定的单个调节值来确定对于已被识别为具有树叶色彩的图像的像素针对饱和度、对比度和明度的调节。类似于天空调节,应用程序基于在树叶UI控件1058上的用户输入来确定用于调节图像色值的算法或数学公式。应用程序然后将该算法或数学公式应用于已被识别为具有树叶色彩的图像的像素。
第四阶段1020示出了在用户已通过进一步向右提供树叶UI控件1058的更多圆形输入(如通过箭头1030所指出的)而进一步增强了图像的树叶色彩之后的GUI 300。如图所示,这个阶段1020中的图像355的树叶色彩被示出为比第三阶段1015中的图像中的树叶色彩被进一步增强(如通过横跨图像355中的高山区域的斜线的更高密度所指出的),而图像355的其余部分保持未受影响。
上面的图10示出了UI控件的一种替代性具体实施。UI控件的一些其他示例性具体实施包括按钮(即用户可通过保持按钮的周期来指定要应用调节的程度)、数字字段(即数字越大表示至图像的该调节的应用程序越多)等。
不同的实施例使用不同的技术来识别树叶色彩。例如,一些实施例的图像编辑应用程序将树叶色彩定义为对立色彩空间内的一色值范围。对立色彩空间是依赖于三个对立色彩通道(例如白/黑通道、红/绿通道和黄/蓝通道)的色彩空间,一般称为YCC色彩空间。对立色彩空间的一些实例包括YIQ色彩空间、YcbCr色彩空间和IPT色彩空间。在一些实施例中,对立色彩空间由于其均匀感知行为而优选用于定义天空色彩。在以下的描述中,用于为不同内容类型定义色值范围的色彩空间将被描述为YCC色彩空间。然而,本领域的普通技术人员应该知道,YCC色彩空间可为上述任何色彩空间之一。在这些实施例中的一些实施例中,用于定义肤色色彩范围的色彩空间不同于在其中定义图像色值的色彩空间(例如RGB色彩空间)。在这些实施例中,一些实施例的应用程序首先将图像从在其中定义图像色值的原始色彩空间(例如RGB色彩空间)转换到用于定义树叶色彩范围的YCC色彩空间。应用程序然后识别图像的具有落入这个新色彩空间中的为树叶色彩所定义的范围内的色值的像素。图11示出了从RGB色彩空间1105到YCC色彩空间1100的一种示例性转换。
如图11中所示,RGB色彩空间1105沿三个轴线定义,轴线1125表示红色分量值范围,轴线1115表示绿色分量值范围,轴线1135表示蓝色分量值范围。这样,图像355的每个色彩可由RGB色彩空间1105内的位置来表示。
图11还呈现了与一些实施例一起使用来定义树叶色彩的YCC色彩空间1100。如图所示,YCC色彩空间沿三个轴线被定义:轴线1120表示红色和绿色色值范围,轴线1130表示蓝色和黄色色值范围,垂直轴线1110表示不同灰色深浅度范围(即亮度值范围),其中底部位置1140表示黑色,顶部位置1150表示白色。色彩越浅,该色彩距离该色彩空间柱体1100的底部越远。
在一些实施例中,树叶色彩被定义在围绕绿色和黄色区域的YCC色彩空间1100中的区域内,具有特定黑色/白色范围,诸如区域1160。对于本领域的普通技术人员应当显而易见的是,一些实施例提供阈值参数来增大或减小由应用程序所识别的树叶色彩范围。
一些实施例的应用程序通过将RGB色彩空间1105中的每个色彩映射到YCC色彩空间1100中的另一色彩来将图像从RGB色彩空间1105转换到YCC色彩空间1100。例如,RGB色彩空间1105中的色彩1145被映射到YCC色彩空间1100中的色彩1170,并且RGB色彩空间1105中的色彩1155被映射到YCC色彩空间1100中的色彩1180。通过将图像从RGB色彩空间转换到YCC色彩空间,应用程序能够识别落入所定义的树叶色彩区域1160内的色彩(例如色彩1155)以及不落入所定义的树叶色彩区域1160内的色彩(例如色彩1145)。
上述附图中所示的图像编辑应用程序的GUI是在假设图像编辑应用程序所运行于的设备具有的屏幕大小足以显示该GUI的情况下示出的。然而,图像编辑应用程序所运行于的设备中的一些设备可能具有受限的屏幕尺寸,从而以UI项目被显示在更大设备的更大屏幕上的方式显示这些项目。另外,更大设备的更大屏幕在这些设备以不同取向(例如纵向)被握持时可被认为是受限的。在一些实施例中,图像编辑应用程序在不同时刻显示不同组的不同UI项目以适应受限的屏幕空间。
图12概念性地示出了在六个不同阶段1201-1206处通过一些实施例的GUI 1200来调用一组色彩调节工具的一个示例。如图所示,GUI 1200包括控制面板1215、图像显示区域1216、缩略图显示区域1220和工具导航面板1225。
图像显示区域1216在下面的方面类似于上面参考图3所述的图像显示区域345,即图像显示区域1216显示用户希望使用图像编辑应用程序来进行编辑的图像。缩略图显示区域1215在下面的方面类似于缩略图显示区域330,即缩略图显示区域1215显示可用于使用图像编辑应用程序来进行编辑的图像的缩略图的集合。在一些实施例中,图像编辑应用程序允许用户向上和向下或者向侧面滚动以显示不同缩略图。另外,图像编辑应用程序在缩略图上提供视觉指示(例如突出显示)来示出该缩略图已被选择并且对应的图像被显示在显示区域中。此外,一些实施例的图像编辑应用程序在缩略图上提供视觉指示(例如工具箱图标)以示出对应的图像已被编辑。
工具导航面板1225在不同时刻显示不同组的可选择的或可控制的UI项目。在一些实施例中,当前显示在工具导航面板1225中的一组用户界面项目取决于用户与先前显示在工具导航面板1225中的那组UI项目的交互。例如,当用户触摸表示一组编辑工具的特定UI项目时,用于与该特定UI项目相关的这组编辑工具的一组UI项目在工具导航面板1225中替代包括该特定UI项目的这组UI项目。如图所示,工具导航面板1225显示UI项目1230和一组其它UI项目1292。
图像编辑应用程序可以多种不同方式用第二组UI项目来替代在图像导航面板1225中所显示的第一组UI项目。例如,图像编辑应用程序将第一组滑出,同时将第二组滑入。随着第二组被滑入,图像编辑应用程序可用第二组覆盖第一组。此外,第一组和第二组的滑动方向可以是任何方向-向上、向下、向左、向右、对角方向等。
现在将描述通过GUI 1200调用色彩调节工具的一种示例性操作。在第一阶段1201处,图像编辑应用程序在图像显示区域1216中显示图像1217。图像1217对应于在缩略图显示区域1220中所显示的缩略图1235。即,图像编辑应用程序响应于用户对缩略图1235的选择而在图像显示区域1216中显示图像1217。
第二阶段1202示出了在用户已开始发起对被显示在导航面板1225中的UI项目的改变之后的GUI 1200。在一些实施例中,选择显示工具箱的图标的UI项目1230将示出在导航面板1225中的UI项目改变为代表一组图像编辑工具(包括色彩调节工具)的一组UI项目。如图所示,用户已选择了UI项目1230,如通过突出显示UI项目1230所指出的。
第三阶段1203是一个瞬态阶段,其示出在应用程序改变在工具导航面板1225中所显示的那组UI项目时GUI 1200所提供的动画。如上所述,一些实施例的应用程序提供用另一组UI项目来替代工具导航面板1225中的一组UI项目的动画。在这个实例中,GUI显示新的一组UI项目1226替代在工具导航面板1225中显示的那组UI项目1292的动画。如图所示,这组UI项目1292从UI项目1230下面向右滑入,在过程中涵盖那组UI项目1292。
第四阶段1204示出了在这组UI项目1226已完全替代了那组UI项目1292之后的GUI1200。如图所示,工具导航面板1225显示新的一组UI项目1226。在这个实例中这组UI项目1226包括六个UI项目1240、1245、1246、1247、1250和1255。UI项目1245表示图像上剪裁和矫直工具。UI项目1246表示一组曝光调节工具。UI项目1247表示一组色彩调节工具。UI项目1250表示图像上画笔工具。UI项目1255表示图像上效果工具。在这个阶段处,用户选择UI项目1247来调用色彩调节工具。
此外,由于这组UI项目的替代,UI项目1230也被UI项目1240替代。UI项目1240用于在工具导航面板1225中用另一组UI项目替代这新的一组UI项目1226。UI项目1240还用于供触摸来指示用户不希望使用这一组UI项目所表示的编辑工具。
第四阶段1204还示出了用户已通过选择UI项目1247来开始调用色彩调节工具。如图所示,用户已在UI项目1247上轻击手指,如通过突出显示UI项目1247所指出的。
第五阶段1205是瞬态阶段,其示出了在应用程序响应于用户对UI项目1247的选择而用一组色彩调节工具1260来替代工具导航面板1225中的那组UI项目1226时GUI 1200所提供的动画。如图所示,那组UI项目1226开始向左滑动到UI项目1240中,在该过程期间展示新的一组色彩调节工具1260。
第六阶段1206示出了在这组色彩调节工具1260已完全替代工具导航面板1225中的那组UI项目1226之后的GUI 1200。如图所示,这组色彩调节工具包括用于调用饱和度UI控件的UI项目1271、用于调用天空UI控件的UI项目1272、用于调用树叶UI控件的UI项目1273、用于调用皮肤UI控件的UI项目1274和用于调用一组色彩平衡UI控件的UI项目1275。此外,这组UI项目1226的替代还使得UI项目1240改变为看起来像色彩调节图标的UI项目1262。用户可选择用于退出的UI项目1262(或取消选择这组色彩调节工具)。
图12示出了通过GUI 1200来调用一组色彩调节工具的一个示例。图13示出了在六个不同阶段处通过GUI 1200来取消选择这组色彩调节工具的一个示例。
第一阶段1301与图12中的第六阶段1206相同,不同的是用户已刚刚在工具导航面板1225中选择了UI项目1262以用于取消选择这组色彩调节工具1260。
第二阶段1302是瞬态阶段,其示出了在应用程序用这组UI项目1226来替代那组色彩调节工具1260时GUI 1200所提供的动画。如图所示,这组UI项目1226开始从UI项目1262下面滑入到工具导航面板1225中,在此过程中涵盖那组色彩调节工具1260。
第三阶段1303示出了这组UI项目1226已完全替代了那组色彩调节工具1260。此外,UI项目1262还已改变为UI项目1240。如上所述,UI项目1240供用户选择以表明用户不希望使用那组UI项目所表示的编辑工具。
第四阶段1304示出了在用户已选择UI项目1240时的GUI 1200。第五阶段1305是瞬态阶段,其示出了响应于用户对UI项目1240的选择,应用程序用这组UI项目1292来替代那组UI项目1226的动画。如图所示,那组UI项目1226开始向左滑入到UI项目1240中,在该过程期间展示那组UI项目1292。
第六阶段1306示出了在工具导航面板1225中这组UI项目1292已完全替代那组UI项目1226之后的GUI 1200。此外,UI项目1240已改变为UI项目1230。
图14示出了在六个阶段1405、1410、1415、1420、1422和1424处通过GUI 1200来对图像执行天空调节操作的一个示例。如在图14中所示,GUI 1200具有缩略图显示区域1220,其包括一组缩略图版本图像供用户浏览和选择。用户可通过在缩略图显示区域1220上向左或向右滚动(例如通过将手指放在缩略图显示区域1220上并且将该手指向左或向右拖动)来浏览更多缩略图图像。GUI 1200还包括用于显示一组图像的图像显示区域1216、工具导航面板1225和UI控件显示区域1450。
第一阶段1405示出了在用户已选择了要在图像显示区域1216中显示的图像1470之后的GUI 1200。可通过在具有显示图像的对应的缩略图1475的触感屏或近触感屏的设备上的位置处执行手势(放置、指点、或轻击手指)、或者通过将光标放置在该图像的缩略图1475处并提供输入(例如点击光标控制设备、按下热键等)来执行对要在图像显示区域1216中显示的图像的选择。该选择还通过在缩略图显示区域1220中突出显示该缩略图1475来指示。
第二阶段1410示出了在用户已开始在缩略图显示区域1220中滚动缩略图图像之后的GUI 1200。如上所述,用户可通过在缩略图显示区域1220上向左或向右滚动来浏览更多缩略图图像。可通过在具有显示缩略图显示区域1220的触感屏或近触感屏的设备上执行手势(例如放置、指点、或轻击手指)并将手指向左或向右拖动来执行滚动。如图所示,用户已通过将手指向左拖动来将缩略图图像向左滚动。
第三阶段1415示出了在用户已完成了在缩略图显示区域1220中滚动缩略图图像并选择了要在图像显示区域1216中显示的新图像之后的GUI1200。如图所示,缩略图显示区域1220现在包括先前在第一阶段1405中在缩略图显示区域1220中没有显示的缩略图1435。如在第三阶段1415中所示,用户还已选择了要在图像显示区域1216中显示的图像1455。可通过在具有显示图像的对应的缩略图1435的触感屏或近触感屏的设备上的位置处执行手势(放置、指点、或轻击手指)、或者通过将光标放置在该图像的缩略图1435处并提供输入(例如点击光标控制设备、按下热键等)来执行对要在图像显示区域1216中显示的图像的选择。该选择还通过在缩略图显示区域1220中突出显示缩略图1435来指示。
如在第三阶段1415中所示,用户还已选择以对图像1455执行色彩调节,如通过突出显示色彩调节图标1442所指出的。因此,在工具导航面板1225中显示一组可选择的UI项目1452-1458。这些可选择的UI项目1452-1458中每一个UI项目用于对图像发起不同的色彩调节。例如,可选择的UI项目1452用于对图像发起饱和度调节,可选择的UI项目1454用于对图像发起天空调节,可选择的UI项目1458用于对图像发起树叶调节,可选择的UI项目1456用于对图像发起肤色调节。这些色彩调节与上面参考图3、4、6、7和9所述的不同色彩调节相同。
第四阶段1420示出了在用户已在工具导航面板1225中选择了可选择的UI项目1454之后的GUI 1200。可通过在具有显示可选择的UI项目1454的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置在可选择的UI项目1454处并提供输入(例如点击光标控制设备、按下热键等)来执行对可选择的UI项目1454的选择。如图所示,用户已通过在可选择的UI项目1454上轻击手指而选择了可选择的UI项目1454,如通过突出显示可选择的UI项目1454所指出的。作为该选择的结果,天空调节UI控件1464已出现在UI控件显示区域1220中。
不同的实施例提供不同类型的UI控件以用于调节图像的色彩。在这个实例中,天空调节UI控件是范围滑动条。用户可通过沿着范围滑动条将天空UI控件1464的滑块滑动到不同的位置来调节图像中的天空色彩。
第五阶段1422是瞬态阶段,其示出了用户已选择了天空UI控件1464的滑块但是还没有开始调节图像中的天空色彩。第六阶段1424示出了在用户通过将天空UI控件1464的滑块向右移动(如通过箭头1460所指出的)而已开始调节图像的天空色彩之后的GUI 1200。在一些实施例中,用户可通过将用户的手指拖动(或将光标拖动)到不同位置而移动天空UI控件1464的滑块。作为手指移动的结果,图像1455中的天空色彩已被增强(如通过横跨图像355中的天空区域的斜线所指出的),而图像1455的其余部分保持未受影响。在一些实施例中,应用程序以与上面参考图7所述相同的方式来调节图像中的天空色彩。
图14示出了通过GUI 1200来执行天空调节操作的一个示例。用户可以类似的方式通过选择不同的可选择的UI项目1452-1458而执行其他类型的色彩调节操作(例如饱和度调节、鲜明度调节、树叶调节、肤色调节等)。图15提供了在四个阶段1505、1510、1515和1520处通过GUI 1200来执行树叶调节操作的一个示例。
第一阶段1505与图14的第一阶段1405相同。如图所示,用户已选择了要在图像显示区域1216中显示的图像1455。第二阶段1510示出了用户已在工具导航面板1225中选择了可选择的UI项目1458之后的GUI 1200。可通过在具有显示可选择的UI项目1458的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置在可选择的UI项目1458处并提供输入(例如点击光标控制设备、按下热键等)来执行对可选择的UI项目1458的选择。如图所示,用户已通过在可选择的UI项目1458上轻击手指而选择了可选择的UI项目1458,如通过突出显示可选择的UI项目1458所指出的。作为该选择的结果,树叶调节UI控件1564已出现在UI控件显示区域1450中。
第三阶段1515是瞬态阶段,其示出了用户已选择了树叶UI控件1564的滑块但是还没有开始调节图像中的树叶色彩。第四阶段1520示出了在用户通过将树叶UI控件1564的滑块向右移动(如通过箭头1560所指出的)而已开始调节图像的树叶色彩之后的GUI 1200。在一些实施例中,用户可通过将用户的手指拖动(或将光标拖动)到不同位置来移动树叶UI控件1564的滑块。作为该手指移动的结果,图像1455中的树叶色彩已被增强(如通过横跨图像1455中的高山区域的斜线所指出的),而图像1455的其余部分保持未受影响。在一些实施例中,应用程序以与上面参考图9所述相同的方式来调节图像中的树叶色彩。
图16概念性地示出了用于基于用户在色彩调节UI控件上的输入来调节图像的一部分的色值的过程1600。在一些实施例中,该过程由图像编辑应用程序来执行。该过程通过对图像执行(在1605处)内容分析而开始。不同的实施例对图像执行不同的内容分析。例如,一些实施例的应用程序对图像执行脸部检测分析以确定图像是否包含任何人脸。
如果有必要,该过程然后基于内容分析的结果来限定(在1610处)用于一组图像调节UI控件的一组参数。在一些实施例中,这些调节UI控件中至少一个可以被配置为基于应用程序的设置对图像执行不同的调节操作。在这些实施例中的一些实施例中,应用程序基于内容分析的结果来为图像限定默认设置。例如,当应用程序检测到图像包括人脸时,应用程序配置饱和度UI控件以执行鲜明度调节(即调节图像的饱和度,同时保持肤色色彩),而不是调节整个图像的饱和度。
然后,该过程接收(在1615处)特定UI控件上的用户输入。如上所述,这些UI控件中的一些UI控件用于调节图像的不同部分的色值。在一些实施例中,应用程序包括用于UI控件的一组预定义的色值范围。例如,应用程序已定义了用于天空UI控件的与天空色彩相关联的色值范围、用于树叶UI控件的与树叶色彩相关联的色值范围和用于饱和度UI控件和肤色UI控件的与肤色色彩相关联的色值范围。在这些实施例中的一些实施例中,图像的色值是在与用于定义这些色值范围的色彩空间不同的色彩空间中定义的。因此,在于特定UI控件上接收到用户输入之后,过程将图像的色值转换(在1620处)到用于定义色值范围的色彩空间。
该过程然后识别(在1625处)图像中的具有落入与该特定UI控件相关联的色值范围内的色值的一组像素。在一些实施例中,与不同内容类型相关联的色值范围被存储在媒体存储装置中。在这些实施例中,该过程从媒体存储装置中检索与该特定UI控件相关联的色值范围,并且识别具有落入该色值范围内的色值的像素。在其他实施例中,色值范围在用于执行色彩调节的可执行代码内被限定。在这些其他实施例中,识别操作与该过程对图像执行色彩调节同时被执行。
基于用户输入,该过程然后调节(在1630处)已在操作1625处识别的那组像素的色值。过程1600示出了在一些实施例中,该过程首先识别图像中的落入该色值范围内的那组像素,然后对所识别的那组像素执行调节。但是,在一些其它实施例中,该过程是在其执行调节操作的同时识别用于调节的像素。具体地,对于图像中的每个像素,该过程迭代地确定像素的色值是否落入该色值范围内,并且仅在色值在该范围内的情况下才执行调节。
在一些实施例中,在调节图像的色值之前,应用程序生成可应用于图像色值的算法或数学公式。应用程序然后将该算法或数学公式应用于已在操作1625处识别的图像中的每个像素的色值。
然后,该过程确定(在1635处)在那组UI控件上是否接收到更多用户输入。如果接收到更多输入,则该过程返回到1625以识别另一组像素。该过程将循环通过操作1625-1635,直到没有更多输入在这组UI控件上被接收到。然后该过程结束。
不同的实施例在图16的操作1625处使用不同技术来识别那组像素。在一些实施例中,应用程序使用上面参考图5、8和11所述的技术来识别那组像素。
在一些实施例中,应用程序响应于在特定UI控件上的用户输入,对图像的色值仅执行一种类型的调节(例如饱和度调节)。如上所述,一些其它实施例的应用程序响应于特定UI控件上的单个用户输入,对图像的色值执行多于一种类型的调节。例如,当用户提供输入给天空UI控件354时,一些实施例的应用程序对图像的一部分的色值执行饱和度调节、对比度调节和明度调节。在这些实施例中,应用程序使用单个用户输入来为图像确定用于调节对比度的调节值、用于调节饱和度的调节值和用于调节明度的调节值,并且将这些单独的调节值应用于图像的色值。
图17概念性地示出了用于基于在色彩调节UI控件上的单个用户输入来对图像中的受限色值范围执行多种类型的调节的过程1700。在一些实施例中,在图16的操作1620-1630期间执行该过程。该过程1700通过使用(在1705处)UI控件上的用户输入来确定用于调节图像的对比度的对比度调节值而开始。在一些实施例中,图像的对比度代表图像中的色值范围。换句话讲,具有较高对比度的图像与具有较低对比度的图像相比具有更宽的色值范围。因此,增大图像的对比度涉及伸展图像中的色值范围(即加宽图像的亮色值与暗色值之间的差值),而降低图像的对比度就减小图像中的色值范围(即收缩图像的亮色值与暗色值之间的差值)。因此,对比度调节值确定应用程序调节图像中的色值范围的程度。
然后,该过程使用(在1710处)UI控件上的同一用户输入来确定用于调节图像饱和度的饱和度调节值。在一些实施例中,图像的饱和度代表图像中的色值的强度。因此,增大图像的饱和度涉及增大图像的色值的强度。因此,饱和度调节值确定应用程序将图像中色值的强度调节到的程度。
该过程然后使用(在1715处)该特定UI控件上的同一用户输入来确定用于调节图像的明度的明度调节值。在一些实施例中,图像的明度代表图像中的色值的浅淡或亮度。因此,提高图像的明度涉及增大图像中的色值的亮度值。因此,明度调节值确定应用程序将图像中色值的浅淡或明度值调节到的程度。
在确定了用于调节图像的对比度、饱和度和明度的这三个不同调节值之后,该过程将对比度调节值、饱和度调节值和明度调节值应用(在1720处)于在操作1625处已识别的那组像素的色值。在一些实施例中,应用程序基于用于应用于图像的色值的这些不同调节值来生成一组算法或一组数学公式。应用程序然后将这组算法或这组数学公式应用于在操作1625处已识别的图像中的每个像素的色值。
然后,如果有必要,该过程将图像的色值转换(在1725处)回到其原始色彩空间。在一些实施例中,当在转换后的色彩空间(例如YCC色彩空间)中识别了用于调节的一组像素之后,应用程序在转换后的色彩空间中对图像的色值执行调节。例如,一些实施例的应用程序在YCC色彩空间中执行树叶调节。在一些实施例中,优选在特定YCC色彩空间(例如IPT色彩空间)中执行树叶调节,这是因为其均匀感知行为。例如,色彩的色相可朝着绿色移动,而不生成色彩黄色。在这些实施例中,该过程有必要在调节操作完成时将图像的色值转换回到其原始色彩空间。在其他实施例中,在识别了用于调节的那组像素之后,应用程序在其原始色彩空间中对图像的色值执行调节。例如,一些实施例的应用程序在色值的原始色彩空间(例如RGB色彩空间)中执行天空调节。在这些实施例中,该过程没有必要执行这个转换步骤1720。然后该过程结束。
一些实施例在相同色彩空间中执行所有调节,而其他实施例在不同色彩空间中执行色彩调节。
图18示出了提供一组UI控件以用于仅调节图像的一部分的色值的一些实施例的图像编辑应用程序1800。在一些实施例中,图像编辑应用程序1800执行过程1600和1700。如在图18中所示,图像编辑应用程序1800包括图像处理器1840、一组内容分析模块1845、色彩空间转换模块1815、像素隔离模块1810和色彩调节引擎1820。
在UI模块1805接收到用于调用这组色彩调节UI控件的用户输入时,UI模块1805将该请求传递到图像处理器1840。图像处理器1840从媒体存储装置1850检索图像并且请求这组内容分析模块1845对该图像执行一组内容分析。在一些实施例中,媒体存储装置1850是一组文件夹,该组文件夹由图像编辑应用程序1800组织并且被存储在特定的一组存储设备上。存储设备可包括应用程序所运行于的电子设备的启动驱动器、该磁盘的不同分区、单独的内部或外部硬盘驱动器、闪存驱动器、SD卡等。
这组内容分析模块1845对图像执行一组内容分析模块。不同的实施例对图像执行不同的内容分析。例如,一些实施例的应用程序执行脸部检测分析以检测是否有人脸出现在图像上。这组内容分析模块1845然后将分析结果发送回图像处理器1840。基于该分析结果,一些实施例中的图像处理器1840为一组UI控件限定一组参数。例如,如果在图像上检测到人脸,则图像处理器1840将饱和度调节UI控件配置为与鲜明度调节操作相关联。
在UI模块1805在这些UI控件之一上接收到用于发起色彩调节操作的用户输入时,UI模块1805将该用户输入传递到图像处理器1840。图像处理器1840然后请求像素隔离模块1810来识别图像中的具有落入与接收该用户输入的UI控件相关联的色值范围内的色值的一组像素。在一些实施例中,图像的色值是在与用于定义色值范围的色彩空间(例如YCC色彩空间)不同的色彩空间(例如RGB色彩空间)内被定义。在这些实施例中,在请求像素隔离模块1810识别这组像素之前,图像处理器1840请求色彩空间转换模块1815将图像的色值转换到用于定义色值范围的色彩空间。
在这组像素被识别之后,图像处理器1840将关于所识别的像素的图像和信息发送到色彩调节引擎1820以对图像执行一组色彩调节。色彩调节引擎1820将不同色彩调节应用于图像中的所识别的像素。在一些实施例中,色彩调节引擎1820执行过程1700以将调节应用于图像的所识别的像素。如图所示,色彩调节引擎1820包括用于对图像应用对比度调节的对比度调节引擎1825、用于对图像应用明度调节的明度调节引擎1830和用于对图像应用饱和度调节的饱和度调节引擎1835。对于本领域的技术人员应该显而易见的是,这些仅仅是可以对图像所执行的示例性色彩调节,并且色彩调节引擎1820可包括用于对图像执行附加类型的色彩调节的附加色彩调节引擎。例如,明度调节引擎1830使用用户输入来确定用于调节图像的明度的明度调节值,对比度调节引擎1825使用用户输入来确定用于调节图像的对比度的对比度调节值,并且饱和度调节引擎1835使用用户输入来确定用于调节图像的饱和度的饱和度调节值。不同的调节引擎1825-1835然后将明度调节、对比度调节和饱和度调节应用于图像以产生已编辑的图像。
在一些实施例中,色彩调节引擎1820在转换后的色彩空间中调节图像的色值。在这些实施例中,图像处理器1840将经调节的图像发送到色彩空间转换模块1815以将图像的色值转换回其原始色彩空间。图像处理器1840然后将经调节的图像发送到媒体存储装置并且发送到UI模块1805用于进行显示。
II.图像上控件
如上面参考图1所述,一些实施例的图像编辑应用程序提供叠放在图像上的一组UI控件以用于编辑图像。这组图像上UI控件中每一个图像上UI控件与不同调节相关联。在一些实施例中,用户可通过选择图像上的位置来激活这组叠放的UI控件(也被称为图像上UI控件)。在这些实施例中,在用户选择图像上的特定位置时,应用程序执行一组分析以确定与图像上的所选择的位置相关联的特定的内容类型。应用程序然后在所选择的位置与不同的内容类型相关联时显示与用于应用于图像的不同色彩调节功能相关联的不同组UI控件。在一些实施例中,这组叠放的UI控件是不透明的或者是透明的。下文中将在章节II.A和II.B中更详细地描述这些图像上UI控件的若干实施例。
图19概念性地示出了用于基于对图像上的位置的用户选择来提供用于调节图像的色值的一组图像上UI控件的过程1900。在一些实施例中,该过程由图像编辑应用程序来执行。该过程通过接收(在1905处)对图像上的位置的选择而开始。该过程然后检索(在1910处)对应于图像上的所选择的位置的一组像素的色值。在一些实施例中,这组像素是位于所选择的位置附近的像素。
然后,该过程对所检索的色值执行(在1915处)一组分析。在一些实施例中,每个分析基于所检索的色值来确定所选择的位置是否与特定的内容类型相关联。例如,一个分析用于确定所选择的位置是否与肤色相关联,并且另一分析用于确定所选择的位置是否与天空相关联。
基于这组分析的结果,该过程提供(在1920处)用于控制一组图像编辑操作的一组UI控件。在一些实施例中,这组UI控件是显示在图像上的图像上控件。在这些实施例中的一些实施例中,这组图像上UI控件是依赖于方向的UI控件。用户可通过在图像上提供定向输入来在图像上发起不同的图像编辑操作。
然后,该过程确定(在1930处)在图像上是否选择另一位置。如果选择另一位置,则该过程返回到1910以检索对应于新选择的位置的另一组像素的色值。该过程将循环通过操作1910-1925直到没有更多位置被选择。然后该过程结束。
A.图像上色彩控件
在一些实施例中,图像编辑应用程序提供的这组叠放的UI控件用于将不同色彩调节应用于图像。图20示出了基于由用户所选择的图像上的位置来提供用于将色彩调节应用于图像的一组图像上UI控件的一些实施例的一种图像编辑应用程序的一个示例性GUI300。具体地,图20示出了在四个不同阶段2005、2010、2015和2020处激活不同组图像上UI控件的操作。下面将更详细地描述这些阶段中的每一个阶段。
第一阶段2005与图3中的第二阶段310相同。如图所示,用户已选择了用于调节图像355的色彩的可选择的UI项目342。UI控件显示区域350显示用于调节图像的饱和度的UI控件352、用于调节图像中的天空色彩的UI控件354、用于调节图像中的树叶色彩的UI控件358和用于调节图像中的肤色色彩的UI控件356。第二阶段2010示出了在用户已选择了图像355上的位置之后的GUI 300。如图所示,用户已选择了显示人脸的图像上的位置。可通过在具有显示图像的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置在图像的该位置处并提供输入(例如点击光标控制设备、按下热键等)来执行对图像355上的这个位置的选择。如上所述,在用户已选择了图像上的位置之后,一些实施例的图像编辑应用程序执行一组分析以确定与所选择的位置相关联的特定的内容类型。不同实施例使用不同技术来确定与所选择的位置相关联的内容类型。一些实施例的应用程序首先定义要与不同内容类型相关联的不同色值范围。例如,一些实施例的应用程序定义要与肤色色彩相关联的色值范围、要与天空色彩相关联的色值范围和要与树叶色彩相关联的色值范围。在一些实施例中,应用程序以与上面参考图5、8和11所述相同的方式来定义色值范围。应用程序然后确定对应于图像中的所选择的位置的一组像素的色值是否落入与特定的内容类型相关联的色值范围内,并且显示与该特定的内容类型相关联的一组图像上UI控件。
不同的实施例不同地实现这组图像上UI控件。例如,一些实施例的应用程序将这组图像上UI控件实现为依赖于方向的UI控件。在这些实施例中的一些实施例中,应用程序为每个UI控件显示定向箭头,以便引导用户发起与UI控件相关联的色彩调节操作。用户通过提供不同的定向输入来发起不同的色彩调节操作。基于定向输入的方向,应用程序对图像执行特定的色彩调节。在第二阶段2010中,由于用户已选择了显示人脸的图像上的位置,所以应用程序确定与所选择的位置符合的像素的色值与肤色色彩相关联。因此,应用程序显示用于调节肤色色彩的一组图像上UI控件2025和2030(被显示为沿水平轴线的两个定向箭头)。这组图像上UI控件2025和2030对应于肤色UI控件356。在一些实施例中,应用程序还突出显示肤色UI控件356以指示肤色UI控件356被激活。除了用于调节肤色色彩的UI控件之外,一些实施例的应用程序还显示用于调节整个图像的色值的一组不依赖于内容的UI控件。在这些实施例中,这组不依赖于内容的UI控件总是被显示而与用户所选择的位置无关。在这个实例中,应用程序显示用于调节整个图像的饱和度的一组不依赖于内容的UI控件2035和2040(被显示为沿垂直轴线的两个定向箭头)。这组图像上UI控件2035和2040对应于饱和度UI控件352。在一些实施例中,应用程序还突出显示饱和度UI控件352,以指示饱和度UI控件352被激活。虽然在这个附图中未被示出,但是在这个第二阶段2010中用户可通过提供定向输入来选择特定的色彩调节(即对整个图像的饱和度调节或对图像的肤色色彩的色彩调节)。
在一些实施例中,与不同色彩调节相关联的不同组图像上UI控件具有不同的外观。例如,图像上UI控件2025和2030可具有与图像上UI控件2035和2040不同的色彩以便为用户提供区分。
第三阶段2015示出了在用户已选择了图像355上的不同位置之后的GUI 300。如图所示,用户已选择了示出蓝天的图像上的位置。应用程序确定对应于新选择位置的像素的色值落入为天空色彩所定义的色值范围内。因此,应用程序显示用于调节天空色彩的一组图像上UI控件2045和2050(被显示为沿水平轴线的两个定向箭头)。这组图像上UI控件2045和2050对应于天空UI控件354。如图所示,应用程序还突出显示天空UI控件354以指示天空UI控件354被激活。与第二阶段2010类似,除了用于调节天空色彩的图像上UI控件之外,应用程序还显示用于调节整个图像的饱和度的一组不依赖于内容的UI控件2035和2040。应用程序还突出显示饱和度UI控件352以指示饱和度UI控件352被激活。虽然在这个图中未被示出,但是在这个第三阶段2015中用户可通过提供定向输入来选择特定的色彩调节(即对整个图像的饱和度调节或对图像的天空色彩的色彩调节)。
第四阶段2020示出了在用户已选择了图像355上的不同位置之后的GUI 300。如图所示,用户已选择了示出高山的图像上的位置。应用程序确定对应于新选择位置的像素的色值落入为树叶色彩所定义的色值范围内。因此,应用程序显示用于调节树叶色彩的一组图像上UI控件2055和2060(被显示为沿水平轴线的两个定向箭头)。这组图像上UI控件2055和2060对应于树叶UI控件358。如图所示,应用程序还突出显示树叶UI控件358以指示树叶UI控件358被激活。类似于第二阶段2010和第三阶段2015,除了用于调节树叶色彩的图像上UI控件之外,应用程序还显示用于调节整个图像的饱和度的一组不依赖于内容的UI控件2035和2040。应用程序还突出显示饱和度UI控件352以指示饱和度UI控件352被激活。虽然在这个图中未被示出,但是在这个第四阶段2020中用户可通过提供定向输入来选择特定的色彩调节(即对整个图像的饱和度调节或对图像树叶色彩的色彩调节)。
图20示出了一种激活用于对图像执行不同色彩调节的不同图像上UI控件的示例性操作。图21、22、23和24示出了操控不同图像上UI控件来对图像执行不同色彩调节的实例。具体地,图21示出了在四个不同阶段2105、2110、2115和2120处的一种操控一组图像上UI控件以用于调节整个图像的饱和度的示例性操作。
第一阶段2105与图20的第一阶段2005相同。如图所示,用户已选择了用于调节图像355的色彩的可选择的UI项目342。第二阶段2110示出了在用户已选择了图像355上的位置之后的GUI 300。可通过在具有显示图像的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置在图像的该位置处并提供输入(例如点击光标控制设备、按下热键等)来执行对图像355上的这个位置的选择。如图所示,用户已通过在示出人脸的图像355上的位置处轻击手指而选择该位置。作为该选择的结果,一组图像上UI控件2025-2040被显示在图像上的所选择的位置附近。这组图像上UI控件包括对应于用于调节整个图像的饱和度的饱和度UI控件352的一组图像上UI控件2035和2040、以及对应于用于调节图像的肤色色彩的肤色UI控件356的一组图像上UI控件2025和2030。第二阶段2110还示出了对应的饱和度UI控件352和肤色UI控件356被突出显示以指示这两个UI控件被激活。
第三阶段2115示出了在用户通过在图像355上提供定向输入而已开始调节图像355的饱和度之后的GUI 300。定向输入可通过沿一个方向拖动在具有触感屏或近触感屏的设备上的用户的手指或拖动光标来提供。在这个实例中,用户通过向上朝着图像的顶部拖动用户的手指来提供定向输入,如通过箭头2125所指出的。应用程序将该定向输入与用于提高整个图像的饱和度的图像上UI控件2035相关联,并且对图像355执行饱和度调节。如图所示,图像355中的色彩的饱和度已被提高,如通过横跨图像355的斜线所指出的。第三阶段2115还示出了一旦应用程序将定向输入与一组图像上UI控件相关联,未激活的图像上UI控件2025和2030就从显示中去除,并且对应的肤色UI控件356不再被突出显示。在一些实施例中,已被激活的图像上UI控件2035和2040跟随定向输入。因此,被激活的图像上UI控件将总是在手指(或光标)在图像上所位于的位置附近。此外,第三阶段2115示出了对应的饱和度UI控件352的滑块已向右移动,因为图像355中的色彩的饱和度被图像上UI控件2035提高。
此外,在已对图像执行了色彩调节时,GUI 300还在可选择的UI项目342的顶部显示条。可选择的UI项目342的顶部的条将保持可见以指示用户已对图像执行了哪种类型的调节。如图所示,在用户已对图像355进行了饱和度调节之后,在第三阶段2115处条已出现在可选择的UI项目342的顶部。
第四阶段2120示出了在用户已通过将用户的手指进一步向上拖动(如通过箭头2130所指出的)而进一步调节了图像355的饱和度之后的GUI300。如图所示,在这个阶段2120中,图像355中的色彩被示出为比第三阶段2115中的图像中的色彩被进一步饱和化,如通过横跨图像355的斜线的更高密度所指出的。第四阶段2120还示出了对应的饱和度UI控件352的滑块已进一步向右移动。在一些实施例中,当用户对图像饱和度的调节触击极限(例如图像的饱和度的可能范围的上端或下端)时,用户的手指方向的箭头将逐渐隐去或消失。例如,如果用户通过将用户的手指从这个阶段2120中所示的手指位置进一步向上拖动而更进一步调节图像355的饱和度,则箭头2035将逐渐隐去或消失。另外,对应的饱和度UI控件352的滑块将触击右端,并且不会进一步向右移动。在一些实施例中,触击极限的箭头的逐渐隐去或消失适用于本申请中所述的其他类型的色彩调节。
图21示出了操控用于调节整个图像的饱和度的一组图像上UI控件的一个示例性操作。图22示出了操控用于调节图像的色温的一组图像上UI控件的一个示例性操作。色温是从图像中的对象反射的可见光的特性。触击图像中的对象的较暖的光对图像中的对象的色彩产生较暖的色调(即更红和黄),而触击图像中的对象的较冷的光对图像中的对象的色彩产生较冷的色调(即更蓝和青)。因此,调节图像的色温意味着添加更多红/黄或者添加更多青/蓝至图像。具体地,图22示出了在四个不同阶段2205、2210、2215和2220处的色彩调节操作。
第一阶段2205与图20的第一阶段2005相同。如图所示,用户已选择了用于调节图像355的色彩的可选择的UI项目342。第二阶段2210示出了在用户已选择了图像355上的位置之后的GUI 300。可通过在具有显示图像的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置在图像的该位置处并提供输入(例如点击光标控制设备、按下热键等)来执行对图像355上的这个位置的选择。如图所示,用户已通过在示出人脸的图像355上的位置处轻击手指而选择该位置。作为该选择的结果,一组图像上UI控件2025-2040被显示在图像上的所选择的位置附近。这组图像上UI控件包括对应于用于调节整个图像的饱和度的饱和度UI控件352的一组图像上UI控件2035和2040、以及对应于用于调节图像的肤色色彩的肤色UI控件356的一组图像上UI控件2025和2030。第二阶段2210还示出了对应的饱和度UI控件352和肤色UI控件356被突出显示以指示这两个UI控件被激活。
第三阶段2215示出了在用户通过在图像355上提供定向输入而已开始调节图像355的色温之后的GUI 300。定向输入可通过沿一个方向拖动在具有触感屏或近触感屏的设备上的用户的手指或拖动光标来提供。在这个实例中,用户通过向右拖动用户的手指来提供定向输入,如通过箭头2225所指出的。应用程序将该定向输入与用于改善图像中的肤色色彩的图像上UI控件2025相关联,并且对图像355执行色温调节。如图所示,图像355的色温已被提高,如通过横跨图像355的斜线所指出的。在一些实施例中,应用程序调节图像的色温以便使肤色色彩更令人满意。在这些实施例中的一些实施例中,应用程序使用上面参考图5描述的相同定义的肤色色彩范围,并且调节图像的色值以使落入所定义的肤色色彩范围内的图像中的色彩更令人满意。
第三阶段2215还示出了一旦应用程序将定向输入与这些一组图像上UI控件相关联,未激活的图像上UI控件2035和2040就从显示中去除,并且对应的饱和度UI控件352不再被突出显示。第三阶段2215还示出了对应的肤色UI控件356的滑块已向右移动。
此外,在已对图像执行了色彩调节时,GUI 300还在可选择的UI项目342的顶部显示条。可选择的UI项目342的顶部的条将保持可见以指示用户已对图像执行了哪种类型的调节。如图所示,在用户已对图像355进行了肤色调节之后,在第三阶段2215处条已出现在可选择的UI项目342的顶部。
第四阶段2220示出了在用户已通过将用户的手指进一步向右拖动(如通过箭头2230所指出的)而进一步调节图像355的色温之后的GUI 300。如图所示,在这个阶段2220中的图像355被示出为比第三阶段2215中的图像被进一步调节,如通过横跨图像355的斜线的更高密度所指出的。第四阶段2220还示出了对应的肤色UI控件356的滑块已进一步向右移动。
图22示出了操控用于调节图像的色温的一组图像上UI控件的一个示例性操作。图23示出了操控用于调节图像中的天空色彩的一组图像上UI控件的一个示例性操作。具体地,图23示出了在四个不同阶段2305、2310、2315和2320处的色彩调节操作。
第一阶段2305与图22的第一阶段2205相同。如图所示,用户已选择了用于调节图像355的色彩的可选择的UI项目342。第二阶段2310示出了在用户已选择了图像355上的位置之后的GUI 300。可通过在具有显示图像的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置在图像的该位置处并提供输入(例如点击光标控制设备、按下热键等)来执行对图像355上的这个位置的选择。如图所示,用户已通过在示出天空的图像355上的位置处轻击手指而选择该位置。作为该选择的结果,一组图像上UI控件2035-2050被显示在图像上的所选择的位置附近。这组图像上UI控件包括对应于用于调节整个图像的饱和度的饱和度UI控件352的一组图像上UI控件2035和2040、以及对应于用于调节图像的天空色彩的天空UI控件354的一组图像上UI控件2045和2050。第二阶段2310还示出了对应的饱和度UI控件352和天空UI控件354被突出显示以指示这两个UI控件被激活。
第三阶段2315示出了在用户通过在图像355上提供定向输入而已开始调节图像355的天空色彩之后的GUI 300。定向输入可通过沿一个方向拖动在具有触感屏或近触感屏的设备上的用户的手指或者拖动光标来提供。在这个实例中,用户通过将用户的手指向右拖动来提供定向输入,如通过箭头2325所指出的。应用程序将该定向输入与用于调节图像中的天空色彩的图像上UI控件2045相关联,并且对图像355执行天空色彩调节。如图所示,图像355中的天空色彩已被增强,如通过横跨示出图像355中的天空区域的斜线所指出的。第三阶段2315还示出了一旦应用程序将该定向输入与一组图像上UI控件相关联,未激活的图像上UI控件2035和2040就被从显示中去除,并且对应的饱和度UI控件352不再被突出显示。第三阶段2315还示出了对应的天空UI控件354的滑块已向右移动。
此外,在已对图像执行了色彩调节时,GUI 300还在可选择的UI项目342的顶部显示条。可选择的UI项目342的顶部的条将保持可见以指示用户已对图像执行了哪种类型的调节。如图所示,在用户已对图像355进行了天空调节之后,在第三阶段2315处条已出现在可选择的UI项目342的顶部。
第四阶段2320示出在用户已通过将用户的手指进一步向右拖动(如通过箭头2330所指出的)而进一步调节图像355的天空色彩之后的GUI 300。如图所示,在这个阶段2320中的图像355中的天空色彩被是示出为比第三阶段2315中的图像中的天空色彩被进一步增强,如通过横跨图像355中的示出天空的区域上的斜线的更高密度所指出的。第四阶段2320还示出了对应的天空UI控件354的滑块已被进一步向右移动。
图23示出了操控一组图像上UI控件以调节图像的天空色彩的一个示例性操作。图24示出了操控一组图像上UI控件以调节图像中的树叶色彩的一个示例性操作。具体地,图24示出了在四个不同阶段2405、2410、2415和2420处的色彩调节操作。
第一阶段2405与图23的第一阶段2305相同。如图所示,用户已选择了用于调节图像355的色彩的可选择的UI控件342。第二阶段2410示出了在用户已选择了图像355上的位置之后的GUI 300。可通过在具有显示图像的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置在图像的该位置处并提供输入(例如点击光标控制设备、按下热键等)来执行对图像355上的这个位置的选择。如图所示,用户已通过在示出高山的图像355上的位置处轻击手指而选择该位置。作为该选择的结果,一组图像上UI控件2035、2040、2055和2060被显示在图像上的所选择的位置附近。这组图像上UI控件包括对应于用于调节整个图像的饱和度的饱和度UI控件352的一组图像上UI控件2035和2040、以及对应于用于调节图像的树叶色彩的树叶UI控件358的一组图像上UI控件2055和2060。第二阶段2410还示出了对应的饱和度UI控件352和树叶UI控件358被突出显示以指示这两个UI控件被激活。
第三阶段2415示出了在用户通过在图像355上提供定向输入而已开始调节图像355的树叶色彩之后的GUI 300。定向输入可通过沿一方向拖动在具有触感屏或近触感屏的设备上的用户的手指或者拖动光标来提供。在这个实例中,用户通过将用户的手指向右拖动来提供定向输入,如通过箭头2425所指出的。应用程序将该定向输入与用于调节图像中的树叶色彩的图像上UI控件2055相关联,并且对图像355执行树叶色彩调节。如图所示,图像355中的树叶色彩已被增强,如通过横跨图像355中的示出高山的区域的斜线所指出的。第三阶段2415还示出了一旦应用程序将该定向输入与一组图像上UI控件相关联,未激活的图像上UI控件2035和2040就从显示中去除,并且对应的饱和度UI控件352不再被突出显示。
此外,在已对图像执行了色彩调节时,GUI 300还在可选择的UI项目342的顶部显示条。可选择的UI项目342的顶部的条将保持可见以指示用户已对图像执行了哪种类型的调节。如图所示,在用户已对图像355进行了树叶调节之后,在第三阶段2415处条已出现在可选择的UI项目342的顶部。
第四阶段2420示出在用户已通过将用户的手指进一步向右拖动(如通过箭头2430所指出的)而进一步调节图像355的树叶色彩之后的GUI 300。如图所示,在这个阶段2420中的图像355中的树叶色彩被示出为比第三阶段2415中的图像中的树叶色彩被进一步增强,如通过横跨图像355中的示出高山的区域上的斜线的更高密度所指出的。
在一些实施例中,在用户已开始提供与一组图像上UI控件相关联的定向输入之后,这组图像上UI控件将总是开始逐渐隐去直到其完全从图像中消失。第四阶段2420示出了在用户已将手指进一步向右移动之后图像上UI控件2055和2060已逐渐隐去。
虽然在图20、21、22、23和24中所示的以上实例中这组叠放的UI控件2025-2060被显示为图像355上的四个箭头,但是在其他实施例中,这组叠放的UI控件可具有不同的外观。图25示出了这些叠放的UI控件的两个其他实例。如在第一个示例中所示,这组叠放的UI控件2545、2550、2555和2560包括从图像355上由用户所选择的位置2525延伸的一组臂。每个叠放的UI控件还包括通过箭头所指方向横贯在臂内的动画定向箭头。此外,每个叠放的UI控件以代表对应于叠放的UI控件的调节操作的色彩被显示。叠放的UI控件2545和2550以一个色彩(例如黑色)被显示,而叠放的UI控件2555和2560以另一色彩(例如白色)被显示,因为这两组叠放的UI控件用于发起不同的调节。第二实例示出了叠放的UI控件的第二可供选择的外观。具体地,实例(2)示出了为用户提供缩略图预览的一组叠放的UI控件2543、2547、2553和2557。如图所示,在这些叠放的UI控件中的每一个叠放的UI控件上显示一组缩略图2570。缩略图提供了对应于基于缩略图在叠放的UI控件上的位置将应用的编辑的图像355的预览。例如,缩略图2585提供了在用户基于位置2580提供定向输入的情况下图像355会看起来怎么样的预览。
图26概念性地示出了用于基于对图像上的位置的用户选择而提供用于调节图像中的饱和度、肤色色彩、天空色彩和树叶色彩的一组图像上UI控件的过程2600。在一些实施例中,该过程由图像编辑应用程序来执行。前三个操作2605、2610和2615与图19中过程1900的前三个操作1905、1910和1915相同。该过程通过接收(在2605处)对图像上的位置的选择而开始。该过程然后检索(在2610处)对应于图像上的所选择的位置的一组像素的色值。在一些实施例中,这组像素是位于所选择的位置附近的像素。
然后,该过程对所检索的色值执行(在2615处)一组分析。在一些实施例中,每个分析基于所检索的色值来确定所选择的位置是否与特定的内容类型相关联。例如,这组分析包括用于确定所选择的位置是否与肤色色彩相关联的分析、用于确定所选择的位置是否与天空色彩相关联的分析和用于确定所选择的位置是否与树叶色彩相关联的分析。
该过程基于这组分析的结果来确定(在2620处)所选择的位置是否与肤色色彩相关联。如果所选择的位置与肤色色彩相关联,则该过程提供(在2625处)用于调节图像中的肤色色彩的一组UI控件。在一些实施例中,用于调节肤色色彩的这组UI控件被显示在图像上的所选择的位置附近。
该过程基于这组分析的结果来确定(在2630处)所选择的位置是否与天空色彩相关联。如果所选择的位置与天空色彩相关联,则该过程提供(在2635处)用于调节图像中的天空色彩的一组UI控件。在一些实施例中,用于调节天空色彩的这组UI控件被显示在图像上的所选择的位置附近。
该过程基于这组分析的结果确定(在2640处)所选择的位置是否与树叶色彩相关联。如果所选择的位置与树叶色彩相关联,则该过程提供(在2645处)用于调节图像中的树叶色彩的一组UI控件。在一些实施例中,用于调节树叶色彩的这组UI控件被显示在图像上的所选择的位置附近。
然后,该过程提供(在2650处)用于调节整个图像的饱和度的一组UI控件。在一些实施例中,该过程总是提供用于调节整个图像的饱和度的这组UI控件而与用户在图像上的所选择的位置无关。
该过程然后确定(在2655处)是否接收到定向输入。如果接收到定向输入,则该过程基于该定向输入来对图像执行(2660在处)色彩调节操作。该过程然后确定(在2665处)图像上UI控件是否被取消选择。在一些实施例中,可通过将手指从具有触感屏或近触感屏的设备提起(或者释放按钮)来取消选择这组图像上UI控件。
如果该过程确定(在2655处)没有定向输入被接收到,则该过程也前进到操作2665以确定图像上UI控件是否被取消选择。如果这组图像上UI控件没有被取消选择,则该过程返回到2655以确定是否接收到定向输入。另一方面,如果这组图像上UI控件被取消选择,则该过程结束。
在一些实施例中,显示在图像上的这组UI控件是依赖于方向的UI控件。在这些实施例中,用户可通过在图像上提供定向输入(即矢量)来在图像上激活这些色彩调节操作之一。定向输入是包括方向和量值的矢量。图27示出了在用户在图像中选择了位置2725之后可能显示的一组示例性的依赖于方向的UI控件2700。这组UI控件2700包括UI控件2705-2720。每个U控件对应于不同的大致方向。例如,UI控件2705对应于沿图像的垂直轴线的大致向上方向(即方向2730和方向2735之间),UI控件2710对应于沿图像的水平轴线的大致向右方向(即方向2735和方向2740之间),UI控件2715对应于沿图像的垂直轴线的大致向下方向(即方向2740和方向2745之间),而UI控件2720对应于沿图像的水平方向的大致向左方向(即方向2745和方向2730之间)。在用户提供定向输入(诸如矢量2750)时,应用程序确定矢量2750的方向是否落入特定的UI控件的大致方向内。在一些实施例中,矢量2750由手指从所选择的位置2725到新位置2760在具有触感屏或近触感屏的设备上的运动或者光标运动来生成。在一些实施例中,矢量2750被确定为是从所选择的位置2725到新位置2760的直线“c”。
在一些实施例中,矢量的方向可被表示为相对于轴线的角度。例如,一些实施例的应用程序可选择使用沿水平轴线的方向2755作为0度。在这些实施例中,每个方向可根据从0度方向2755逆时针变化的角度来表示。例如,定向输入2750的角度可被表示为角度“a”。在这些实施例中,如果定向输入的角度在方向2735(45度)和方向2730(135度)之间,则该定向输入与UI控件2705相关联。类似地,如果定向输入的角度在方向2730(135度)和方向2745(225度)之间,则该定向输入与UI控件2720相关联;如果定向输入的角度在方向2730(225度)和方向2745(315度)之间,则该定向输入与UI控件2715相关联;如果定向输入的角度在方向2740(315度)和方向2735(45度)之间,则该定向输入与UI控件2710相关联。因此,方向为30度的定向输入与UI控件2710相关联并且方向为70度的另一定向输入与UI控件2705相关联。在这个实例中,由于定向输入2750的角度(即角度“a”)在315度和45度之间,所以应用程序将该定向输入2750与UI控件2710相关联,如通过突出显示UI控件2710所指出的。
在一些实施例中,每个色彩调节操作与用于应用于图像的调节值范围相关联。即,较大的调节值指示将较大程度(或度)的色彩调节操作应用于图像,并且较小调节值指示将较小程度(或度)的色彩调节操作应用于图像。在这些实施例中,应用程序基于定向输入的量值来确定用于色彩调节操作的调节值。不同的实施例使用不同的技术来计算定向输入的量值。在一些实施例中,应用程序将定向输入2750的量值确定为矢量从所选择的位置2725到新位置2760的距离“c”。在其他实施例中,每个依赖于方向的UI控件具有对应的轴线。例如,UI控件2710对应于轴线2755。在这些实施例中,应用程序将定向输入2750的量值确定为距离“b”,其是由矢量2750沿UI控件2710的对应的轴线2755所涵盖的距离。在任一种情况下,所计算的量值被用来确定用于将色彩调节操作应用于图像的调节值。
虽然图27中所示的这组依赖于方向的UI控件2700仅包括四个依赖于方向的UI控件,但是对于本领域的普通技术人员而言应该显而易见的是,一些实施例在图像上提供多于或少于四个依赖于方向的UI控件以用于对图像提供不同的调节。
图28概念性地示出了用于从用户接收定向输入并且基于该输入的方向和量值来将对应的色彩调节操作应用于图像的过程2800。在一些实施例中,在应用程序已接收到对图像上的位置的选择并且在图像上提供了一组对应的UI控件之后,应用程序执行过程2800。
该过程通过接收(在2805处)图像上的定向输入而开始。在一些实施例中,定向输入包括方向和量值。该过程然后确定(在2810处)定向输入的方向。在一些实施例中,确定定向输入的方向的操作涉及确定定向输入相对于图像的轴线的角度。
在确定了定向输入的方向之后,该过程将该方向与UI控件相关联(在2815处)。在一些实施例中,该过程使用上面参考图27所述的技术来将方向与特定UI控件相关联。在这些实施例中,该过程向不同的UI控件分配不同的方向范围。该过程然后确定该输入的方向是否落入与特定UI控件相关联的范围内。
然后,该过程确定(在2820处)定向输入的量值。在一些实施例中,该过程使用上面参考图27所述的技术来确定定向输入的量值。该过程然后(在2825处)基于定向输入的量值来计算调节值。在一些实施例中,较大量值对应于较大调节值并且较小量值对应于较小调节值。
最后,该过程使用所计算的调节值来对图像应用对应于相关联UI控件的色彩调节操作。在一些实施例中,该过程基于接收用户输入的UI控件,将色彩调节仅应用于图像的一部分。此外,该过程可将完全程度的色彩调节应用于该图像的像素中的一组,并将更小程度的色彩调节应用于该图像的像素的另一组。然后该过程结束。
图29示出了提供一组图像上UI控件以用于编辑图像的色值的一些实施例的一种图像编辑应用程序2900。在一些实施例中,图像编辑应用程序2900执行过程1900、2600和2800。图像编辑应用程序2900包括与图像编辑应用程序1800相同的若干部件。例如,图像编辑应用程序2900包括一组内容分析模块1845、色彩空间转换模块1815、像素隔离模块1810和色彩调节引擎1820。如图所示,图像编辑应用程序还包括图像处理器2940。
UI模块1805接收对图像上的位置的用户选择,并且将关于所选择的位置的信息传递到图像处理器2940。在接收到所选择的位置后,图像处理器2940检索对应于图像上的所选择的位置的一组像素的色值,并且将这组像素及其色值传递到这组内容分析模块1845。这组内容分析模块1845对色值执行一组不同的分析。
在一些实施例中,每个内容分析模块1845执行不同的分析以基于所接收的色值来确定所选择的位置是否与不同的内容类型相关联。例如,内容分析模块对色值执行分析以确定所选择的位置是否与肤色相关联,并且另一内容分析模块对色值执行另一分析以确定所选择的位置是否与天空相关联。这组内容分析模块1845然后将分析结果(即与所选择的位置相关联的所确定的特定的内容类型)传递到图像处理器2940。
基于从内容分析模块1845接收到的分析结果,图像处理器2940选择用于调节不同色值的一组图像上UI控件以用于将其显示在图像上。图像处理器2940然后请求UI模块1805来显示所选择的这组图像上UI控件。在UI模块1805在图像上接收到输入时,UI模块1805将所接收的输入传递回到图像处理器2940。在一些实施例中,所接收的输入是定向输入。
图像处理器2940将该定向输入与特定的色彩调节操作(例如饱和度调节、鲜明度调节、肤色调节等)相关联。图像处理器2940然后请求像素隔离模块1810来识别图像中的具有落入与该特定的色彩调节操作相关联的色值范围内的色值的一组像素。在一些实施例中,图像的色值在与用于定义色值范围的色彩空间(例如YCC色彩空间)不同的色彩空间(例如RGB色彩空间)内被定义。在这些实施例中,在请求像素隔离模块1810识别这组像素之前,图像处理器2940请求色彩空间转换模块1815来将图像的色值转换到用于定义色值范围的色彩空间。
在这组像素被识别之后,图像处理器2940将关于所识别的像素的图像和信息发送到色彩调节引擎1820,以对图像执行一组色彩调节。色彩调节引擎1820将不同色彩调节应用于图像中的所识别像素。如图所示,色彩调节引擎1820包括用于对图像应用对比度调节的对比度调节引擎1825、用于对图像应用明度调节的明度调节引擎1830和用于对图像应用饱和度调节的饱和度调节引擎1835。对于本领域技术人员而言应该显而易见的是,这些仅仅是可以对图像执行的示例性色彩调节,色彩调节引擎1820可以包括附加色彩调节引擎用于对图像执行附加类型的色彩调节。例如,明度调节引擎1830使用用户输入来确定用于调节图像的明度的明度调节值,对比度调节引擎1825使用用户输入来确定用于调节图像的对比度的对比度调节值,并且饱和度调节引擎1835使用用户输入来确定用于调节图像的饱和度的饱和度调节值。不同的调节引擎1825-1835然后将明度调节、对比度调节和饱和度调节应用于图像以产生已编辑的图像。
在一些实施例中,色彩调节引擎1820在转换后的色彩空间中调节图像的色值。在这些实施例中,图像处理器2940将经调节的图像发送到色彩空间转换模块1815,以将图像的色值转换回其原始色彩空间。图像处理器2940然后将经调节的图像发送到媒体存储装置并且发送到UI模块1805以用于进行显示。
在图像上提供一组UI控件有许多益处。例如,图像上UI控件提供与范围滑动条相比具有更精细粒度的更大标度以用于允许用户在调节值范围内指定调节值。图30示出了通过GUI 300实现的这种益处的一个示例。如在图30中所示,用于调节图像355的天空色彩的天空UI控件354和对应的图像上控件2045和2050被激活。如上面参考图7和23所述,用户可通过操控天空UI控件354或使用图像上UI控件2045和2050在图像上提供定向输入来调节图像的天空色彩。在这个实例中,天空UI控件354被实现为范围滑动条,该范围滑动条允许用户通过沿范围滑动条354移动滑块来指定0-100之间的调节值。由于范围滑动条354受限于其尺寸,所以用户沿范围滑动条354移动滑块的每个单位3005将调节值增大或减小一个大数量(例如25)。另一方面,在用户通过在图像上提供定向输入而使用图像上UI控件时,用户可从所选择的位置移动到图像的任一端。这样,用户在图像上移动的每个单位3010仅将调节值增大或减小一个小数量(例如2)。因此,图像上UI控件为用户提供具有更精细粒度的大得多的标度以用于指定调节值。
B.图像上曝光控件
上面章节中的图20、21、22、23、和24描述了图像上UI控件的若干实例。在这些实例中,应用程序允许用户在图像中选择位置并且根据与所选择的位置相关联的内容类型来提供不同组图像上UI控件以用于调节图像的色彩。本章节提供这些图像上UI控件的若干附加实例。具体地,图31示出了根据与所选择的位置相关联的内容类型提供不同组图像上UI控件以用于调节图像的曝光设置的一种操作。具体地,图31示出了在四个不同阶段3105、3110、3115和3120处通过GUI 300来激活不同组图像上UI控件的操作。下面将更详细地描述这些阶段中的每一个阶段。
第一阶段3105与图20的第一阶段2005类似,不同的是用户已选择了用于调节图像355的曝光的可选择的UI项目3125,如通过突出显示可选择的UI项目3125所指出的。可通过在具有显示可选择的UI项目3125的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置在可选择的UI项目3125处并提供输入(例如点击光标控制设备、按下热键等)来执行对可选择的UI项目3125的选择。如在图31中所示,一组曝光调节UI控件3130-3150被显示在UI控件显示区域350中。不同的实施例提供不同类型的UI控件以用于调节图像的色彩。在这个实例中,曝光调节UI控件是统一的滑动条控件,该滑动条控件包括可沿滑道滑动的多个控制滑块3130-3150。
在一些实施例中,统一的滑动条控件在媒体编辑应用程序中被使用以允许用户通过沿滑道移动若干不同的控制滑块而修改若干不同的特性(例如明度、对比度等)。所述多滑动条上的每个滑块(3130-3150)对应于可对图像执行的不同的调节操作。UI控件3130(滑块3130)用于调节图像的暗区,UI控件3135和3140(滑块3135和3140)用于调节图像的对比度,UI控件3145(滑块3145)用于调节图像的明度,并且UI控件3150(滑块3150)用于调节图像的亮区。用户可通过选择这些滑块之一并将其沿多滑动条移动到不同的位置而对图像发起不同的色彩调节。统一的滑动条控件的多种操作在美国临时专利申请61/607,554中有所描述。
第二阶段3110示出了在用户已选择了图像355上的位置之后的GUI300。如图所示,用户已选择了显示海洋的图像上的位置。可通过在具有显示图像的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置在图像的该位置处并提供输入(例如点击光标控制设备、按下热键等)来执行对图像355上的这个位置的选择。如上所述,在用户已选择了图像上的位置之后,一些实施例的图像编辑应用程序执行一组分析以确定与所选择的位置相关联的特定的内容类型。不同的实施例使用不同的技术来确定与所选择的位置相关联的内容类型。一些实施例的应用程序首先限定要与不同内容类型相关联的不同色值范围。例如,一些实施例的应用程序限定要与暗区相关联的色值范围、要与中间色调相关联的色值范围和要与亮区相关联的色值范围。应用程序然后确定对应于图像中的所选择的位置的一组像素的色值是否落入与特定的内容类型相关联的色值范围内,然后显示与该特定的内容类型相关联的一组图像上UI控件。
不同的实施例不同地实施这组图像上UI控件。例如,一些实施例的应用程序将这组图像上UI控件实现为依赖于方向的UI控件。在这些实施例中的一些实施例中,应用程序为每个UI控件显示定向箭头以便引导用户发起与UI控件相关联的色彩调节操作。用户通过提供不同的定向输入来发起不同的色彩调节操作。基于定向输入的方向,应用程序对图像执行特定的色彩调节。
在第二阶段3110中,由于用户已选择了显示具有深色彩(即低亮度值)的海洋的图像上的位置,所以应用程序确定与所选择的位置符合的像素的色值与暗区相关联。因此,应用程序显示用于调节图像中的暗区的一组图像上UI控件3165和3170(被显示为沿垂直轴线的两个定向箭头)。这组图像上UI控件3165和3170对应于暗区UI控件3130。在一些实施例中,应用程序还突出显示暗区UI控件3130以指示暗区UI控件3130被激活。除了用于调节暗区的UI控件之外,一些实施例的应用程序还显示用于调节图像的对比度的一组不依赖于内容的UI控件。在这些实施例中,这组不依赖于内容的UI控件总是被显示而与用户所选择的位置无关。在这个实例中,应用程序显示用于调节图像的对比度的一组不依赖于内容的UI控件3155和3160(被显示为沿水平轴线的两个定向箭头)。这组图像上UI控件3155和3160对应于对比度UI控件3135和3140。在一些实施例中,应用程序还突出显示对比度UI控件3135和3140以指示对比度UI控件3135和3140被激活。虽然在这个图中未被示出,但是在这个第二阶段3110中用户可通过在图像上提供定向输入而进行曝光调节(即对比度调节或暗区调节)。
第三阶段3115示出了在用户已选择了图像355上的不同位置之后的GUI 300。如图所示,用户已选择了示出具有浅色彩(即高亮度值)的蓝天的图像上的位置。应用程序确定对应于新选择位置的像素的色值落入为亮区定义的色值范围内。因此,应用程序显示用于调节图像的亮区的一组图像上UI控件3175和3180(被显示为沿垂直轴线的两个定向箭头)。这组图像上UI控件3175和3180对应于亮区UI控件3150。如图所示,应用程序还突出显示亮区UI控件3150以指示亮区UI控件3150被激活。类似于第二阶段3110,除了用于调节亮区的图像上UI控件之外,应用程序还显示用于调节图像的对比度的一组不依赖于内容的UI控件3155和3160。应用程序还突出显示对比度UI控件3135和3140以指示对比度UI控件3135和3140被激活。虽然在这个图中未被示出,但是在这个第三阶段3115中用户可通过在图像上提供定向输入而发起特定的色彩调节(即对比度调节或亮区调节)。
第四阶段3120示出了在用户已选择了图像355上的不同位置之后的GUI 300。如图所示,用户已选择了示出具有中间色调色彩(即中等亮度值)的高山的图像上的位置。应用程序确定对应于新选择位置的像素的色值落入为中间色调定义的色值范围内。因此,应用程序显示用于调节图像的明度的一组图像上UI控件3185和3190(被显示为沿垂直轴线的两个定向箭头)。这组图像上UI控件3185和3190对应于明度UI控件3145。如图所示,应用程序还突出显示明度UI控件3145以指示明度UI控件3145被激活。类似于第二阶段3110和第三阶段3115,除了用于调节明度的图像上UI控件之外,应用程序还显示用于调节图像的对比度的一组不依赖于内容的UI控件3155和3160。应用程序还突出显示对比度UI控件3135和3140以指示对比度UI控件3135和3140被激活。虽然在这个图中未被示出,但是在这个第四阶段3120中用户可通过在图像上提供定向输入而选择特定的曝光调节(即对比度调节或明度调节)。
图31示出了激活不同图像上UI控件以用于对图像执行不同的曝光调节的一种示例性操作。图32、33、34和35示出了操控这些不同的图像上UI控件以对图像执行不同的曝光调节的实例。具体地,图32示出了在四个不同阶段3205、3210、3215和3220处操控一组图像上UI控件以用于调节图像的对比度的一个示例性操作。
第一阶段3205与图31的第一阶段3105相同。如图所示,用户已选择了用于调节图像355的曝光设置的可选择的UI项目3125。第二阶段3210示出了在用户已选择了图像355上的位置之后的GUI 300。可通过在具有显示图像的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置在图像的该位置处并提供输入(例如点击光标控制设备、按下热键等)来执行对图像355上的这个位置的选择。如图所示,用户已通过在示出具有深色彩的海洋的图像355上的位置处轻击手指而选择该位置。作为该选择的结果,一组图像上UI控件3155-3170被显示在图像上的所选择的位置附近。这组图像上UI控件包括对应于用于调节图像的对比度的对比度UI控件3135和3140的一组图像上UI控件3155和3160、以及对应于用于调节图像的暗区的暗区UI控件3130的一组图像上UI控件3165和3170。第二阶段3210还示出了对应的对比度UI控件3135和3140和暗区UI控件3130被突出显示以指示这些UI控件被激活。
第三阶段3215示出了在用户通过在图像355上提供定向输入而已开始调节图像355的对比度之后的GUI 300。定向输入可通过沿一个方向拖动在具有触感屏或近触感屏的设备上的用户的手指或者拖动光标来提供。在这个实例中,用户通过将用户的手指向图像355右边拖动而提供定向输入,如通过箭头3225所指出的。应用程序将该定向输入与用于提高图像355的对比度的图像上UI控件3155和3160相关联,并且对图像355执行对比度调节。如图所示,图像355中的色彩的对比度已被提高。图像355的较暗区域(例如高山区域和海洋区域)被暗化,如通过横跨那些较暗区域的斜线所指出的,而图像355的较亮区域(例如云和太阳区域)被亮化,如通过勾勒那些较亮区域的虚线所指出的。第三阶段3215还示出了一旦应用程序将定向输入与一组图像上UI控件中相关联,未激活的图像上UI控件3165和3170就从显示中去除,并且对应的暗区UI控件3130不再被突出显示。第三阶段3215还示出了对应的对比度UI控件3135和3140已相互远离地移动。
此外,在已对图像执行了曝光调节时,GUI 300还在可选择的UI项目3215的顶部显示条。可选择的UI项目3215的顶部的条将保持可见以指示用户已对图像执行了哪种类型的调节。如图所示,在用户已对图像355进行了对比度调节之后,在第三阶段3215处条已出现在可选择的UI项目3215的顶部。
第四阶段3220示出了在用户已通过将用户的手指进一步向右拖动(如通过箭头3230所指出的)而进一步增大图像355的对比度之后的GUI 300。如图所示,在这个阶段3220中的图像355的黑暗区域中的色彩被示出为比第三阶段3215中的图像黑暗区域中的色彩被进一步暗化,如通过横跨图像355的黑暗区域的斜线的更高密度所指出的。类似地,在这个阶段3220中的图像355的明亮区域中的色彩被示出为比第三阶段3215中的图像的明亮区域中的色彩被进一步亮化,如通过勾勒图像355的明亮区域的间隔更大的虚线所指出的。第四阶段3320还示出了对应的对比度UI控件3135和3140已进一步相互远离地移动。
图32示出了操控用于调节图像的对比度的一组图像上UI控件的一个示例性操作。图33示出了操控用于调节图像的暗区的一组图像上UI控件的一个示例性操作。具体地,图示出了在四个不同阶段3305、3310、3315和3320处的曝光调节操作。
第一阶段3305与图31的第一阶段3105相同。如图所示,用户已选择了用于调节图像355的曝光设置的可选择的UI项目3125。第二阶段3310示出了在用户已选择了图像355上的位置之后的GUI 300。可通过在具有显示图像的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置在图像的该位置处并提供输入(例如点击光标控制设备、按下热键等)来执行对图像355上的这个位置的选择。如图所示,用户已通过在示出具有深色彩的海洋的图像355上的位置处轻击手指而选择该位置。作为该选择的结果,一组图像上UI控件3155-3170被显示在图像上的所选择的位置附近。这组图像上UI控件包括对应于用于调节图像的对比度的对比度UI控件3135和3140的一组图像上UI控件3155和3160、以及对应于用于调节图像的暗区的暗区UI控件3130的一组图像上UI控件3165和3170。第二阶段3310还示出了对应的对比度UI控件3135和3140和暗区UI控件3130被突出显示以指示这些UI控件被激活。
第三阶段3315示出了在用户通过在图像355上提供定向输入而已开始调节图像355的暗区之后的GUI 300。定向输入可通过沿一个方向拖动在具有触感屏或近触感屏的设备上的用户的手指或者拖动光标来提供。在这个实例中,用户通过将用户的手指向下朝着图像355的底部拖动而提供定向输入,如通过箭头3325所指出的。应用程序将定向输入与用于暗化图像中的暗区的图像上UI控件3170相关联,并且对图像355执行暗区调节。如图所示,图像355中的黑暗区域(例如示出海洋的区域)已被暗化,如通过横跨图像355中的示出海洋的区域的斜线所指出的。第三阶段3315还示出了一旦应用程序将定向输入与一组图像上UI控件相关联,未激活的图像上UI控件3155和3160就从显示中去除,并且对应的对比度UI控件3135和3140不再被突出显示。第三阶段3315还示出了对应的暗区UI控件3130已向左移动。
此外,在已对图像执行了曝光调节时,GUI 300还在可选择的UI项目3125的顶部显示条。可选择的UI项目3125的顶部的条将保持可见以指示用户已对图像执行了哪种类型的调节。如图所示,在用户已对图像355进行了暗区调节之后,在第三阶段3315处条已出现在可选择的UI项目3125的顶部。
第四阶段3320示出了在用户已通过将用户的手指进一步向下拖动(如通过箭头3330所指出的)而进一步调节图像355的暗区之后的GUI 300。如图所示,在这个阶段3320中的图像355的黑暗区域(例如示出海洋和高山的区域)被示出为比第三阶段3315中的图像中黑暗区域被进一步饱和化,如通过横跨图像355中的黑暗区域的斜线的更高密度所指出的。第四阶段3320还示出了对应的暗区UI控件3130已进一步向左移动。
图33示出了操控用于调节图像的暗区的一组图像上UI控件的一个示例性操作。图34示出了操控用于调节图像的亮区的一组图像上UI控件的一个示例性操作。具体地,图34示出了在四个不同阶段3405、3410、3415和3420处的曝光调节操作。
第一阶段3405与图31的第一阶段3105相同。如图所示,用户已选择了用于调节图像355的曝光设置的可选择的UI项目3125。第二阶段3410示出了在用户已选择了图像355上的位置之后的GUI 300。可通过在具有显示图像的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置在图像的该位置处并提供输入(例如点击光标控制设备、按下热键等)来执行对图像355上的这个位置的选择。如图所示,用户已通过在示出具有浅色彩的天空的图像355上的位置处轻击手指而选择该位置。作为该选择的结果,一组图像上UI控件3155、3160、3175和3180被显示在图像上的所选择的位置附近。这组图像上UI控件包括对应于用于调节图像的对比度的对比度UI控件3135和3140的一组图像上UI控件3155和3160、以及对应于用于调节图像的亮区的亮区UI控件3150的一组图像上UI控件3175和3180。第二阶段3410还示出了对应的对比度UI控件3135和3140和亮区UI控件3150被突出显示以指示这些UI控件被激活。
第三阶段3415示出了在用户通过在图像355上提供定向输入而已开始调节图像355的亮区之后的GUI 300。定向输入可通过沿一个方向拖动在具有触感屏或近触感屏的设备上的用户的手指或者拖动光标来提供。在这个实例中,用户通过将用户的手指向下朝着图像355的底部拖动而提供定向输入,如通过箭头3425所指出的。应用程序将该定向输入与用于暗化图像中的亮区的图像上UI控件3180相关联,并且对图像355执行亮区调节。如图所示,图像355中的明亮区域(例如示出太阳和天空的区域)已被暗化,如通过横跨图像355中示出太阳和天空的区域的斜线所指出的。第三阶段3415还示出了一旦应用程序将定向输入与一组图像上UI控件相关联,未激活的图像上UI控件3155和3160就从显示中去除,并且对应的对比度UI控件3135和3140不再被突出显示。第三阶段3415还示出了对应的亮区UI控件3150已向左移动。
此外,在已对图像执行了曝光调节时,GUI 300还在可选择的UI项目3125的顶部显示条。可选择的UI项目3125的顶部的条将保持可见以指示用户已对图像执行了哪种类型的调节。如图所示,在用户已对图像355进行了亮区调节之后,在第三阶段3415处条已出现在可选择的UI项目3125的顶部。
第四阶段3420示出了在用户已通过将用户的手指进一步向下拖动(如通过箭头3430所指出的)而进一步调节图像355的亮区之后的GUI 300。如图所示,在这个阶段3420中的图像355的明亮区域(例如示出太阳和天空的区域)被示出为比第三阶段3415中的图像中明亮区域被进一步暗化,如通过横跨图像355中明亮区域的斜线的更高密度所指出的。第四阶段3420还示出了对应的亮区UI控件3150已进一步向左移动。
图34示出了操控用于调节图像的亮区的一组图像上UI控件的一个示例性操作。图35示出了操控用于调节图像的整体明度的一组图像上UI控件的一个示例性操作。具体地,图35示出了在四个不同阶段3505、3510、3515和3520处的曝光调节操作。
第一阶段3505与图像31的第一阶段3105相同。如图所示,用户已选择了用于调节图像355的曝光设置的可选择的UI项目3125。第二阶段3510示出了在用户已选择了图像355上的位置之后的GUI 300。可通过在具有显示图像的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置在图像的该位置处并提供输入(例如点击光标控制设备、按下热键等)来执行对图像355上的这个位置的选择。如图所示,用户已通过在示出具有中间色调的高山的图像355上的位置处轻击手指而选择该位置。作为该选择的结果,一组图像上UI控件3155、3160、3185和3190被显示在图像上的所选择的位置附近。这组图像上UI控件包括对应于用于调节图像的对比度的对比度UI控件3135和3140的一组图像上UI控件3155和3160、以及对应于用于调节图像的整体明度的明度UI控件3145的一组图像上UI控件3185和3190。第二阶段3510还示出了对应的对比度UI控件3135和3140和明度UI控件3145被突出显示以指示这些UI控件被激活。
第三阶段3515示出了在用户通过在图像355上提供定向输入而已开始调节图像355的整体明度之后的GUI 300。定向输入可通过沿一个方向拖动在具有触感屏或近触感屏的设备上的用户的手指或者拖动光标来提供。在这个实例中,用户通过将用户的手指向上朝着图像355的顶部拖动而提供定向输入,如通过箭头3525所指出的。应用程序将该定向输入与用于提高图像的明度(即提高图像的像素的亮度值)的图像上UI控件3185相关联,并且对图像355执行明度调节。如图所示,整个图像355已被亮化,如通过勾勒图像355中的对象的虚线所指出的。第三阶段3515还示出了一旦应用程序将定向输入与一组图像上UI控件相关联,未激活的图像上UI控件3155和3160就从显示中去除,并且对应的对比度UI控件3135和3140不再被突出显示。第三阶段3515还示出了对应的明度UI控件3145已向左移动。
此外,在已对图像执行了曝光调节时,GUI 300还在可选择的UI项目3125的顶部显示条。可选择的UI项目3125的顶部的条将保持可见以指示用户已对图像执行了哪种类型的调节。如图所示,在用户已对图像355进行了明度调节之后,在第三阶段3415处条已出现在可选择的UI项目3125的顶部。
第四阶段3520示出了在用户已通过将用户的手指进一步向上拖动而进一步调节图像355的明度之后的GUI 300,如通过箭头3530所指出的。如图所示,在这个阶段3520中图像355被示出为比第三阶段3515中的图像中甚至更亮,如通过勾勒图像355中的对象的间隔更大的虚线所指出的。第四阶段3520还示出了对应的明度UI控件3145已进一步向左移动。
图36概念性地示出了用于基于对图像上的位置的用户选择而提供用于调节图像中的对比度、明度、暗区和亮区的一组图像上UI控件的过程3600。在一些实施例中,该过程由图像编辑应用程序来执行。前三个操作3605、3610和3615与图19中的过程1900的前三个操作1905、1910和1915相同。该过程通过接收(在3605处)对图像上的位置的选择而开始。该过程然后检索(在3610处)对应于图像上的所选择的位置的一组像素的色值。在一些实施例中,这组像素是位于所选择的位置附近的像素。
然后,该过程对所检索的色值执行(在3615处)一组分析。在一些实施例中,每个分析基于所检索的色值来确定所选择的位置是否与特定的内容类型相关联。例如,这组分析包括用于确定所选择的位置是否与深色彩相关联的分析、用于确定所选择的位置是否与浅色彩相关联的分析、以及用于确定所选择的位置是否与中间色调相关联的分析。
该过程然后基于这组分析的结果来确定(在3620处)所选择的位置是否与深色彩相关联。在一些实施例中,如果所检索的色值具有低亮度(即明度)水平,则该过程确定所选择的位置与深色彩相关联。如果所选择的位置与深色彩相关联,则该过程提供(在3625处)用于调节图像中的暗区的一组UI控件。在一些实施例中,用于调节暗区的这组UI控件被显示在图像上的所选择的位置附近。
该过程然后基于这组分析的结果来确定(在3630处)所选择的位置是否与浅色彩相关联。在一些实施例中,如果所检索的色值具有高亮度(即明度)水平,在该过程确定所选择的位置与浅色彩相关联。如果所选择的位置与浅色彩相关联,则该过程提供(在3635处)用于调节图像中的亮区的一组UI控件。在一些实施例中,用于调节亮区的这组UI控件被显示在图像上的所选择的位置附近。
该过程然后基于这组分析的结果来确定(在3640处)所选择的位置是否与中间色调相关联。在一些实施例中,如果所检索的色值具有平均或中等亮度(即明度)水平,则该过程确定所选择的位置与中间色调相关联。如果所选择的位置与中间色调相关联,则该过程提供(在3645处)用于调节图像中的明度的一组UI控件。在一些实施例中,用于调节明度的这组UI控件被显示在图像上的所选择的位置附近。
然后,该过程提供(在3650处)用于调节整个图像的对比度的一组UI控件。在一些实施例中,该过程始终提供用于调节整个图像的对比度的这组UI控件而与用户所选择的图像上的位置无关。
该过程然后确定(在3655处)是否接收到定向输入。如果定向输入被接收到,则该过程基于该定向输入对图像执行(在3660处)曝光调节操作。该操作然后确定(在3665处)图像上UI控件是否被取消选择。在一些实施例中,可通过将手指从具有触感屏或近触感屏的设备提起(或者释放按钮)来取消选择这组图像上UI控件。
如果该过程确定(在3655处)没有定向输入被接收到,则该过程也前进到操作3665以确定图像上UI控件是否被取消选择。如果这组图像上UI控件没有被取消选择,则该过程返回到3655以确定是否接收到定向输入。另一方面,如果这组图像上UI控件被取消选择,则该过程结束。
III.色彩平衡控件
除了提供用于仅调节图像的与内容类型相关联的部分的UI控件之外,一些实施例的图像编辑应用程序还提供用于调节图像的色彩平衡的一组UI控件。非常经常地,在不同照明条件下捕获图像可能不利地影响图像的质量。一种常见的伪影是由捕获图像时所处于的照明条件所产生的图像中的整体不期望的色偏。例如,在白炽灯下捕获的图像常常具有黄色色偏,从而在中性照明条件下应当呈现白色的对象在该图像中呈现黄色。因此,色彩平衡(也被称为白平衡)是校正图像的整体色彩使得图像中的对象看起来自然和令人满意的操作。
在一些实施例中,应用程序提供允许用户在图像上的选择位置的色彩平衡UI控件。应用程序然后检索对应于所选择的位置的像素的色值,并且确定将该像素的色值变为所建立的基线色彩(例如灰色,理想肤色等)的色彩调节。基于该色彩调节,应用程序生成将图像中每一色彩映射到不同的色彩的色彩空间转换。应用程序然后将该色彩空间转换应用于图像中的所有像素。
不同实施例为色彩平衡操作提供不同的基线色彩。例如,一些实施例的应用程序将灰色建立为基线色彩。在这些实施例中,用户借助于色彩平衡UI,通过选择显示本身呈现灰色的对象的图像中的位置来调节图像的色彩平衡。
图37示出了在四个不同阶段3705、3710、3715和3720处通过色彩平衡UI工具调节图像的色彩平衡的一个示例。
第一阶段3705类似于图3的第二阶段310,不同的是在这个第一阶段3705中用户刚刚已选择了色彩平衡可选择的UI项目3725以触发对一组不同色彩平衡工具的显示。如图所示,用户已选择了要在图像显示区域345中显示的图像355。在一些实施例中,当用户已选择了色彩调节视图(通过选择菜单栏340中的可选择的UI项目342)时,用于触发色彩平衡工具的可选择的UI项目3725被显示在UI控件显示区域350内。对可选择的UI项目3725的选择可通过在具有显示可选择的UI项目3725的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置于可选择的UI项目3725处并提供输入(例如点击光标控制设备、按下热键等)来执行。
如图所示,在用户已选择了可选择的UI项目3725之后,色彩平衡工具显示区域3730出现在UI控件显示区域350的顶部。色彩平衡工具显示区域3730包括用于启动不同色彩平衡工具的若干可选择的UI项目。例如,色彩平衡工具显示区域3730包括用于启动“原始白平衡”工具的可选择的UI项目3735。“原始白平衡”工具使用捕获图像的设备的白平衡设置来调节图像的白平衡。色彩平衡工具显示区域3730还包括用于启动不同预设白平衡工具的一组可选择的UI项目。预设白平衡工具基于不同的预定义的照明条件(诸如变天、阴天、闪光灯、背阴、白炽光和荧光照明条件)来调节图像的白平衡。此外,色彩平衡工具显示区域3730还包括用于启动两个自定义色彩平衡工具的可选择的UI项目,诸如用于启动自定义白平衡工具的可选择的UI项目3745和用于启动自定义皮肤平衡工具的可选择的UI项目3740。
自定义白平衡工具允许用户选择被认为在中性照明条件下是白色或灰色的图像上的位置。图像编辑应用程序然后定义算法或数学公式以调节该位置的色值使得所述色值表示白色的。应用程序然后将相同算法或数学公式应用于图像中的其余像素。
第二阶段3710示出了在用户已选择了用于启动自定义白平衡工具的可选择的UI项目3745之后的GUI 300。对可选择的UI项目3745的选择可通过在具有显示可选择的UI项目3745的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置于该可选择的UI项目3745处并提供输入(例如点击光标控制设备、按下热键等)来执行。如图所示,用户刚刚已选择了可选择的UI项目3745,如通过突出显示可选择的UI项目3745所指出的。因此,自定义白平衡UI控件3755被显示在图像上。
一旦自定义白平衡UI控件3755出现在图像上,应用程序就通过调节图像355的色值来执行白平衡操作。具体地,应用程序对对应于或靠近通过自定义白平衡UI控件3755所选择的位置的一组像素的色值中的一者或多者进行采样。应用程序然后构想出将这些色值转换为最近邻灰色的算法或数学公式(其以一组参数作为输入),然后将相同算法或数学公式应用于图像355中的所有像素。在一些实施例中,应用程序在将色彩平衡调节应用于图像之前,将图像355的色值转换到YCC色彩空间(例如YIQ色彩空间)。
不同的实施例不同地实施自定义白平衡UI控件。在这个实例中,自定义白平衡UI控件呈现为在其中心具有十字线的圆。用户可通过将自定义白平衡UI控件3755放置在图像355的一个区域中来选择图像355上的位置,使得十字线位于被认为在中性照明条件下是白色或灰色的图像355中的对象的顶部。
在一些实施例中,应用程序通过显示位于自定义白平衡UI控件3755外的图像的部分的已编辑版本(即在基于自定义白平衡UI控件3755的当前位置来对图像进行白平衡时)来提供白平衡调节的预览。在这些实施例中,位于自定义白平衡UI控件3755内的图像的部分保持未编辑以允许用户看到已编辑版本与未编辑版本之间的差别。如在这个第二阶段3710中所示,位于自定义白平衡UI控件3755外的图像355的部分已被调节,而位于自定义白平衡UI控件3755内的图像355的部分保持未受影响,如通过横跨位于自定义白平衡UI控件3755外的仅图像355的部分的斜线所指出的。在其他实施例中,位于自定义白平衡UI控件3755内的仅图像的部分被编辑,而位于自定义白平衡UI控件3755外的图像的部分保持未编辑。在另外的其他实施例中,整个图像被编辑。
除了预览功能之外,一些实施例的应用程序还放大位于自定义白平衡UI控件3755内的图像的部分以帮助用户精确地选择图像中的白色或灰色位置。如图所示,位于自定义白平衡UI控件3755内的图像355的部分已被放大,因为该区域示出比第一阶段3705中出现的鸟大许多的鸟。
此外,在已对图像执行了色彩调节时,GUI 300还在可选择的UI项目342的顶部显示条。可选择的UI项目342的顶部的条将保持可见以指示用户已对图像执行了哪种类型的调节。如图所示,在用户已对图像355进行了色彩平衡调节之后,在第二阶段320处条已出现在可选择的UI项目342的顶部。
如上所述,一些实施例的应用程序允许用户将自定义白平衡UI控件3755移动到图像上的不同位置。第三阶段3715是瞬态阶段,其示出了用户已选择了自定义白平衡UI控件3755,但是还没有开始移动自定义白平衡UI控件3755。第四阶段3720示出了在用户已将自定义白平衡UI控件3755移动到图像上的不同位置之后的GUI 300。在一些实施例中,用户可通过拖动用户的手指或者拖动光标到图像上的不同位置来移动自定义白平衡UI控件3755。如图所示,用户已将自定义白平衡UI控件3755移动到示出云的图像355的区域,如通过箭头所指出的。由于将自定义白平衡UI控件3755移动到这个新位置,所以应用程序重新调节图像的色值。在一些实施例中,应用程序进行对应于通过自定义白平衡UI控件3755所选择的位置的对像素的另一取样。应用程序然后构想出将色值转换为最近邻灰色的算法或数学公式(其以一组参数作为输入),然后将相同算法或数学公式应用于图像355中的所有像素。如图所示,位于自定义白平衡UI控件3755外的图像的部分被示出为被重新调节,如通过横跨图像355这个部分的不同组的斜线所指出的。
在图37中所示的以上实例中,在色彩平衡控件3755出现在图像上之后应用程序立即对图像执行色彩平衡操作,并且每当用户移动色彩平衡UI控件3755时就重新调节图像。在一些其它实施例中,为了节省执行应用程序的设备的处理功率,应用程序仅在从用户接收到附加输入(例如对“执行色彩平衡”可选择的UI项目的选择、在图像上的额外轻击等)后才对图像执行色彩平衡操作。这样,在每当用户移动色彩平衡UI控件3755时图像不被调节,而仅在用户最终确定位置并提供附加输入时才被调节。
图38示出了一些实施例的由图像编辑应用程序所执行的针对图像的一种示例性白平衡操作。如图所示,色彩空间3800表示在其中定义图像的色值的色彩空间。这个特定的色彩空间沿三个轴线被定义:轴线3820表示红色和绿色色值范围,轴线3830表示蓝色和黄色色值范围,垂直轴线3810表示不同灰色深浅度的范围(即亮度值范围),其中底部位置3840表示黑色,而顶部位置3850表示白色。色彩越浅,该色彩距离这个色彩空间柱体3800的底部越远。
区域3860表示图像的所有色值。虽然区域3860被示出为位于色彩空间3800内的一个小区域中,但是图像的色值可能占据色彩空间3800的多个不同区域。当用户使用白平衡UI控件选择图像上的位置时,应用程序检索对应于所选择的位置的像素的色值。在这个附图中,色彩3880表示对应于由白平衡UI控件所识别的位置的像素的色彩。应用程序然后定位色彩空间内距离所选择的色值最近邻的灰色(例如3890),并且确定将会把所选择的色值3880修改为灰色值3890的色彩调节。应用程序然后基于所确定的色彩调节而生成色彩空间转换。在一些实施例中,色彩空间转换是基于所确定的色彩调节而生成的M×M矩阵(例如3×3矩阵)。在一些实施例中,色彩空间转换将色彩空间3800中的每个色彩映射到扭曲的色彩空间中的另一色彩。图38中的色彩空间3805表示在色彩空间3800已通过色彩空间转换而进行了转换之后的色彩空间。如图所示,色彩空间3800中的色彩3880被映射到色彩空间3805中的色彩3885,色彩空间3800中的另一色彩3870被映射到色彩空间3805中的色彩3875。在一些实施例中,应用程序基于所选择的位置通过将这个色彩空间转换应用于图像中的每个像素来调节图像的白平衡。
图37示出了使用自定义白平衡UI控件来执行自定义白平衡操作的一个示例。除了自定义白平衡操作之外,一些实施例的应用程序还提供自定义皮肤平衡操作。自定义皮肤平衡操作类似于自定义白平衡操作,用户不是选择被认为在中性光下为白色的图像上的位置,而是选择显示人脸的图像上的位置。在这些实施例中,应用程序定义一组理想脸部色彩。例如,一些实施例的应用程序可定义在日光条件下的理想脸部色彩和在人造光条件下的理想脸部色彩。当用户选择图像上的位置时,应用程序对对应于所选择的位置的像素的色值进行采样,并且定义将该像素的色值调节为理想脸部色彩的调节。应用程序然后将相同调节应用于图像中的所有像素。
图39示出了在四个不同阶段3905、3910、3915和3920处执行自定义皮肤平衡操作的一个示例。
第一阶段3905类似于图37的第一阶段3705,不同的是用户已选择了要被编辑的另一图像。如图所示,用户已选择了要在图像显示区域345中显示的图像3955。图像3955是人3930站在前景中而另一个人3935站在背景中的一张相片。图像3955还示出了位于图像右侧上的山和海。类似于图37的第一阶段3705,用户已选择了可选择的UI项目3725来打开白平衡工具显示区域3730。
第二阶段3910示出了在用户已选择了用于启动自定义皮肤平衡工具的可选择的UI项目3740之后的GUI 300。对可选择的UI项目3740的选择可通过在具有显示可选择的UI项目3740的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置于该可选择的UI项目3740处并提供输入(例如点击光标控制设备、按下热键等)来执行。如图所示,用户刚刚已选择了可选择的UI项目3740,如通过突出显示可选择的UI项目3740所指出的。因此,自定义皮肤平衡UI控件3925被显示在图像上。
一旦自定义皮肤平衡UI控件3925出现在图像上,应用程序就通过调节图像3955的色值来执行皮肤平衡操作。具体地,应用程序对对应于或靠近通过自定义皮肤平衡UI控件3925所选择的位置的一组像素的色值中的一者或多者进行采样。应用程序然后构想出将这些色值转换为预定义的理想脸部色彩的算法或数学公式(其以一组参数作为输入),然后将相同算法或数学公式应用于图像3955中的所有像素。
不同的实施例不同地实施自定义皮肤平衡UI控件。在这个实例中,自定义皮肤平衡UI控件3925表现为其中心具有十字线的圆。用户可通过将自定义皮肤平衡UI控件3925放置(移动)到图像3955的区域中来选择图像3955上的一个位置,使得十字线位于图像3955中的人脸的顶部。
在一些实施例中,应用程序使用脸部检测算法来检测图像中的人脸并且将自定义皮肤平衡UI控件3925放置在其在图像中检测到的第一人脸之上。如在这个第二阶段3910中所示,自定义皮肤平衡UI控件3925出现在站在背景中的人的脸部的顶部。
类似于自定义白平衡UI控件,一些实施例的应用程序通过为位于自定义皮肤平衡UI控件3925外的图像的部分显示图像的已编辑版本(即在图像基于自定义皮肤平衡UI控件3925的当前位置而被皮肤平衡时)来提供皮肤平衡调节的预览。在这些实施例中,位于自定义皮肤平衡UI控件3925内的图像的部分保持未编辑以允许用户看到已编辑版本和未编辑版本之间的差别。如在这个第二阶段3910中所示,位于自定义皮肤平衡UI控件3925外的图像3955的部分已被调节,而位于自定义皮肤平衡UI控件3925内的图像3955的部分保持未受影响,如通过横跨位于自定义皮肤平衡UI控件3925外的仅图像3955的部分的斜线所指出的。在其他实施例中,仅位于自定义皮肤平衡UI控件3925内的图像的部分被编辑,而位于自定义皮肤平衡UI控件3925外的图像的部分保持未编辑。在另外的其他实施例中,整个图像被编辑。
除了预览功能之外,一些实施例的应用程序还放大位于自定义皮肤平衡UI控件3925内的图像的部分以帮助用户精确地选择显示人脸的图像中的位置。如图所示,位于自定义皮肤平衡UI控件3925内的图像355的部分已被放大,因为该区域示出了站在背景中的人的脸部的更多细节。
此外,当已对图像执行了色彩调节时,GUI 300还在可选择的UI项目342的顶部显示条。可选择的UI项目342的顶部的条将保持可见以指示用户已对图像执行了哪种类型的调节。如图所示,在用户已对图像3955执行了自定义皮肤平衡操作之后,在第二阶段320处条已出现在可选择的UI项目342的顶部。
如上所述,一些实施例的应用程序允许用户将自定义皮肤平衡UI控件3925移动到图像上的不同位置。借助于脸部检测算法,应用程序能够定位图像中的人脸。但是,当图像包含若干脸部时,用户可能不想基于由应用程序所选择的人的脸部来进行皮肤平衡,相反,用户可能想要基于图像中的另一人的脸部来进行皮肤平衡。第二阶段3910示出了应用程序自动地将自定义皮肤平衡UI控件3925放置在背景中人的脸部(应用程序利用脸部检测算法检测到的第一脸部)之上。但是,前景中的人而不是背景中的人是这个图片中的实际兴趣点。因此,可移动的自定义皮肤平衡UI控件3925允许用户指定感兴趣的脸部的正确位置。
第三阶段3915是瞬态阶段,其示出了用户已选择了自定义皮肤平衡UI控件3925,但还没有开始移动自定义皮肤平衡UI控件3925。第四阶段3920示出了在用户已将自定义皮肤平衡UI控件3925移动到图像上的不同位置之后的GUI 300。在一些实施例中,用户可通过拖动用户的手指或拖动光标到图像上的不同位置来移动自定义皮肤平衡UI控件3925。如图所示,用户已将自定义皮肤平衡UI控件3925移动到显示前景中人的脸部的图像3955的区域。由于将自定义皮肤平衡UI控件3925移动到这个新位置,因此应用程序重新调节图像的色值。在一些实施例中,应用程序对对应于通过自定义皮肤平衡UI控件3925所选择的位置的像素进行另一采样。应用程序然后构想出将色值转换为预定义的理想脸部色彩的算法或数学公式(其以一组参数作为输入),然后将相同算法或数学公式应用于图像3955中的所有像素。如图所示,位于自定义皮肤平衡UI控件3925外的图像的部分被示出为被重新调节,如通过横跨图像3955部分的不同组斜线所指出的。
在图39中所示的以上实例中,应用程序在色彩平衡控件3925出现在图像上之后立即对图像执行色彩平衡操作,并且每当用户移动色彩平衡UI控件3925时就重新调节图像。在一些其它实施例中,为了节省应用程序所运行于的设备的处理功率,应用程序仅在从用户接收到附加输入(例如选择“执行色彩平衡”可选择的UI项目、图像上的额外轻击等)时才对图像执行色彩平衡操作。这样,图像在每次用户移动色彩平衡UI控件3925时不被调节,而是仅在用户最终确定位置并且提供附加输入时才被调节。
图40示出了一些实施例的由图像编辑应用程序所执行的对图像的一个示例性皮肤平衡操作。在一些实施例中,在执行皮肤平衡操作之前,应用程序首先将图像的色值从在其中定义色值的色彩空间(例如RGB色彩空间)转换到YCC色彩空间(例如YIQ色彩空间)。从RGB色彩空间到YIQ色彩空间的转换可通过首先对RGB色彩空间中的色值应用大约1/4的γ、然后应用3x3矩阵以将色值转换到YIQ色彩空间来执行。如图所示,色彩空间4000表示图像的色值被转换到的YCC色彩空间。这个特定的色彩空间沿三个轴线被定义:轴线4020表示红色和绿色色值范围,轴线4030表示蓝色和黄色色值范围,而垂直轴线4010表示不同灰色深浅度的范围(即亮度值范围),其中底部位置4040表示黑色,而顶部位置4050表示白色。色彩越浅,该色彩距离该色彩空间柱体4000的底部越远。
区域4060表示图像的所有色值。虽然区域4060被示出为位于色彩空间4000中的一个小区域中,但是一些其他图像的色值可能占据色彩空间4000的多个不同区域。当用户使用皮肤平衡UI控件来选择图像上的位置时,应用程序检索对应于所选择的位置的像素的色值。在这个附图中,色彩4080表示对应于由白平衡UI控件所识别的位置的像素的色彩。
在一些实施例中,应用程序定义两个不同的理想肤色:一个是在日光条件下的理想肤色,另一个是在人造光条件下的理想肤色。一些实施例的应用程序对图像执行分析以检测图像是在日光下还是在人造光下被捕获的,并且为该操作选择对应的理想肤色。
应用程序在YCC色彩空间4000内识别理想肤色4090。应用程序然后基于理想皮肤色值4090和所检索到的色值4080之间的差值来确定色彩空间转换。在一些实施例中,色彩空间转换将色彩空间4000中的每个色彩映射到扭曲的色彩空间中的另一色彩。色彩空间转换以基本上将色彩空间从所有角度朝着白/黑轴线4010压缩的方式来调节色值。换句话讲,应用程序对具有较高饱和度的色值(即距离白/黑轴线4010较远的色值)执行较大调节,而对具有较低饱和度的色值(即距离白/黑轴线4010较近的色值)执行较小调节。在一些实施例中,应用程序不调节沿白/黑轴线4010定位的色值(即不同灰色深浅度)。
图40中的色彩空间4005代表在色彩空间4000已通过色彩空间转换而进行了转换之后的色彩空间。如图所示,色彩空间4000中的色彩4080被映射到色彩空间4005中的色彩4085,色彩空间4000中的色彩4070被映射到色彩空间4005中的色彩4075,摒弃色彩空间4000中的另一色彩4062被映射到色彩空间4005中的色彩4065。如图所示,与色彩4070相比,色彩4062在色彩空间4000中距离虚拟轴线4010更远。因此,与色彩4070相比,色彩4062被拉动更大距离(即更大的色彩调节)。在一些实施例中,应用程序基于所选择的位置通过将该色彩空间转换应用于图像中的每个像素来调节图像的皮肤平衡。
自定义皮肤平衡控件3925提供了许多益处。益处之一是能够允许用户指定要作为皮肤平衡操作的主题的图像中的肤色区域(尤其是在图像中有多于一个人的时候)使得所选择的皮肤的色彩将被调节为理想肤色。自定义皮肤平衡控件3925的另一益处与上面参考图3所述的肤色UI控件356和上面参考图20所述的图像上UI控件2025和2030相关。
如上面参考图6和20所述,肤色UI控件356和图像上UI控件2025和2030通过基于所定义的肤色色彩调节图像的色温来改善肤色色彩。在一些实施例中,应用程序定义要作为色彩空间内的色值范围的肤色色彩。如上所述,色值范围被广义地定义为涵盖人的平均肤色色彩。但是,由于捕获图像时所处于的不同条件(例如照明条件、色偏等),图像中的感兴趣的人的脸部的色彩可能没有落入由应用程序定义为肤色色彩的色值范围内。感兴趣的人是用户认为是图像中主题的人。在这种情况下,应用程序可基于一些其它对象(例如除了感兴趣的人之外的人的脸部)的色彩来调节图像的色值。自定义皮肤平衡UI控件3925允许用户在图像中指定感兴趣的人的脸部,从而在用户操控肤色UI控件356或图像上UI控件2025和2030时,(1)感兴趣的人的脸部的色彩将被平衡(即被调节以变为理想脸部色彩),并且(2)图像的色温将基于感兴趣的人的脸部的色彩而被调节。具体地,一旦用户已对图像执行了皮肤平衡操作,应用程序对于图像的所有后续肤色调节不是使用预定义的色值范围作为肤色色彩,而是使用理想肤色作为肤色色彩。
图41示出了通过使用肤色UI控件356来调节图像中仅一些而非全部脸部的色彩的一个示例。具体地,图41示出了在四个不同阶段4105、4110、4115和4120处的肤色色彩调节操作。
第一阶段4105与图39的第一阶段3905相同。如图所示,用户已选择了要在图像显示区域345中显示的图像3955。如上所述,图像3955是人3930站在前景中而另一个人3935站在背景中的一张相片。在这个实例中,前景中的人3930是感兴趣的人。由于图像3955被捕获时所处于的条件(例如照明条件、色偏等),这两个人的脸部的色彩看起来非常不同。具体地,人3935的面部色彩落入被应用程序定义为肤色色彩的色值范围内,而人3930的面部色彩落在被应用程序定义为肤色色彩的色值范围外。图像3955还示出了在图像右侧的山和海。
如图所示,用户已从工具栏340中选择了可选择的UI项目342以调节图像3955的色彩,如通过突出显示可选择的UI项目342所指出的。第二阶段4110示出了在用户已选择了肤色UI控件356之后的GUI 300,如通过突出显示肤色UI控件356所指出的。可通过在具有显示肤色UI控件356的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置在肤色UI控件356处并提供输入(例如点击光标控制设备、按下热键等)来执行对肤色UI控件356的选择。
第三阶段4115示出了在用户通过将肤色UI控件356的滑块向右移动(如通过箭头4125所指出的)而已开始改善图像的肤色色彩之后的GUI300。在一些实施例中,用户可通过将用户的手指拖动(或将光标拖动)到不同位置来移动肤色UI控件356的滑块。基于对肤色UI控件356的调节,应用程序基于预定义的肤色色彩来调节图像3955的色温,如通过横跨图像3955的斜线所指出的。
第四阶段4120示出了在用户已通过将肤色UI控件356的滑块进一步向右移动(如通过箭头4130所指出的)而进一步调节图像的肤色色彩之后的GUI 300。如图所示,这个阶段4120中的图像3955被示出为比第三阶段4115中的图像被进一步调节,如通过横跨图像3955的斜线的更高密度所指出的。
如在图41中示出的实例中所示,通过仅使用肤色UI控件356或图像上UI控件2025和2030,图像的色彩可能不是基于感兴趣的人的肤色而被调节,因为感兴趣的人的脸部的色彩可能没有落入由应用程序预定义的色值范围内。图42示出了与图41中执行的操作相同的操作,不同的是用户在调节图像的肤色色彩之前已使用皮肤平衡UI工具3925选择了前景中的人3930的脸部。具体地,图42示出了在四个不同阶段4205、4210、4215和4220处的肤色色彩调节操作。
第一阶段4205在图41的第四阶段4120之后。如图所示,用户通过使用皮肤平衡UI控件3925刚刚已完成了皮肤平衡操作。具体地,用户使用皮肤平衡UI控件3925以选择前景中的人3930的脸部以用于皮肤平衡操作。因此,人3930的脸部的色彩已被调节为图像所定义的理想肤色。
第二阶段4210示出了在用户已选择了肤色UI控件356之后的GUI300,如通过突出显示肤色UI控件356所指出的。可通过在具有显示肤色UI控件356的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)、或者通过将光标放置在肤色UI控件356处并提供输入(例如点击光标控制设备、按下热键等)来执行对肤色UI控件356的选择。
第三阶段4215示出了在用户通过将肤色UI控件356的滑块向右移动(如通过箭头4225所指出的)而已开始调节图像的肤色色彩之后的GUI300。在一些实施例中,用户可通过将用户的手指拖动(或将光标拖动)到不同位置来移动肤色UI控件356的滑块。由于用户已对图像执行了皮肤平衡操作,所以应用程序使用被定义为理想肤色色彩的值范围,而不是使用被定义为常规肤色色彩的色值范围,以用于调节图像3955的色温。由于通过肤色UI控件356的用户的输入,图像的色值已基于前景中人的脸部的色彩被调节,如通过横跨图像3955的45度斜线所指出的。
第四阶段4220示出了在用户已通过将肤色UI控件356的滑块进一步向右移动(如通过箭头4230所指出的)而进一步改善图像的肤色色彩之后的GUI 300。如图所示,在这个阶段4220中的图像3955被示出为比第三阶段4215中的图像被进一步调节,如通过横跨图像3955的45度斜线的更高密度所指出的。
上述附图中所示出的图像编辑应用程序的GUI是在假设图像编辑应用程序所运行于的设备具有足够大以显示GUI的屏幕的情况下被示出的。但是,图像编辑应用程序所运行于的设备中的一些可能具有受限的屏幕尺寸从而以在更大设备的更大屏幕中显示项目的方式显示UI项目。此外,较大设备的较大屏幕在设备以不同取向(例如纵向)握持时可能被认为是受限的。在一些实施例中,图像编辑应用程序在不同情况下显示不同组的不同UI项目以适应受限的屏幕空间。
图43概念性地示出了在三个不同阶段4301、4302和4303处的一些实施例的通过GUI 1200调用一组色彩平衡工具的一个示例。第一阶段4301与图12的第六阶段1206相同。如图所示,GUI 1200中的工具导航面板1225包括一组色彩调节工具1260。这组色彩调节工具1260包括用于调用一组色彩平衡工具的UI项目1275。
第二阶段4302示出了用户已选择了UI项目1275。在一些实施例中,用户可通过在具有显示UI项目1275的触感屏或近触感屏的设备上的位置处执行手势(例如放置、指点、或轻击手指)来选择UI项目1275。作为该选择的结果,表示这组色彩平衡工具的一组UI项目4315出现在GUI 1200上,如在第三阶段4303中所示。在一些实施例中,这组UI项目置于整个GUI 1200之上,如在这个第三阶段4303中所示。在其他实施例中,这组UI项目4315仅占据屏幕的一部分,从而用户仍然可以在GUI上查看图像。虽然在这里未被示出,但是用户可通过选择这些UI项目4315之一而调用这些色彩平衡工具中任何一个(包括自定义白平衡工具和自定义脸部平衡工具)。
图44概念性地示出了用于对在图41和42中所示的图像执行色彩平衡操作的过程4400。在一些实施例中,该过程由图像编辑应用程序来执行。该过程通过接收(在4405处)对色彩平衡工具的选择而开始。在一些实施例中,色彩平衡工具可以是自定义白平衡工具或也可以是自定义皮肤平衡工具。其他实施例可提供附加的色彩平衡工具。
然后,该过程在图像上显示(在4410处)用于选择图像上的位置的色彩平衡UI控件。在一些实施例中,该过程在图像上的默认区域(例如图像中心)中显示色彩平衡UI控件。在一些其他实施例中,该过程执行检测算法(例如脸部检测算法),并且将色彩平衡UI控件放置在对应于特定特征(例如人脸)的图像上的区域中。
不同的实施例不同地实施色彩平衡UI控件。在一些实施例中,色彩平衡UI控件包括封闭边界(例如矩形、椭圆形等),在该封闭边界内具有指示器以精确地指示图像上的位置。在一些实施例中,色彩平衡UI控件可看起来像图39中的色彩平衡UI控件3925。在这些实施例中的一些实施例中,色彩平衡UI控件还放大(即,扩大)位于该封闭边界内的图像的部分。放大版本为选择图像上的位置提供了更好的精确性。
该过程然后基于色彩平衡UI控件所指示的位置来调节(在4415处)图像的色彩平衡。在一些实施例中,调节涉及定义用于将对应于所选择的位置的像素的色值改变为特定一组预定义的色值(例如用于白色的色值、用于灰色的色值、用于预定义的理想肤色色彩的色值)的算法或数学公式。该过程然后将相同算法或数学公式应用于图像中的所有像素。
在一些实施例中,该过程通过显示位于色彩平衡UI控件的封闭边界外的图像的部分的经调节的版本来提供经调节的图像的预览。在这些实施例中,位于色彩平衡UI控件封闭边界内的图像的部分保持不变以便展示图像的已编辑版本和未编辑版本之间的差别。
然后,该过程确定(在4420处)是否已接收到色彩平衡UI控件的任何移动。如果色彩平衡UI控件的移动被接收到,则该过程基于色彩平衡UI控件的新位置来重新调节(在4425处)图像的色彩平衡。该过程将循环通过操作4420-4425,直到没有更多移动被接收到。如果没有色彩平衡UI控件上的移动被接收到,则该过程结束。
图45概念性地示出了用于对图像执行色彩平衡操作的过程4500。在一些实施例中,过程4500在用户已通过色彩平衡UI控件选择了图像上的位置之后在过程4400的操作4415和4425期间由图像编辑应用程序执行。该过程通过检索(在4505处)对应于图像上的所选择的位置的像素而开始。该过程然后识别(在4510处)对于所检索像素的色彩空间内的期望色彩。在一些实施例中,在用户已在过程4400的操作4405处选择了自定义白平衡控件工具时,该过程识别色彩空间内与所检索的像素的色彩最接近的灰色。识别这个灰色的操作在上面参考图38进行了描述。在用户已在过程4400的操作4405处选择了自定义皮肤平衡工具时,该过程识别色彩空间内与所检索像素的色彩最接近的预定义的理想肤色。在一些实施例中,应用程序已预定义了用于不同条件的几组理想肤色(例如一组用于日光的理想肤色和一组用于人造光的理想肤色)。在这些实施例中,该过程执行分析来确定图像被捕获时所处于的条件并且识别对应的理想肤色。
然后,该过程基于所检索的像素的色彩和所识别的色彩来确定(在4515处)色彩空间转换。在一些实施例中,色彩调节操作涉及特定色彩转换算法或数学公式。在确定了色彩调节操作之后,该过程将色彩空间转换应用(在4520处)于图像的所有像素。然后该过程结束。
图46示出了执行图像的色彩平衡操作的一些实施例的一种图像编辑应用程序4600。在一些实施例中,图像编辑应用程序4600执行过程4400和4500。如在图46中所示,图像编辑应用程序4600包括图像处理器4610、图像预览模块4615、色彩空间转换发生器4625、内容分析模块4640和色彩调节模块4630。
在UI模块4605接收到对色彩平衡工具(例如自定义白平衡工具、自定义皮肤平衡工具等)的用户的选择时,UI模块4605将该选择的信息传递到图像处理器4610。色彩平衡UI控件模块4610然后在图像上显示色彩平衡UI控件。在一些实施例中,图像处理器4610在每个图像的默认位置处(例如在图像中心处)显示色彩平衡UI控件。在一些其它实施例中,色彩平衡UI控件模块4610将图像发送到内容分析模块4640来对图像执行特征检测操作(例如脸部检测操作),并且在检测到特征的位置处(例如在图像上的人脸处)显示色彩平衡UI控件。图像处理器4610然后检索对应于色彩平衡UI控件的位置的像素的色值,并且将关于色值的信息传递到色彩空间转换发生器4625。
在一些实施例中,色彩空间转换发生器4625执行图45的过程4500。具体地,色彩空间转换发生器4625检索对应于色彩平衡UI控件的位置的像素的色值。色彩空间转换发生器然后识别与由用户所选择的色彩平衡工具相关联的所建立的基线色彩(例如灰色、理想肤色等)。色彩空间转换发生器4625确定会将图像中的像素的色值改变为所识别的所建立的基线色彩的色彩调节。色彩空间转换发生器4625然后基于所确定的色彩调节而生成色彩空间转换。在一些实施例中,色彩空间转换是基于所确定的色彩调节而生成的M乘M矩阵(例如3乘3矩阵)。在一些实施例中,色彩空间转换接受在色彩空间内定义的每个色彩,并且使用所确定的色值调节而输出不同的色彩。
色彩空间转换发生器4625然后将所生成的色彩空间转换传递到图像处理器4610。图像处理器4610然后将图像和色彩空间转换发送到色彩调节引擎4630。色彩调节引擎将色彩空间转换应用于图像中的所有像素并且将经调节的图像发送回图像处理器4610。图像处理器将经调节的图像存储在媒体存储装置4635中。
在一些实施例中,图像编辑应用程序将已编辑的图像的实时预览提供给用户。在这些实施例中,图像处理器4610将已编辑的图像发送到图像预览模块4615。不同的实施例使用不同的技术来向用户提供预览。在一些实施例中,图像预览模块4615显示图像的位于色彩平衡UI控件外的部分的已编辑版本,同时显示图像的位于色彩平衡UI控件内的部分的未编辑版本。这样,用户可很容易实时地看到已编辑版本和未编辑版本之间的差别。在其他实施例中,仅图像的位于色彩平衡UI控件内的部分被进行了编辑并且图像的位于色彩平衡UI控件外的部分保持未编辑。在另外的其他实施例中,整个图像被编辑。
在用户改变色彩平衡UI控件的位置时,UI模块4605将关于色彩平衡UI控件的新位置的信息传递到图像处理器4610。图像处理器4610然后检索对应于新位置的像素的色值,并且将色值传递到色彩空间转换发生器4625。色彩空间转换发生器4625基于所检索的色值来生成新的色彩空间转换,并且将所生成的色彩空间转换发送回图像处理器4610。图像处理器4610然后将图像和色彩空间转换发送到色彩调节引擎4630以重新调节图像。色彩调节引擎4630将色彩空间转换应用于图像并且将经调节的图像发送到图像处理器4610。
IV.图像查看、编辑和组织应用程序
上述附图示出了一些实施例的图像查看、编辑和组织应用程序的GUI的多个实例。图47示出了用于查看、编辑和组织图像的一些实施例的GUI4700的详细视图。GUI 4700将部分地参考图48来进行描述,图48概念性地示出了由一些实施例的应用程序所存储的图像的数据结构4800。
数据结构4800包括图像ID 4805、图像数据4810、编辑指令4815、图像的缓存版本4840和图像的任何附加数据4850。图像ID 4805是图像的唯一标识符,其在一些实施例中被集合数据结构用来指存储在集合中的图像。图像数据4810是用于显示图像的实际全尺寸像素数据(例如图像中每个像素的一系列色彩空间通道值或其编码版本)。在一些实施例中,这个数据可被存储在图像查看、编辑和组织应用程序的数据库中,或者可与同一设备上另一应用程序的数据一起被存储。在一些实施例中,这个附加应用程序是在设备上运行的另一图像组织应用程序,图像查看、编辑和组织运行于该设备的顶部。
因此,数据结构可存储指向与应用程序相关联的本地文件的指针或者可以存储可用于查询另一应用程序的数据库的ID。在一些实施例中,一旦应用程序使用日志中的图像或者对图像进行编辑,应用程序就自动地生成包含图像数据的图像文件的本地副本。
编辑指令4815包括关于用户已对图像应用的任何编辑的信息。这样,应用程序以非破坏性格式存储图像,使得应用程序可以很容易在任何时候从图像的已编辑版本恢复到原始版本。例如,用户可将饱和度效果应用于图像,离开应用程序、然后在另一时间重新打开应用程序并且去除该效果。存储在这些指令中的编辑可以是剪裁和旋转、全图像曝光和色彩调节、局部调节和特殊效果、以及影响图像像素的其他编辑。一些实施例按特定顺序存储这些编辑指令,使得用户可以查看仅具有某些组编辑的图像的不同版本。
在一些实施例中,编辑指令4815被实现为编辑操作的列表4860。列表4860包括编辑操作,诸如编辑4861、4862、4863和4865。列表4860中的每个编辑操作指定用于执行该编辑操作的必要参数。例如,列表4860中的编辑操作4865指定应用具有色彩选择参数θ的饱和度效果的对图像的编辑。
在一些实施例中,列表4860记录通过用户为了生成最终已编辑的图像而进行的编辑操作的序列。在一些实施例中,列表4860按图像编辑应用程序为了生成用于显示的输出图像而对图像应用编辑的顺序来存储编辑指令,因为一些实施例限定应用程序所提供的不同可能的编辑的特定顺序。例如,一些实施例将饱和度效果限定为要在其他编辑操作(诸如剪裁和旋转、全图像曝光和色彩调节)之后应用的编辑操作之一。这些实施例中一些实施例中的列表4860会将用于饱和度效果的编辑指令存储在会在所述其他编辑操作(例如编辑4861-1363)中的一些之后应用的位置(即编辑4865)中。
缓存图像版本4840存储常被访问和显示的图像的版本,使得应用程序不需要由全尺寸图像数据4810反复地生成这些图像。例如,应用程序将经常存储图像的缩略图以及显示分辨率版本(即适合于图像显示区域的版本)。每当编辑被应用时一些实施例的应用程序就生成图像的新缩略图来替代先前的缩略图。一些实施例存储包括原始图像和该图像的一个或多个已编辑版本的多个显示分辨率版本。
最后,图像数据结构4800包括应用程序可能与图像(例如脸部的位置和尺寸等)一起存储的附加数据4850。在一些实施例中,附加数据可包括可交换的图像文件格式(Exif)数据、说明数据、共享图像数据、图像上的标签或任何其他类型的数据。Exif数据包括捕获图像的照相机所存储的各种信息,诸如照相机设置、GPS数据、时间戳等。说明是图像的用户输入的描述。标签是应用程序使得用户能够与图像相关联的信息,诸如将图像标记为收藏、已标记、隐藏的、等等。
本领域的普通技术人员将认识到,图像数据结构4800仅仅是应用程序可用来存储图像的所需信息的一种可能的数据结构。例如,不同实施例可以存储附加的或更少的信息、以不同顺序存储信息、等等。
返回到图47,GUI 4700包括缩略图显示区域4705、图像显示区域4710、第一工具栏4715、第二工具栏4720和第三工具栏4725。缩略图显示区域4705显示所选择的集合中的图像的缩略图。缩略图是全尺寸图像的小表示形式,并且在一些实施例中仅表示图像的一部分。例如,缩略图显示区域4705中的缩略图都是正方形的,而不管全尺寸图像具有何种纵横比。为了确定用于缩略图的矩形图像的部分,应用程序识别图像的较小维度,并且使用图像在较长方向上的中心部分。例如,对于1600x1200像素图像,应用程序会使用4700x1200正方形。为了进一步细化用于缩略图的所选择的部分,一些实施例识别图像中所有脸部的中心(使用脸部检测算法),然后使用这个位置来在剪裁方向上使缩略图部分居中。因此,如果理论上1600x1200图像中的脸部都位于图像的左侧上,则应用程序将使用最左边4700列的像素,而不是在任一侧剪裁200列。
在确定了用于缩略图的图像部分之后,图像查看应用程序生成图像的低分辨率版本(例如使用像素混合和其他技术)。一些实施例的应用程序将图像的缩略图存储为图像的缓存版本4840。因此,当用户选择集合时,应用程序(通过集合数据结构)识别该集合中的所有图像,并且访问每个图像数据结构的缓存缩略图以用于在缩略图显示区域中显示。
用户可在缩略图显示区域中选择一个或多个图像(例如通过上述的多种触摸交互、或者通过其他用户输入交互)。所选择的缩略图使用选择的突出显示或其他指示器而被显示。在缩略图显示区域4705中,缩略图4730被选择。此外,如图所示,一些实施例的缩略图显示区域4705指示已被标记的集合中的多个图像(例如具有被设置为是的用于标记的标签)。在一些实施例中,这个文本是可选择的以便仅显示被标记的图像的缩略图。
应用程序在图像显示区域4710中以比对应的缩略图更高的分辨率显示所选择的图像。图像通常不是以图像的全尺寸被显示,因为图像常具有比显示设备更高的分辨率。这样,一些实施例的应用程序存储图像的被设计用于适应图像显示区域的缓存版本4840。图像显示区域4710中的图像以全尺寸图像的纵横比而被显示。在一个图像被选择时,应用程序在不剪裁图像的任何部分的情况下将图像尽可能大地显示在图像显示区域内。在多个图像被选择时,应用程序以这种方式将这些图像显示为通过为每个图像大致使用相同数量的像素来保持这些图像的视觉权重,即使在这些图像具有不同纵横比时。
第一工具栏4715显示标题信息(例如在GUI中所示的集合的名称、用户已添加到当前所选择的图像的说明、等等)。此外,工具栏4715包括第一组GUI项目4735-1238和第二组GUI项目4740-1243。
第一组GUI项目包括返回按钮4735、栅格按钮4736、帮助按钮4737和撤销按钮4738。返回按钮4735使得用户能够导航回到集合组织GUI,用户可从集合组织GUI在不同图像的集合间进行选择(例如相册、事件、日志等)。对栅格按钮4736的选择使得应用程序将缩略图显示区域移动到GUI上或从GUI移出(例如经由滑动动画)。在一些实施例中,用户还可以经由轻扫手势将缩略图显示区域滑动到GUI上或滑出GUI。帮助按钮4737激活上下文相关的帮助特征,该对环境敏感的帮助特征识别对于用户活动的当前一组工具并且为那些工具提供帮助指示器,这些帮助指示器简略地向用户描述这些工具。在一些实施例中,帮助指示器是可选择的以访问关于工具的附加信息。对撤销按钮4738的选择使得应用程序去除对图像的最新近的编辑,而不论该编辑是剪裁、色彩调节等。为了执行这个撤销,一些实施例从与图像一起存储的编辑指令集4815中去除最新近的指令。
第二组GUI项目包括共享按钮4740、信息按钮4741、显示原件按钮4742和编辑按钮4743。共享按钮4740使得用户能够以多种不同方式共享图像。在一些实施例中,用户可将所选择的图像发送到同一网络(例如WiFi或蓝牙网络)上的另一兼容设备、将图像上载到图像托管或社交媒体网站、以及从一组所选择的图像生成日志(即附加内容可被添加到的被布置图像的表示)等等。
信息按钮4741激活显示关于一个或多个所选择的图像的附加信息的显示区域。在所激活的显示区域中显示的信息可包括为图像存储的Exif数据中的一些或全部(例如照相机设置、时间戳等)。当多个图像被选择时,一些实施例仅显示对所有所选择的图像为公用的Exif数据。一些实施例包括信息显示区域内的附加选项卡,以用于(i)显示根据GPS数据(如果该信息可供使用的话)示出图像是在哪里被捕获的地图、以及(ii)显示任何相片共享网站上的图像的评论流。为了从网站下载该信息,应用程序使用为具有共享图像数据的图像所存储的对象ID,并且将该信息发送到网站。评论流以及在其他情形下的附加信息从网站被接收并且显示给用户。
显示原件按钮4742使得用户能够在图像的原始版本和图像的当前已编辑版本之间来回切换。当用户选择该按钮时,应用程序显示图像的原始版本,而没有任何编辑指令4815被应用。在一些实施例中,适当尺寸的图像被存储为图像的缓存版本4840之一,从而使其可快速地访问。在用户再次选择该按钮4742时,应用程序显示图像的已编辑版本,其中编辑指令4815被应用。
编辑按钮4743允许用户进入或离开编辑模式。在用户已选择了工具栏4720中的这组编辑工具之一时,编辑按钮4743将用户返回到查看和组织模式,如图47中所示。在用户在查看模式中选择编辑按钮4743时,应用程序按工具栏4720中所示顺序返回到最后使用的那组编辑工具。即,工具栏4720中的项目以特定顺序被布置,并且编辑按钮4743激活已对所选择的图像进行了编辑的那些项目中的最右边的项目。
如上所述,工具栏4720包括五个项目4745-1249,按特定顺序从左向右地被布置。剪裁项目4745激活允许用户对齐弯曲图像以及去除图像的不期望部分的剪裁和旋转工具。曝光项目4746激活允许用户修改图像的黑点、暗区、对比度、明度、亮区和白点的一组曝光工具。在一些实施例中,这组曝光工具是以不同组合一起工作以修改图像的色调属性的一组滑动条。色彩项目4747激活使得用户能够修改饱和度和鲜明度以及特定于色彩的饱和度(例如蓝色像素或绿色像素)和白平衡的一组色彩工具。在一些实施例中,这些工具中的一些被呈现为一组滑动条。画笔项目4748激活使得用户能够使对图像的修改局部化的一组增强工具。利用这些画笔,用户可通过在图像之上执行擦蹭动作来去除红眼和瑕疵并且对图像的局部部分应用或去除饱和度和其他特征。最后,效果项目4749激活用户可应用于图像的一组特殊效果。这些效果包括双色调效果、模糊效果、梯度、倾斜移位、非真实感减饱和效果、灰度效果、各种滤波器等。在一些实施例中,应用程序将这些效果呈现为可从工具栏4725散开的一组项目。
如上所述,UI项目4745-1249以特定顺序被布置。这个顺序遵循用户最常应用这五种不同类型的编辑的顺序。因此,在一些实施例中,编辑指令4815以这个相同的顺序被存储。在用户选择项目4745-1249之一时,一些实施例仅将来自所选择的工具的左边的工具的编辑应用于所显示的图像(尽管其它编辑仍然存储在指令集4815内)。
工具栏4725包括一组GUI项目4750-1254以及设置项目4755。自动增强项目4750自动地对图像执行增强编辑(例如去除明显红眼、平衡色彩等)。旋转按钮4751旋转任何所选择的图像。在一些实施例中,每当旋转按钮被按下时,图像在特定方向上旋转90度。在一些实施例中,自动增强包括被放置在指令集4815中的预定的编辑指令集。一些实施例执行图像分析,然后基于该分析而限定指令集。例如,自动增强工具将试图检测图像中的红眼,但是如果没有检测到红眼,则不会生成任何指令以对其进行校正。类似地,自动色彩平衡将基于图像分析。由旋转按钮所生成的旋转也被存储为编辑指令。
标记按钮4752将任何所选择的图像标示为已标记。在一些实施例中,集合的已标记的图像可被显示,而不显示任何未标记的图像。收藏按钮4753允许用户将任何所选择的图像标记为收藏。在一些实施例中,这将图像标示为收藏,并且还将图像添加到收藏图像的集合。隐藏按钮4754使用户能够将图像标示为隐藏。在一些实施例中,隐藏的图像将不会被显示在缩略图显示区域中和/或将不在用户循环通过图像显示区域中的集合的图像时被显示。如上面参考图48所述,这些特征中的许多被存储为图像数据结构中的标签。
最后,设置按钮4755激活上下文相关的菜单,该环境敏感的菜单根据当前活动的工具组来提供不同的菜单选项。例如,在查看模式中一些实施例的菜单提供用于创建新相册、为相册设置关键相片、将设置从一个相片复制到另一相片的选项、以及其它选项。在不同组编辑工具为激活的时,菜单提供与具体活动工具组相关的选项。
本领域的普通技术人员将认识到,图像查看和编辑GUI 4700仅仅是用于图像查看、编辑和组织应用程序的许多可能的图形用户界面中的一个示例。例如,多个项目可在不同区域中或以不同顺序进行定位,并且一些实施例可包括具有附加的或不同功能性的项目。一些实施例的缩略图显示区域可显示与对应的全尺寸图像的纵横比匹配的缩略图、等等。
V.电子系统
上文所述的特征和应用程序中的许多可被实现为被指定为在计算机可读存储介质(还称为计算机可读介质)上记录的指令集的软件过程。在这些指令由一个或多个计算或处理单元(例如,一个或多个处理器、处理器的内核或者其他处理单元)执行时,这些指令使得一个或多个处理单元能够执行指令中所指示的动作。计算机可读介质的实例包括但不限于CD-ROM、闪存驱动器、随机存取存储器(RAM)芯片、硬盘驱动器、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)等。计算机可读介质不包括无线地传送或通过有线连接的载波和电信号。
在本说明书中,术语“软件”旨在包括驻留在只读存储器中的固件或者存储在磁性存储装置中的应用程序,所述应用程序可被读取到存储器中以用于由处理器进行处理。另外,在一些实施例中,可在保留不同的软件发明的同时,将多个软件发明实现为更大程序的子部分。在一些实施例中,还可将多个软件发明实现为单独程序。最后,共同实施这里所述的软件发明的单独程序的任何组合均在本发明的范围之内。在一些实施例中,当被安装以在一个或多个电子系统上运行时,软件程序定义执行和施行软件程序的操作的一个或多个特定机器具体实施。
A.移动设备
一些实施例的图像编辑和查看应用程序运行于移动设备上。图49是此类移动计算设备的架构4900的实例。移动计算设备的实例包括智能电话、平板电脑、膝上型电脑等。如图所示,移动计算设备4900包括一个或多个处理单元4905、存储器接口4910和外围设备接口4915。
外围设备接口4915耦接到多个传感器和子系统,所述子系统包括照相机子系统4920、一个或多个无线通信子系统4925、音频子系统4930、I/O子系统4935等。外围设备接口4915能够实现处理单元4905和多个外围设备之间的通信。例如,取向传感器4945(例如陀螺仪)和加速度传感器4950(例如加速度计)耦接到外围设备接口4915以帮助实现取向和加速度功能。
照相机子系统4920耦接到一个或多个光学传感器4940(例如电荷耦合器件(CCD)光学传感器、互补金属氧化物半导体(CMOS)光学传感器等)。与光学传感器4940耦接的照相机子系统4920帮助实现照相机功能,诸如图像和/或视频数据捕获。无线通信子系统4925用于帮助实现通信功能。在一些实施例中,无线通信子系统4925包括射频接收器和发射器、以及光学接收器和发射器(在图49中未示出)。一些实施例的这些接收器和发射器被实现为在一个或多个通信网络之上运行,所述通信网络诸如GSM网络、Wi-Fi网络、蓝牙网络等。音频子系统4930耦接到扬声器以输出音频(例如,以输出与不同图像操作相关联的不同声音效果)。因此,音频子系统4930耦接到麦克风以帮助实现支持语音的功能,诸如语音识别、数字记录等。
I/O子系统4935涉及通过外围设备接口4915在输入/输出外围设备(诸如显示器、触摸屏等)与处理单元4905的数据总线之间的传送。I/O子系统4935包括触摸屏控制器4955和其他输入控制器4960以帮助实现输入/输出外围设备与处理单元4905的数据总线之间的传送。如图所示,触摸屏控制器4955耦接到触摸屏4965。触摸屏控制器4955使用任何多点触摸敏感技术来检测触摸屏4965上的接触和移动。所他输入控制器4960耦接到其他输入/输出设备,诸如一个或多个按钮。一些实施例包括近触感屏和相应的控制器,该对应的控制器可检测近触摸交互来作为触摸交互的替代或补充。
存储器接口4910耦接到存储器4970。在一些实施例中,存储器4970包括易失性存储器(例如高速随机存取存储器)、非易失性存储器(例如闪存存储器)、易失性存储器和非易失性存储器的组合和/或其他任何类型的存储器。如图49中所示,存储器4970存储操作系统(OS)4972。OS4972包括用于处理基本系统服务和用于执行依赖于硬件的任务的指令。
存储器4970还包括帮助实现与一个或多个附加设备进行通信的通信指令4974;帮助实现图形用户界面处理的图形用户界面指令4976;帮助实现与图像相关的处理和功能的图像处理指令4978;帮助实现与输入相关(例如触摸输入)的过程和功能的输入处理指令4980;帮助实现与音频相关的过程和功能的音频处理指令4982;和帮助实现与照相机相关的过程和功能的照相机指令4984。上述指令仅仅是示例性的并且在一些实施例中存储器4970包括附加的和/或其他指令。例如,智能电话的存储器可以包括电话指令以帮助实现与电话相关的过程和功能。上述被识别的指令不必被实现为单独的软件程序或模块。移动计算设备的各种功能可以硬件和/或软件来实现,包括以一个或多个信号处理和/或专用集成电路来实现。
虽然图49中所示的部件被示出为单独部件,但是本领域的普通技术人员将认识到,两个或更多个部件可以整合到一个或多个集成电路中。此外,两个或更多个部件可通过一个或多个通信总线或信号线而被耦接在一起。此外,虽然许多这些功能已被描述为由一个部件来执行,但是本领域普通技术人员将认识到,相对于图49所描述的功能可以被划分到两个或更多个集成电路中。
B.计算机系统
图50概念性地示出了电子系统5000的另一个示例,利用该电子系统来实施本发明的一些实施例。电子系统5000可为计算机(例如,台式计算机、个人计算机、平板电脑等)、电话、PDA、或任何其他种类的电子或计算设备。此类电子系统包括各种类型的计算机可读介质以及用于各种其他类型的计算机可读介质的接口。电子系统5000包括总线5005、一个或多个处理单元5010、图形处理单元(GPU)5015、系统存储器5020、网络5025、只读存储器5030、永久性存储设备5035、输入设备5040、及输出设备5045。
总线5005总体地表示可通信地连接电子系统5000的许多内部设备的所有系统、外围设备及芯片组总线。例如,总线5005可通信地将这一个或多个处理单元5010与只读存储器5030、GPU 5015、系统存储器5020、及永久性存储设备5035连接。
这一个或多个处理单元5010从这些各种存储器单元中检索将要执行的指令以及将要处理的数据以便执行本发明的过程。在不同实施例中,一个或多个处理单元可为单个处理器或者多核处理器。一些指令被传送至GPU5015并且由GPU 5015来执行。GPU 5015可卸载各种计算指令或者补充由这一个或多个处理单元5010所提供的图像处理。在一些实施例中,可使用CoreImage的内核着色语言来提供此类功能。
只读存储器(ROM)5030存储这一个或多个处理单元5010及电子系统的其他模块所需的静态数据和指令。另一方面,永久性存储设备5035为读写存储器设备。该设备为即使在电子系统5000关闭时也存储指令和数据的非易失性存储器单元。本发明的一些实施例将海量存储设备(诸如磁盘或光盘及其对应的磁盘驱动器)用作永久性存储设备5035。
其他实施例将可移动的存储设备(诸如软盘、闪存存储器设备等,及其对应的驱动器)用作永久性存储设备。与永久性存储设备5035一样,系统存储器5020为读写存储器设备。然而,与存储设备5035不同,系统存储器5020为易失性读写存储器,诸如随机存取存储器。系统存储器5020存储所述处理器在运行时所需的指令和数据中的一些。在一些实施例中,本发明的过程存储在系统存储器5020、永久性存储设备5035和/或只读存储器5030中。例如,各种存储器单元包括用于根据一些实施例处理多媒体片段的指令。这一个或多个处理单元5010从这些各种存储器单元中检索将要执行的指令以及将要处理的数据以便执行一些实施例的过程。
总线5005还连接至输入设备5040和输出设备5045。输入设备5040使得用户能够将信息发送至电子系统并且选择至电子系统的命令。输入设备5040包括字母数字键盘和指示设备(还称作“光标控制设备”)、照相机(例如,网络照相机)、麦克风或用于接收语音命令的类似的设备等。输出设备5045显示由电子系统生成的图像或者其他输出数据。输出设备5045包括打印机以及显示设备诸如阴极射线管(CRT)或液晶显示器(LCD),以及扬声器或类似的音频输出设备。一些实施例包括充当输入设备和输出设备两者的设备,诸如触摸屏。
最后,如图50中所示,总线5005还通过网络适配器(未示出)将电子系统5000耦接至网络5025。这样,计算机可以是计算机的网络(诸如局域网(“LAN”)、广域网(“WAN”)或内联网)的一部分,或者可以是网络的网络(诸如互联网)的一部分。电子系统5000的任何或所有部件均可与本发明一起使用。
一些实施例包括将计算机程序指令存储在机器可读或计算机可读介质(或者称为计算机可读存储介质、机器可读介质或机器可读存储介质)中的电子部件,诸如微处理器、存储装置以及存储器。此类计算机可读介质的一些实例包括RAM、ROM、只读光盘(CD-ROM)、可刻录光盘(CD-R)、可重写光盘(CD-RW)、只读数字通用光盘(例如,DVD-ROM、双层DVD-ROM)、各种可刻录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、闪存存储器(例如,SD卡,mini-SD卡、micro-SD卡等)、磁性和/或固态硬盘驱动器、只读和可刻录盘、超密度光盘、任何其他光学或磁性介质以及软盘。计算机可读介质可存储计算机程序,该计算机程序可由至少一个处理单元来执行并且包括用于执行各种操作的指令集。计算机程序或者计算机代码的实例包括机器代码,诸如由编译器所产生的机器代码,以及包括可由计算机、电子部件或微处理器使用解译器来执行的更高级别代码的文件。
虽然上述讨论主要涉及执行软件的微处理器或多核处理器,但一些实施例由一个或多个集成电路来执行,该一个或多个集成电路诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)。在一些实施例中,此类集成电路执行存储在电路自身上的指令。此外,一些实施例执行存储在可编程逻辑设备(PLD)、ROM或RAM设备中的软件。
如在本专利申请的本说明书以及任何权利要求中所使用的,术语“计算机”、“服务器”、“处理器”及“存储器”均是指电子或其他技术设备。这些术语不包括人或者人的群组。出于本说明书的目的,术语显示或正在显示意指在电子设备上显示。如在本专利申请的本说明书以及任何权利要求中所使用的,术语“计算机可读介质”以及“机器可读介质”完全限于以可由计算机读取的形式存储信息的可触摸的物理对象。这些术语不包括任何无线信号、有线下载信号以及任何其他短暂信号。
虽然已参考许多特定细节描述了本发明,但本领域的普通技术人员将认识到,可在不脱离本发明的实质的情况下以其他特定形式来体现本发明。例如,这些附图中的许多示出了各种触摸手势(例如轻击、双击、轻扫手势、按压并保持手势等)。然而,所示操作中的许多可经由不同触摸手势(例如轻扫而非轻击等)或者通过非触摸输入(例如使用光标控制器、键盘、触摸板/触控板、近触感屏等)来执行。此外,多个图(包括图16、17、19、26、28、36、44和45)概念性地示出了该过程。这些过程的特定操作可不以所示出和描述的确切顺序被执行。可不在操作的一个连续系列中执行该特定操作,并且可在不同实施例中执行不同的特定操作。此外,该过程可使用若干子过程来实施,或者作为更大宏过程而实施。因此,本领域的普通技术人员将理解,本发明不受前述示例性细节限制,而是将由所附的权利要求所限定。
此外,用于设置用于执行不同图像编辑操作的单个调节值的控件在图3、4、6、7、9、14、15、20、21、22、23、24、31、32、33、34、和35中被示出为滑动条控件。此类实施例的滑动条随着滑块沿滑动条滑动以设置滑动条的值而提供设置值的视觉指示。然而,在一些实施例中,在那些附图中的任何附图中所示的滑动条控件可由能够接收值(例如单个值)的任何其他控件来替代,诸如垂直滑动条控件、下拉菜单、数值输入框、由键盘键所激活的增量工具、其他与范围相关的UI控件(例如拨盘、按钮、数字字段等)等等。类似地,那些附图的滑动条控件或者被示出为利用触感屏幕上的手指手势(例如放置、指点、轻击一个或多个手指)来设置,或者简单地被示出在一位置处而没有关于它们是如何移动到该位置的任何指示。因此,本领域的普通技术人员将理解,图3、4、6、7、9、14、15、20、21、22、23、24、31、32、33、34、和35的控件在一些实施例中也可通过光标控制设备(例如鼠标或轨迹球)、触笔、键盘、近触感屏附近的手指手势(例如放置、指点、轻击一个或多个手指)、或任何其他控制系统来被激活和/或设置。因此,本领域的普通技术人员将理解,本发明不受前述示例性细节所限制,而是将由所附的权利要求所限定。
Claims (8)
1.一种用于编辑图像的设备,所述设备包括:
用于接收对具有一组不同内容类型的图像上的位置的选择的装置,所述图像包括多个像素,每个像素包括一组色值;
用于确定与所述图像上的所选择的位置相关联的特定内容类型的装置,其中所述特定内容类型是基于对应于图像上的所选择的位置的一组像素的色值落入与所述特定内容类型相关联的色值范围内而确定的;
用于从用于多个不同内容类型的多组不同的定向图像编辑控件中选择用于所述特定内容类型的特定一组定向图像编辑控件的装置;和
用于在所述图像上显示用于所述特定内容类型的所述特定一组定向图像编辑控件的装置,所述特定一组定向图像编辑控件指定与沿所述特定一组定向图像编辑控件中的控件的至少两个不同移动方向相关联的至少两个不同的图像编辑操作;以及
用于在触摸输入被保持并且所述触摸输入沿所述特定一组定向图像编辑控件的方向中的特定方向移动时对所述图像执行与所述特定方向相关联的图像编辑操作的装置。
2.根据权利要求1所述的设备,其中所述特定内容类型是人的皮肤、天空和树叶之一。
3.根据权利要求1所述的设备,还包括:
用于接收所述设备的用户界面上的所述触摸输入的装置。
4.根据权利要求1所述的设备,其中所述特定内容类型是深色值、浅色值和中间色值之一。
5.根据权利要求4所述的设备,还包括:
用于基于所述触摸输入沿所述特定方向的移动来确定要应用的图像编辑操作的量的装置。
6.一种用于调节在色彩空间中表示的图像的色值的方法,所述图像包括多个像素,每个像素包括一组色值,所述方法包括:
响应于对显示的图像上的位置的选择,确定与所述图像上的所选择的位置相关联的特定内容类型,其中所述特定内容类型是基于对应于显示的图像上的所选择的位置的一组像素的色值落入与所述特定内容类型相关联的色值范围内而确定的;
在所述图像上显示第一组定向图像编辑控件和第二组定向图像编辑控件,每组定向图像编辑控件指定与沿该组定向图像编辑控件中的控件的至少两个不同移动方向相关联的至少两个不同的图像编辑操作,第一组定向图像编辑控件用于将图像编辑操作应用于所述特定内容类型,第二组定向图像编辑控件用于将图像编辑操作应用于整个图像;以及
在触摸输入被保持并且所述触摸输入沿第一组定向图像编辑控件和第二组定向图像编辑控件中的特定控件移动时,执行与所述触摸输入沿所述特定控件的移动相关联的图像编辑操作。
7.根据权利要求6所述的方法,还包括基于所述触摸输入沿所述特定控件的移动来确定要应用的所述图像编辑操作的量。
8.根据权利要求6所述的方法,其中所述特定内容类型是深色值、浅色值和中间色值之一。
Applications Claiming Priority (19)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261607550P | 2012-03-06 | 2012-03-06 | |
US201261607554P | 2012-03-06 | 2012-03-06 | |
US201261607569P | 2012-03-06 | 2012-03-06 | |
US201261607574P | 2012-03-06 | 2012-03-06 | |
US201261607525P | 2012-03-06 | 2012-03-06 | |
US61/607,574 | 2012-03-06 | ||
US61/607,550 | 2012-03-06 | ||
US61/607,554 | 2012-03-06 | ||
US61/607,525 | 2012-03-06 | ||
US61/607,569 | 2012-03-06 | ||
US201261741768P | 2012-05-15 | 2012-05-15 | |
US61/741,768 | 2012-05-15 | ||
US13/629,399 US9159144B2 (en) | 2012-03-06 | 2012-09-27 | Color adjustors for color segments |
US13/629,399 | 2012-09-27 | ||
US13/629,428 US9299168B2 (en) | 2012-03-06 | 2012-09-27 | Context aware user interface for image editing |
US13/629,417 US9105121B2 (en) | 2012-03-06 | 2012-09-27 | Image editing with user interface controls overlaid on image |
US13/629,417 | 2012-09-27 | ||
US13/629,428 | 2012-09-27 | ||
PCT/US2013/020703 WO2013133905A1 (en) | 2012-03-06 | 2013-01-08 | Color adjustors for color segments |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104221359A CN104221359A (zh) | 2014-12-17 |
CN104221359B true CN104221359B (zh) | 2018-01-12 |
Family
ID=49117182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380019491.8A Active CN104221359B (zh) | 2012-03-06 | 2013-01-08 | 用于色彩片段的色彩调节器 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP5990600B2 (zh) |
CN (1) | CN104221359B (zh) |
GB (1) | GB2513499B (zh) |
WO (1) | WO2013133905A1 (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130238747A1 (en) | 2012-03-06 | 2013-09-12 | Apple Inc. | Image beaming for a media editing application |
US9105121B2 (en) | 2012-03-06 | 2015-08-11 | Apple Inc. | Image editing with user interface controls overlaid on image |
US9569078B2 (en) | 2012-03-06 | 2017-02-14 | Apple Inc. | User interface tools for cropping and straightening image |
US9202433B2 (en) | 2012-03-06 | 2015-12-01 | Apple Inc. | Multi operation slider |
US9131192B2 (en) | 2012-03-06 | 2015-09-08 | Apple Inc. | Unified slider control for modifying multiple image properties |
EP2851900B1 (en) | 2013-09-18 | 2017-08-23 | Nxp B.V. | Media content real time analysis and semi-automated summarization for capturing a fleeting event. |
CN110174984B (zh) * | 2013-12-27 | 2021-07-16 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
JP5907196B2 (ja) * | 2014-02-28 | 2016-04-26 | 富士ゼロックス株式会社 | 画像処理装置、画像処理方法、画像処理システムおよびプログラム |
JP2015166969A (ja) * | 2014-03-04 | 2015-09-24 | 株式会社ニコン | 画像処理装置及び画像処理プログラム |
CN104394320B (zh) * | 2014-11-26 | 2018-09-11 | 三星电子(中国)研发中心 | 处理图像的方法、装置以及电子设备 |
JP6265145B2 (ja) | 2015-01-26 | 2018-01-24 | ソニー株式会社 | 情報処理装置、情報処理方法、プログラム、及び、表示装置 |
CN107408401B (zh) * | 2015-03-27 | 2020-07-03 | 谷歌有限责任公司 | 用于图像的简化调整的用户滑块 |
EP3264251B1 (en) * | 2016-06-29 | 2019-09-04 | Dassault Systèmes | Generation of a color of an object displayed on a gui |
KR102630191B1 (ko) * | 2016-08-18 | 2024-01-29 | 삼성전자 주식회사 | 전자 장치 및 전자 장치 제어 방법 |
CN107817939B (zh) * | 2017-10-27 | 2023-02-07 | 维沃移动通信有限公司 | 一种图像处理方法及移动终端 |
KR102075389B1 (ko) * | 2018-09-13 | 2020-02-10 | 인천대학교 산학협력단 | 애니메이션 내 등장 인물에 대한 채색을 수행하는 전자 장치 및 그의 동작 방법 |
CN110825297B (zh) * | 2019-09-10 | 2021-07-13 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的图像处理方法、装置、设备及存储介质 |
JP2022028336A (ja) * | 2020-08-03 | 2022-02-16 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
CN112099680B (zh) * | 2020-09-01 | 2022-02-11 | 维沃移动通信有限公司 | 用户界面调整方法、装置和电子设备 |
US11438484B2 (en) * | 2021-01-27 | 2022-09-06 | Dell Products L.P. | Color temperature adjustment independent of scaler color space |
CN113590065B (zh) * | 2021-07-28 | 2024-01-16 | 展讯通信(天津)有限公司 | 一种色彩调整方法、装置、存储介质和显示设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US607554A (en) | 1898-07-19 | Pyroxylin composition of matter | ||
JP2000036042A (ja) * | 1998-07-17 | 2000-02-02 | Sony Corp | 画像処理装置および画像処理法法、並びに提供媒体 |
US7215813B2 (en) * | 2001-12-03 | 2007-05-08 | Apple Computer, Inc. | Method and apparatus for color correction |
JP4203791B2 (ja) * | 2002-12-19 | 2009-01-07 | ソニー株式会社 | 撮像装置、色調整装置及び色調整方法 |
US8243326B2 (en) * | 2006-09-11 | 2012-08-14 | Electronics For Imaging, Inc. | Methods and apparatus for color profile editing |
WO2008114436A1 (ja) * | 2007-03-20 | 2008-09-25 | Pioneer Corporation | 画像処理装置、表示システム、画像処理方法、そのプログラム、および、そのプログラムを記録した記録媒体 |
JP2008271096A (ja) * | 2007-04-19 | 2008-11-06 | Mitsubishi Denki Micom Kiki Software Kk | 画像データのグレーバランス補正方法、画像データのグレーバランス補正装置および記憶媒体 |
US8009177B2 (en) * | 2008-02-11 | 2011-08-30 | Apple Inc. | User interfaces for managing image colors |
JP2010211497A (ja) * | 2009-03-10 | 2010-09-24 | Nikon Corp | デジタルカメラおよび画像処理プログラム |
JP5695335B2 (ja) * | 2009-05-22 | 2015-04-01 | オリンパスイメージング株式会社 | 撮影条件制御装置、カメラ、画質制御装置およびプログラム |
US8468465B2 (en) * | 2010-08-09 | 2013-06-18 | Apple Inc. | Two-dimensional slider control |
-
2013
- 2013-01-08 GB GB1413675.8A patent/GB2513499B/en active Active
- 2013-01-08 WO PCT/US2013/020703 patent/WO2013133905A1/en active Application Filing
- 2013-01-08 JP JP2014560912A patent/JP5990600B2/ja active Active
- 2013-01-08 CN CN201380019491.8A patent/CN104221359B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
GB201413675D0 (en) | 2014-09-17 |
CN104221359A (zh) | 2014-12-17 |
JP2015518295A (ja) | 2015-06-25 |
GB2513499B (en) | 2019-07-24 |
GB2513499A (en) | 2014-10-29 |
JP5990600B2 (ja) | 2016-09-14 |
WO2013133905A1 (en) | 2013-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104221359B (zh) | 用于色彩片段的色彩调节器 | |
US9105121B2 (en) | Image editing with user interface controls overlaid on image | |
CN104247390B (zh) | 用于修剪和拉直图像的用户界面工具 | |
US8823726B2 (en) | Color balance | |
EP3077898B1 (en) | Editing options for image regions | |
GB2512780B (en) | Editing color values using graphical representation of the color values | |
US8971617B2 (en) | Method and interface for converting images to grayscale | |
CN105684420B (zh) | 图像处理装置以及图像处理程序 | |
US20150331595A1 (en) | Unified slider control for modifying multiple image properties | |
KR20170105445A (ko) | 디바이스 관리를 포함하는 디스플레이 장치들의 구성 및 동작 | |
US9251169B2 (en) | Systems and methods for creating photo collages | |
CN106462334A (zh) | 使用单个控件控制多个照片调整 | |
GB2510613A (en) | User interface for image processing | |
EP3011861A1 (en) | Hair consultation tool arrangement and method | |
CN106713696A (zh) | 图像处理方法及装置 | |
CN105874786A (zh) | 图像处理装置、图像处理方法和计算机可读记录介质 | |
WO2023197780A1 (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN112085663A (zh) | 利用上下文感知传感器和多维姿势输入生成增强数字图像 | |
CN105933616B (zh) | 一种图像处理的方法及设备 | |
US9053568B2 (en) | Applying a realistic artistic texture to images | |
JP6582472B2 (ja) | 画像処理装置、画像処理システムおよびプログラム | |
CN108805095A (zh) | 图片处理方法、装置、移动终端及计算机可读存储介质 | |
JP3192116U (ja) | 画像処理装置 | |
JP2021089654A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
Carlson | The Photographer's Guide to Luminar 4 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |