元数据生成系统和方法

文档序号:6444913阅读:243来源:国知局
专利名称:元数据生成系统和方法
技术领域
本专利要求2010年12月24日提交的印度专利申请No. 3948/CHE/2010的优先权益,通过引用将其完整地结合到本文中。
背景技术
用于开发用户界面的元数据通常由图形设计人员和/或程序员来生成。开发用户界面的过程能够包括选择不同用户界面(UI)控件并且将其拖放到Π屏幕的不同部分以生成与这些控件相关的对应元数据的极耗费时间的过程。当用户界面是复杂的和/或包括许多UI控件时,开发用户界面的时间量增加。

发明内容
自动生成用于开发图形用户界面的元数据的示例计算机实现方法包括扫描用户界面的图像以检测图像上的候选区域,该候选区域潜在地与用户界面部件关联。该示例方法包括通过将潜在用户界面部件与数据库中存储的用户界面定义进行比较以识别与其关联的用户界面定义其中之一,来分析候选区域以识别其中包含的用户界面部件。该示例方法包括提取所识别用户界面部件的一个或多个性质,并且基于与所识别用户界面部件和所提取性质关联的用户界面定义来生成元数据。自动生成用于开发图形用户界面的元数据的示例计算机实现方法包括扫描用户界面的图像以检测图像上的候选区域,该候选区域潜在地与用户界面控件关联。该示例方法包括对候选区域执行图像识别以识别用户界面控件,并且基于所识别用户界面控件来生成元数据。示例有形计算机可读存储介质包括供使用处理器来执行的可执行指令,其中指令在被执行时提供生成元数据的系统,该系统包括检测用户界面的图像上的候选区域的检测器,候选区域潜在地与用户界面控件关联。该系统包括分析器,分析候选区域以识别其中包含的用户界面控件;以及生成器,基于所识别用户界面控件来生成元数据。


图I是示例元数据生成系统的框图。图2是涉及本文所述系统和方法的示例工作流程。图3-4是能够用于实现本文所述示例的示例方法的流程图。图5是可用于和/或编程为实现本文所述示例方法和系统的任一个或全部的示例处理器平台的示意图。图6示出元数据生成的示例系统及关联工作流程。通过结合附图进行阅读,将会更好地理解以上概述以及某些示例的以下详细描述。为了便于说明本文所述的示例,附图中示出某些示例。但是,应当理解,本公开并不局限于附图所示的布置和工具。
具体实施例方式虽然下面公开包括在硬件上执行的固件和/或软件以及其它部件的示例方法、设备、系统和制造产品,但是应当注意,这类方法、设备、系统和/或制造产品只是说明性的,而不应当被认为进行限制。例如,预期这些固件、硬件和/或软件部件的任一个或全部可专门通过硬件、专门通过软件、专门通过固件或者通过硬件、软件和/或固件的任何组合来体现。相应地,虽然下面描述示例方法、设备、系统和/或制造产品,但是所提供的示例并不是实现这类方法、设备、系统和/或制造产品的唯一方式。当看到所附权利要求的任一项涵盖纯软件和/或固件实现时,至少一个示例的元件的至少一个在此明确定义成包括存储软件和/或固件的有形介质,例如存储器、DVD、⑶、·蓝光等等。本文所述的示例系统和方法实现从数字图像来自动有效地生成用户界面(UI)元数据。更具体来说,代替图形设计人员当开发用户界面时在设计方表面(designersurface)上拖放UI控件,所述的示例搜索和识别数字图像中包含的UI控件和/或部件,并且生成其元数据。所生成的元数据可存储在XML文件中,并且可以是能够通过各种技术/软件来解释的技术中立和/或平台无关的元数据。因此,所生成的元数据可用于使用诸如.NET 、JAVA 等的任何技术来生成用户界面屏幕。XML文件可包括与所识别Π控件相关的数据,例如类型、位置(例如X和Y坐标)、字体、背景颜色和/或尺寸。所述的示例可易于集成到集成开发环境中,或者可以是独立产品。从用户界面的数字图像,所述的示例处理和识别这类数字图像中的Π控件部件图像,并且此后生成技术中立元数据。在某个示例中,示例元数据转换引擎可接收数字图像作为输入。数字图像可包括包含UI控件的屏幕截图(例如软拷贝)。作为补充或替代,数字图像可以是包含图形设计人员所绘制的Π控件、经过扫描并且然后转换为数字图像的屏幕截图的硬拷贝。例如,数字图像可以是gif图像、tiff图像或者jpeg图像。一旦接收到数字图像,则元数据转换引擎的示例Π检测部件可扫描和/或检测图像的候选区域。候选区域可包含一个或多个Π控件。例如,Π检测部件可检测数字图像的左上角作为候选区域,因为这个区域包括矩形和/或3维(3D)图像。在一些示例中,UI检测部件可包括逻辑和/或与确定图像和/或其中的区域是否可能包含UI控件时要检查的内容相关的内部元数据。例如,Π检测部件可通过检测通常可与用户界面上的Π控件关联的某些形状(例如正方形、矩形)、对象、3D图像等的存在,来将图像中的区域识别为候选区域。在一些示例中,UI检测部件的子集、即示例UI识别部件可分析所检测候选区域。在其它示例中,与UI检测部件分离的示例UI识别部件可分析所检测候选区域。与结构无关,Π识别部件可通过应用识别候选区域中的一个或多个Π控件并且从其中提取Π控件的图像识别程序,来分析所检测候选区域。更具体来说,Π识别部件可分析候选区域中的潜在UI控件(例如矩形),以便确定它是哪一种类型的UI控件。例如,UI识别部件可分析数字图像的左上角的潜在UI控件(例如矩形),并且检测潜在UI控件是按钮类型的部件。在一些示例中,在确定所检测UI控件是按钮类型部件时,Π识别部件可将所识别UI控件与数据库(例如内部资料库)中存储的UI定义或控件进行比较,以便确定UI控件是按钮类型部件,与文本窗口和/或其它Π部件不同。可通过识别数据库所存储的、与用户界面上识别的UI控件匹配的UI定义,来进行这个确定。还可对数据库的UI定义的部分或全部来存储相应UI控件的对应性质。作为补充或替代,Π识别部件可提取UI控件的其它性质(例如静态性质),例如向量高度、字体、颜色和/或背景颜色。从数字图像所识别和/或所提取的数据和则可输入和/或馈入示例UI元数据生成器。UI元数据生成器可处理所识别UI控件和性质和/或与其关联的UI定义,并且然后生成对应的技术中立元数据。元数据可基于任何可访问位置所存储的数据来生成。用于生成元数据的数据可按照SML文件或者任何其它格式。在一些示例中,图形设计人员可扫描包含Π控件的用户界面的纸线框图像。扫描 图像可输入Π控件检测部件,其中检测包含也许可能是Π控件的矩形的图像的候选区域。然后,示例UI识别部件可分析候选区域,以便确定矩形实际上是与文本框相关的UI控件。UI识别部件还可提取与文本框相关的任何可提取数据,例如位置、尺寸等。然后,可通过将与文本框UI控件相关的所识别和所提取数据输入示例UI元数据生成器部件,来生成中立元数据。这个中立元数据可存储在任何适当位置,并且以后可用于按照任何技术来生成用户界面屏幕。图I示出包括数据存储或源102和系统104的示例元数据生成系统100。数据源102和/或系统104的一个或两者可与访问装置106进行交互。在一些示例中,数据源102和/或系统104能够在单个系统中实现。在一些不例中,数据源102和/或系统104能够完全或部分在访问装置106中实现。在一些示例中,数据源102和/或系统104能够经由网络108与访问装置106进行通信。在一些示例中,访问装置106能够经由网络108与数据源102和/或系统104进行通信。网络108可通过例如因特网、内联网、专用或个人网络、有线或无线局域网、有线或无线广域网、蜂窝网络和/或任何其它适当网络来实现。访问装置106可接收用户界面的图像和/或其它数据,并且将其传送给元数据生成系统100,以便于识别图像中的用户界面控件并且生成对应元数据。例如,图像可以是包含Π控件的屏幕截图(例如软拷贝),和/或图像可以是从包含由图形设计人员所绘制的UI控件的屏幕截图的硬拷贝所转换的数字图像。在一些示例中,数据源102能够从访问装置106接收UI图像和/或与其相关的数据。在一些示例中,系统104能够从访问装置106接收UI图像和/或与其相关的数据。数据源102和/或系统104能够在任何集成开发环境中实现,或者可以是独立广品。访问装置106能够使用工作站(膝上型、台式、平板计算机等)来实现。在一些示例中,访问装置106可包括和/或具有与其关联的扫描仪。在一些示例中,图形设计人员可希望开发用户界面。开发用户界面的过程能够包括选择不同Π控件并且将其拖放到Π屏幕的不同部分以生成与这些控件相关的对应元数据的极耗费时间的过程。当用户界面是复杂的和/或包括许多UI控件时,开发用户界面的时间量增加。在这类情况下,使用本文所述的示例,访问装置和数据源102和/或系统104可进行交互以有效地生成元数据,并且在一些情况下,基于接收作为输入的数字图像来有效地生成技术中立元数据。数字图像可包含其中包含的Π部件的图像。例如,如果图形设计人员希望基于数字图像来开发用户界面,则图像的副本可从访问装置106传递给数据源102和/或系统104。一旦接收,数据源102和/或系统104可执行过程以识别图像中包含的UI控件,并且此后生成对应的技术中立元数据。所生成的元数据可以在数据源102和/或系统104可访问和/或存储在其中。在一些示例中,过程包括扫描和/或检测图像上也许可能包含Π控件的一个或多个候选区域。数据源102和/或系统104可基于某些判据来检测一个或多个候选区域。例如,判据可与扫描、检测和/或识别图像中包含一般可关联UI控件的形状和/或对象的区域。例如,矩形可一般与按钮或文本框关联。如果识别一个或多个候选区域,则数据源102和/或系统104可分析候选区域,以便确认Π控件的存在,并且对其进行识别。在一些示例中,通过将所识别候选区域中包含的潜在UI控件与数据源102和/或系统104所存储和/或可访问的UI定义进行比较,来确认和/或确定UI控件的存在和标识。在潜在UI控件与UI定义之间识别到匹配时,数据源102和/或系统104可将图像上的所识别UI控件与对应UI定义关联。作为补充和替代,数据源和/或系统104可从数字图像来提取与Π控件关联的其它性质。这些性质的一部分包括静态性质,例如位置、尺寸、字体、颜色、背景颜色等。
·
然后,数据源102和/或系统104可基于例如所识别UI控件、所提取性质和/或与其关联的UI定义来生成技术中立元数据。元数据可基于数据源102和/或系统104所存储和/或可访问的数据来生成。一旦被生成,元数据可存储在任何适当位置,并且可用于按照诸如.NET 、JAVA 等的任何技术来开发用户界面。在一些示例中,一旦被生成,元数据可从数据源102和/或系统104传递给访问装置106,其中例如它是人员(例如图形设计人员)在访问装置106的用户界面可查看的。图2是包括访问装置202和元数据生成系统204的示例工作流程200的框图。在一些示例中,元数据生成系统204可部分或完全在访问装置202中实现。元数据生成系统204可用于实现图I的数据源102和/或系统104。访问装置202可用于实现图I的访问装置106。在参考标号206,访问装置202示出用户界面的数字图像206。例如,数字图像206可使用访问装置202已经生成,或者可从硬拷贝已经扫描到访问装置202中。在参考标号208,访问装置202示出使用本文所述示例基于数字图像206所生成的技术中立元数据208。元数据生成系统204可包括Π控件检测部件210、Π控件识别部件或分析器212、Π控件生成器部件214、处理器216和数据源218。虽然图2示出了实现图I的数据源102和/或系统104和访问装置106的一个示例,但是图2所示的元件、过程和/或装置的一个或多个可按照其它方式来组合、划分、重新设置、省略、消除和/或实现。在一些示例中,处理器216可集成到UI控件检测部件210、UI控件识别部件212、UI控件生成器部件214和/或数据源218中。访问装置202、UI控件检测部件210、UI控件识别部件212、UI控件生成器部件214、处理器216和/或数据源218以及更一般来说的示例工作流程200和/或元数据生成系统204可通过硬件、软件、固件和/或硬件、软件和/或固件的组合来实现。因此,访问装置202、UI控件检测部件210、Π控件识别部件212、UI控件生成器部件214、处理器216和/或数据源218以及更一般来说的示例工作流程200和/或元数据生成系统204能够通过一个或多个电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑装置(PLD)和/或现场可编程逻辑装置(FPLD)等等来实现。当看到所附权利要求的任一项涵盖纯软件和/或固件实现时,访问装置202、UI控件检测部件210、UI控件识别部件212、UI控件生成器部件214、处理器216和/或数据源218以及更一般来说的示例工作流程200中至少一个在此明确定义成包括存储软件和/或固件的有形介质,例如存储器、DVD、⑶、蓝光等等。此外,图2的示例工作流程200和/或元数据生成系统204可包括作为对图2所示的补充或替代的一个或多个元件、过程和/或装置,和/或可包括任何或所有所示元件、过程和装置的一个以上。一旦数字图像206已经输入到访问装置202上,数字图像或者其副本可被传送给元数据生成系统204并且存储在数据源218。在一些示例中,UI控件检测部件210可从数据源218接收数字图像,并且扫描图像以检测可潜在地包含用户界面控件和/或用户界面控件的图像的一个或多个候选区域。UI控件检测部件210可基于逻辑和/或内部元数据来检测图像上的候选区域。逻辑和/或内部元数据可包括实现和/或训练UI控件检测部件210来区分Π控件和非Π控件的样本Π控件图像特征和/或样本非Π控件图像特征。
·
在一些示例中,UI控件检测部件210可在图像的左下角检测到包括也许可能是UI·控件的矩形的第一候选区域以及在图像的中心检测到包括也许可能包含Π控件的3D对象的第二候选区域。在其它示例中,Π控件检测部件210可在图像的左下角检测到包括也许可能是UI控件的矩形和也许可能是UI控件的3D对象的第一候选区域。在一些示例中,UI控件检测部件210按照段和/或区域来扫描图像,并且确定区域的每个是否包含可能的UI控件。由UI控件检测部件210所扫描的图像的区域可相似地或者不同地确定大小。由Π控件检测部件210所扫描的图像的区域可以是任何适当形状,例如矩形、正方形等。与候选区域相关的信息或者由UI控件检测部件210所识别的任何其它信息可存储在数据源218和/或元数据生成系统204可访问的任何其它数据库。所检测候选区域可由UI控制识别部件212来分析。在一些示例中,UI控件识别部件212可分析候选区域,以便使用图像识别程序来识别其中包含的UI控件。在一些示例中,Π控件识别部件212可通过将潜在UI控件与数据源218中存储的UI定义进行比较以识别与所识别潜在Ul控件关联的UI定义,来分析候选区域。如果识别到匹配,则UI控件识别部件212可将图像的候选区域中的UI控件与对应UI定义关联。UI控件识别部件212还可从图像来提取静态性质和/或与所识别UI控件关联。静态性质的一部分可包括位置、字体、背景颜色、尺寸等。UI控件的标识、所提取性质、Π定义连同由UI控件识别部件212所识别和/或提取的任何其它信息可存储在数据源218和/或元数据生成系统204可访问的任何其它数据库。UI控件生成器部件214可从数据源218来接收与所识别UI控件相关的信息,并且然后生成对应的技术中立元数据。元数据可基于数据源218和/或Π控件生成器部件214可访问的任何其它数据库所存储的数据来生成。所生成的元数据可存储在数据源218和/或任何其它适当数据库,并且可用于按照任何技术来开发用户界面。在一些示例中,在Π控件生成器部件214生成元数据之后和/或同时,这个元数据的部分或全部可在访问装置202上以参考标号208来显示。然后,图形设计人员可在需要时对元数据208进行查看、编辑和/或添加。元数据生成系统204包括检索数据、执行功能性并且将数据存储在数据源218、访问装置202、图I的访问装置106、数据源102和/或图I的系统104的处理器216。在一些示例中,处理器216驱动元数据生成系统204的相应部件。例如,处理器216可驱动UI控件检测部件210来扫描图像以识别一个或多个候选区域。处理器216可驱动UI控件识别部件212来分析候选区域并且确定相应候选区域中包含的任何UI控件的标识和/或性质。处理器216可驱动UI控件生成器部件214以基于UI控件检测部件210和/或Π控件识别部件212所识别和/或所提取的信息来生成技术中立元数据。在一些示例中,处理器216可驱动访问装置202向用户输入提供信息和功能性,以便控制访问装置202、编辑信息、查看数字图像206和/或元数据208等。访问装置202和元数据生成系统204可包括一个或多个内部存储器和/或包括数据源218的数据存储。数据存储装置可包括各种内部和/或外部存储器、磁盘、远程存储装置,其与元数据生成系统204和/或访问装置202进行通信。图3-4示出表示可使用例如可用于使用一个或多个访问装置、元数据生成系统、 数据存储和/或系统来自动生成技术中立元数据的计算机可读指令来实现的过程的示例流程图。图3-4的示例过程可使用处理器、控制器和/或任何其它适当的处理装置来执行。例如,图3-4的示例过程可使用诸如闪速存储器、只读存储器(ROM)和/或随机存取存储器(RAM)之类的实体计算机可读介质上存储的编码指令(例如计算机可读指令)来实现。本文所使用的术语“有形计算机可读介质”明确定义为包括任何类型的计算机可读存储装置,但不包括传播信号。作为补充或替代,图3-4的示例过程可使用其中将信息存储任何时长(例如延长时间段、永久、短暂、临时缓冲和/或信息高速缓存)的诸如闪速存储器、只读存储器(ROM)、随机存取存储器(RAM)、高速缓存或者任何其它存储介质之类的非暂时计算机可读介质上存储的编码指令(例如计算机可读指令)来实现。本文所使用的术语“非暂时计算机可读介质”明确定义为包括任何类型的计算机可读介质,但不包括传播信号。备选地,图3-4的示例过程的部分或全部可使用专用集成电路(ASIC)、可编程逻辑装置(PLD)、现场可编程逻辑装置(FPLD)、分立逻辑、硬件、固件等的任何组合来实现。另夕卜,图3-4的示例过程的部分或全部可人工或者作为上述技术的任何组合、例如固件、软件、分立逻辑和/或硬件的任何组合来实现。此外,虽然图3-4的示例过程参照图3-4的流程图来描述,但是可采用实现图3-4的过程的其它方法。例如,框的执行顺序可以改变,和/或所述框的一部分可以改变、消除、细分或组合。另外,图3-4的示例过程的任一个或全部可由例如单独处理线程、处理器、装置、分立逻辑、电路等依次和/或并行执行。图3涉及使元数据能够基于数字图像来自动生成的示例方法300。在框302,方法300输入数字图像。图像可以是gif图像、tiff图像、jpeg图像、数字图像、用户界面的屏幕截图等。图像可基于使用访问装置106和/或202其中之一所创建的数字图像。图像可以是由图形设计人员所创建的、已经扫描到访问装置106和/或202中的用户界面的草图。与创建图像中使用的方法无关,图像可包括其中包含Π控件的一个或多个图像、区域和/或部件。这些图像、区域和/或部件可与文本框、按钮等相关。在框304,方法300扫描图像,以便检测图像上的任何候选区域。候选区域可潜在地与UI控件关联。在框306,方法300处理来自所检测候选区域的列表的第一个或下一个候选区域。在框308,方法300分析候选区域,以便确定其中是否包含Π控件。如果方法300确定候选区域包含一个或多个UI控件,则控制进行到框310。但是,如果方法300确定候选区域没有包含一个或多个Π控件,则控制进行到框312。在框310,方法300分析候选区域,以便识别其中的UI控件。在一些示例中,方法300通过对候选区域执行图像识别,来分析候选区域。在一些示例中,方法300可通过将候选区域中包含的潜在和/或所识别UI控件与UI定义进行比较以识别与所识别UI控件关联的Π定义其中之一,来分析候选区域。在框314,方法300提取所检测Π控件的一个或多个性质。例如,性质可基于与UI定义关联的静态性质和/或数据。在框316,方法300确定所检测候选区域是否包含更多Π控件。如果所检测候选区域包含更多Π控件,则控制返回到框308。但是,如果候选区域没有包含更多UI控件,则控制进行到框312。在框312,方法300确定是否已经处理全部所检测候选区域。如果还没有处理所有候选区域,则控制返回到框306。但是,如果已经处理所有候选区域,则控制进行到框318。在框318,方法300确定是否已经检测到任何UI控件。如果没有检测到UI控件,则控制进行到框320。但是,如果检测到一个或多个Π控件,则控制进行到框322。在框322,方法300生成中立元数据。在一些示例中,方法300可基于候选区域中包含的UI控件的标识来生成中立元数据。在一些示例中,方法300可基于诸如从数字图像所提取的静态性质之类的性质来生成中立元数据。在一些示例中,方法300可基于与候选区域中包含的相应UI控件关联的Π定义来生成中立元数据。在框324,方法300存储中立元数据。在一些示例中,所存储元数据可用于按照任何技术来开发用户界面。在框320,方法300确定是否返回到框302。否则,示例方法300结束。图4涉及使元数据能够基于数字图像来自动生成的示例方法400。在框402,方法400输入图像。图像可基于使用访问装置106和/或202其中之一所创建的数字图像。图像可以是由图形设计人员所创建的、已经扫描到访问装置106和/或202中的用户界面的草图。与创建图像中使用的方法无关,图像可包括其中包含Π控件的一个或多个图像和/或区域。这些图像和/或部件可与文本框、按钮等相关。在框404,方法400扫描图像,以便检测图像上的任何候选区域。候选区域可潜在地与UI控件关联。在框406,方法400对候选区域执行图像识别,以便识别UI控件。在一些示例中,在对候选区域应用图像识别时,方法400识别候选区域之一中包含的潜在UI控件,并且将这个潜在UI控件与数据库所存储的UI定义进行比较,以便识别与所识别UI控件关联的Π定义之一。在一些示例中,在对候选区域应用图像识别时,方法400从图像来提取一个或多个性质和/或提取与潜在和/或所识别UI控件关联的一个或多个性质。在框408,方法400生成中立元数据。在一些示例中,方法400可基于候选区域中包含的UI控件的标识来生成中立元数据。在一些示例中,方法400可基于诸如从数字图像所提取的静态性质之类的性质来生成中立元数据。在一些示例中,方法400可基于与候选区域中包含的相应Π控件关联的Π定义来生成中立元数据。在框410,方法400存储中立元数据。在一些示例中,所存储元数据可用于按照任何技术来开发用户界面。在框412,方法400确定是否返回到框402。否则,示例方法400结束。图5是可用于实现本文所述的系统和方法的示例处理器系统500的框图。如图5所示,处理器系统500包括耦合到互连总线504的处理器502。处理器502可以是任何适当、的处理器、处理单元或者微处理器。虽然图5未示出,但是处理器系统500可以是多处理器系统,并且因而可包括与处理器502相同或相似并且在通信上耦合到互连总线504的一个或多个附加处理器。图5的处理器502耦合到芯片组506,芯片组506包括存储控制器510和输入/输出(I/o)控制器510。众所周知,芯片组通常提供I/O和存储器管理功能以及多个通用和/或专用寄存器、计时器等,其由耦合到芯片组506的一个或多个处理器可访问或使用。存储控制器508执行使处理器502 (或者当存在多个处理器时的多个处理器)能够访问系统存储器512和大容量存储存储器514的功能。系统存储器512可包括任何预期类型的易失性和/或非易失性存储器,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、闪速存储器、只读存储器(ROM)等等。大容量存储存储器514可包括任何预期类型的大容量存储装置,包括硬盘驱动器、光盘驱动器、磁带存储装置等等。
I/O控制器510执行使处理器502能够经由I/O总线522与外围输入/输出(I/
O)装置516和518以及网络接口 520进行通信的功能。I/O装置516和518可以是任何预期类型的I/O装置,例如键盘、视频显示器或监视器、鼠标等等。网络接口 520可以是例如以太网装置、异步传输模式(ATM)装置、802. 11装置、DSL调制解调器、电缆调制解调器、蜂窝调制解调器等,它使处理器系统500能够与另一个处理器系统进行通信。虽然存储控制器508和I/O控制器510在图5中示为芯片组506中的单独块,但是,这些块所执行的功能可集成在单个半导体电路中,或者可使用两个或两个以上单独的集成电路来实现。图6示出元数据生成的示例系统及关联工作流程600。在602,手绘图形UI图像604可被扫描并且转换为数字图像。数字图像可以是.gif图像、.tiff图像或者.jpeg图像等。在606,示例Π控件检测部件可检测包含和/或潜在地包含一个或多个Π控件的一个或多个候选区域608、610。在612,示例UI控件识别部件可分析候选区域608、610,以便识别其中包含的Π控件612-630。在一些示例中,Π控件识别部件可应用图像识别程序来识别候选区域608、610中的UI控件612-630,和/或提取UI控件和/或相关数据。在一些示例中,所识别UI控件可通过UI上的颜色(例如黄色)、通过轮廓等等来区分。在632,由示例Π元数据生成器部件对一个或多个Π控制部件来生成元数据。UI元数据生成器部件可处理所识别UI控件和/或所提取数据,并且基于此来生成对应的技术中立元数据。在一些示例中,技术中立元数据可用于生成实际Π控件部件供由用户进行交互。在一些示例中,技术中立元数据可用于通过写入所指定源代码生成器,按照任何预期技术来生成图形用户界面。在634,示出可使用任何编程语言和/或集成开发环境(IDE)、基于元数据来生成的Π屏幕。示范系统和方法基于数字图像的输入来输出技术中立元数据。更具体来说,在接收到数字图像时,示例系统和方法识别潜在地包含Π控件的候选区域,并且然后进一步分析这些候选区域,以便确定潜在UI控件的标识(例如类型、UI控件、非UI控件等)。作为补充或替代,示例系统和方法还分析这些候选区域,以便提取对应性质(例如静态性质)。基于所识别、所提取性质等,示例系统和方法可自动生成可有利地用于按照任何适当技术来创建用户界面的技术中立元数据。
某些实施例考虑实现实现上述功能性的方法、系统和任何机器可读介质上的计算机程序产品。例如,某些实施例可使用现有计算机处理器、或者通过为这个或另一个目的而结合的专用计算机处理器、或者通过硬连线和/或固件系统来实现。某些实施例包括用于携带或者其上存储计算机可执行指令或数据结构的计算机可读介质。这种计算机可读介质可以是可由通用或专用计算机或者具有处理器的其它机器可访问的任何可用介质。作为举例,这种计算机可读介质可包括RAM、ROM、PROM、EPROM、EEPROM、闪存、CD-ROM或其它光盘存储装置、磁盘存储装置或者其它磁存储装置、或者可用来携带或存储采取计算机可 执行指令或数据结构形式的预期程序代码、可由通用或专用计算机或者具有处理器的其它机器可访问的其它任何介质。以上所述的组合也包含在计算机可读介质的范围之内。计算机可执行指令包括例如使通用计算机、专用计算机或者专用处理机执行某个功能或某组功能的指令和数据。一般来说,计算机可执行指令包括执行特定任务或者实现特定抽象数据类型的例程、程序、对象、部件、数据结构等。计算机可执行指令、关联数据结构和程序模块表示用于执行本文公开的某些方法的步骤和系统的程序代码的示例。这类可执行指令或关联数据结构的特定序列表示用于实现在这类步骤中所述的功能的相应动作的示例。本发明的实施例可在采用到具有处理器的一个或多个远程计算机的逻辑连接的组网环境中实施。逻辑连接可包括在此作为举例而不是限制来提供的局域网(LAN)和广域网(WAN)。这类组网环境是办公范围和企业范围的计算机网络、内联网和因特网中常见的,并且可采用大量不同的通信协议。本领域的技术人员将会理解,这类网络计算环境通常包含许多类型的计算机系统配置,其中包括个人计算机、手持装置、多处理器系统、基于微处理器或者可编程消费电子产品、网络PC、小型计算机、大型计算机等等。本发明的实施例还可在分布式计算环境中实施,在这些环境中,任务由通过通信网络链接(通过硬连线链路、无线链路或者通过硬连线或无线链路的组合)的本地和远程处理装置来执行。在分布式计算环境中,程序模块可能位于本地以及远程存储器存储装置中。虽然本文已经描述了某些方法、设备和制造产品,但是本专利的覆盖范围并不局限于此。相反,本专利涵盖在字面上或者在等同原则下完全落入所附权利要求书的范围的所有方法、设备和制造产品。
权利要求
1.一种自动生成用于开发图形用户界面的元数据的计算机实现方法,包括 扫描用户界面的图像以检测所述图像上的候选区域,所述候选区域潜在地与用户界面部件关联; 通过将潜在用户界面部件与数据库中存储的用户界面定义进行比较以识别与其关联的所述用户界面定义其中之一,来分析所述候选区域以识别其中包含的用户界面部件; 提取所识别用户界面部件的一个或多个性质;以及 基于与所识别用户界面部件和所提取性质关联的所述用户界面定义来生成元数据。
2.如权利要求I所述的方法,其中,至少分析所述候选区域以识别其中包含的所述用户界面部件还包括对所述候选区域执行图像识别。
3.如权利要求I所述的方法,其中,所提取性质的一个或多个包括静态性质。
4.如权利要求3所述的方法,所述静态性质包括所识别用户界面部件的位置、与所识别用户界面部件关联的字体、与所识别用户界面部件关联的背景颜色或者与所识别用户界面部件关联的尺寸中的至少一个。
5.如权利要求I所述的方法,还包括将所生成元数据存储在数据库中。
6.如权利要求I所述的方法,其中,所述图像包括数字图像、gif图像、tiff图像或jpeg图像其中之一。
7.如权利要求I所述的方法,其中,所述图像包括数字图像。
8.如权利要求I所述的方法,其中,所述图像包括用户界面的屏幕截图。
9.一种自动生成用于开发图形用户界面的元数据的计算机实现方法,包括 扫描用户界面的图像以检测所述图像上的候选区域,所述候选区域潜在地与用户界面控件关联; 对所述候选区域执行图像识别,以便识别用户界面控件;以及 基于所识别用户界面控件来生成元数据。
10.如权利要求9所述的方法,其中,执行所述图像识别还提取与所识别用户界面控件关联的性质。
11.如权利要求10所述的方法,其中,所提取性质的一个或多个包括静态性质。
12.如权利要求11所述的方法,其中,所述静态性质包括所识别用户界面控件的位置、与所识别用户界面控件关联的字体、与所识别用户界面控件关联的背景颜色或者与所识别用户界面控件关联的尺寸中的至少一个。
13.如权利要求11所述的方法,其中,执行图像识别包括识别潜在的用户界面控件,并且将所述潜在的用户界面控件与数据库中存储的用户界面定义进行比较,以便识别与其关联的所述用户界面定义之一。
14.如权利要求13所述的方法,其中,基于所识别用户界面控件来生成元数据包括基于与所识别用户界面控件关联的所述用户界面定义之一来生成所述元数据。
15.一种包括供使用处理器来执行的可执行指令的有形计算机可读存储介质,其中,所述指令在被执行时提供生成元数据的系统,所述系统包括 检测器,检测用户界面的图像上的候选区域,所述候选区域潜在地与用户界面控件关联; 分析器,分析所述候选区域,以便识别其中包含的用户界面控件;生成器,基于所识别用户界面控件来生成元数据。
16.如权利要求15所述的有形计算机可读存储介质,其中,所述分析器将潜在的用户界面控件与数据库中存储的用户界面定义进行比较,以便识别与其关联的所述用户界面定义之一。
17.如权利要求15所述的有形计算机可读存储介质,其中,所述生成器还基于与所识别用户界面控件关联的所述用户界面定义来生成元数据。
18.如权利要求15所述的有形计算机可读存储介质,其中,所述分析器还提取所检测用户界面控件的一个或多个性质。
19.如权利要求18所述的有形计算机可读存储介质,其中,所述生成器还基于所提取一个或多个性质来生成元数据。
20.如权利要求18所述的有形计算机可读存储介质,所述性质包括静态性质,其中包括所识别用户界面控件的位置、与所识别用户界面控件关联的字体、与所识别用户界面控件关联的背景颜色或者与所识别用户界面控件关联的尺寸中的至少一个。
全文摘要
描述元数据生成系统和方法。自动生成用于开发图形用户界面的元数据的示例计算机实现方法包括扫描用户界面的图像以检测图像上的候选区域,该候选区域潜在地与用户界面部件关联。该示例方法包括通过将潜在用户界面部件与数据库中存储的用户界面定义进行比较以识别与其关联的用户界面定义其中之一,来分析候选区域以识别其中包含的用户界面部件。该示例方法包括提取所识别用户界面部件的一个或多个性质,并且基于与所识别用户界面部件和所提取性质关联的用户界面定义来生成元数据。
文档编号G06F17/30GK102662942SQ201110460158
公开日2012年9月12日 申请日期2011年12月26日 优先权日2010年12月24日
发明者G·辛赫, N·法尼拉 申请人:通用电气公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1