CN102662942B - 元数据生成***和方法 - Google Patents

元数据生成***和方法 Download PDF

Info

Publication number
CN102662942B
CN102662942B CN201110460158.3A CN201110460158A CN102662942B CN 102662942 B CN102662942 B CN 102662942B CN 201110460158 A CN201110460158 A CN 201110460158A CN 102662942 B CN102662942 B CN 102662942B
Authority
CN
China
Prior art keywords
user interface
control
metadata
institute
image
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.)
Expired - Fee Related
Application number
CN201110460158.3A
Other languages
English (en)
Other versions
CN102662942A (zh
Inventor
G·辛赫
N·法尼拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
General Electric Co
Original Assignee
General Electric Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by General Electric Co filed Critical General Electric Co
Publication of CN102662942A publication Critical patent/CN102662942A/zh
Application granted granted Critical
Publication of CN102662942B publication Critical patent/CN102662942B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

描述元数据生成***和方法。自动生成用于开发图形用户界面的元数据的示例计算机实现方法包括扫描用户界面的图像以检测图像上的候选区域,该候选区域潜在地与用户界面部件关联。该示例方法包括通过将***界面部件与数据库中存储的用户界面定义进行比较以识别与其关联的用户界面定义其中之一,来分析候选区域以识别其中包含的用户界面部件。该示例方法包括提取所识别用户界面部件的一个或多个性质,并且基于与所识别用户界面部件和所提取性质关联的用户界面定义来生成元数据。

Description

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

Claims (18)

1. 一种自动生成用于开发图形用户界面的元数据的计算机实现方法,包括:
扫描用户界面的图像以检测所述图像上的候选区域,所述候选区域潜在地与用户界面部件关联;
通过将***界面部件与数据库中存储的用户界面定义进行比较以识别与其关联的所述用户界面定义其中之一,来分析所述候选区域以识别其中包含的用户界面部件;
提取所识别用户界面部件的一个或多个性质;以及
基于与所识别用户界面部件和所提取性质关联的用户界面定义来生成元数据。
2. 如权利要求1所述的方法,其中,至少分析所述候选区域以识别其中包含的所述用户界面部件还包括对所述候选区域执行图像识别。
3. 如权利要求1所述的方法,其中,所提取性质的一个或多个包括静态性质。
4. 如权利要求3所述的方法,所述静态性质包括所识别用户界面部件的位置、与所识别用户界面部件关联的字体、与所识别用户界面部件关联的背景颜色或者与所识别用户界面部件关联的尺寸中的至少一个。
5. 如权利要求1所述的方法,还包括将所生成元数据存储在数据库中。
6. 如权利要求1所述的方法,其中,所述图像包括数字图像、gif图像、tiff图像或jpeg图像其中之一。
7. 如权利要求1所述的方法,其中,所述图像包括数字图像。
8. 如权利要求1所述的方法,其中,所述图像包括用户界面的屏幕截图。
9. 一种自动生成用于开发图形用户界面的元数据的计算机实现方法,包括:
扫描用户界面的图像以检测所述图像上的候选区域,所述候选区域潜在地与用户界面控件关联;
对所述候选区域执行图像识别,以便识别用户界面控件;以及
基于所识别用户界面控件来生成元数据,
其中,执行图像识别包括识别潜在的用户界面控件,并且将所述潜在的用户界面控件与数据库中存储的用户界面定义进行比较,以便识别与其关联的所述用户界面定义中之一。
10. 如权利要求9所述的方法,其中,执行所述图像识别还提取与所识别用户界面控件关联的性质。
11. 如权利要求10所述的方法,其中,所提取性质的一个或多个包括静态性质。
12. 如权利要求11所述的方法,其中,所述静态性质包括所识别用户界面控件的位置、与所识别用户界面控件关联的字体、与所识别用户界面控件关联的背景颜色或者与所识别用户界面控件关联的尺寸中的至少一个。
13. 如权利要求11所述的方法,其中,基于所识别用户界面控件来生成元数据包括基于与所识别用户界面控件关联的所述用户界面定义中所述之一来生成所述元数据。
14. 一种元数据生成***,所述***包括:
检测器,检测用户界面的图像上的候选区域,所述候选区域潜在地与用户界面控件关联;
分析器,分析所述候选区域,以便识别其中包含的用户界面控件;
生成器,基于所识别用户界面控件来生成元数据,
其中,所述分析器将潜在的用户界面控件与数据库中存储的用户界面定义进行比较,以便识别与其关联的所述用户界面定义中之一。
15. 如权利要求14所述的***,其中,所述生成器还基于与所识别用户界面控件关联的所述用户界面定义来生成元数据。
16. 如权利要求14所述的***,其中,所述分析器还提取所检测用户界面控件的一个或多个性质。
17. 如权利要求16所述的***,其中,所述生成器还基于所提取一个或多个性质来生成元数据。
18. 如权利要求16所述的***,所述性质包括静态性质,其中包括所识别用户界面控件的位置、与所识别用户界面控件关联的字体、与所识别用户界面控件关联的背景颜色或者与所识别用户界面控件关联的尺寸中的至少一个。
CN201110460158.3A 2010-12-24 2011-12-26 元数据生成***和方法 Expired - Fee Related CN102662942B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IN3948/CHE/2010 2010-12-24
IN3948CH2010 2010-12-24
US13/043007 2011-03-08
US13/043,007 US8977971B2 (en) 2010-12-24 2011-03-08 Metadata generation systems and methods

Publications (2)

Publication Number Publication Date
CN102662942A CN102662942A (zh) 2012-09-12
CN102662942B true CN102662942B (zh) 2016-08-17

Family

ID=46318581

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110460158.3A Expired - Fee Related CN102662942B (zh) 2010-12-24 2011-12-26 元数据生成***和方法

Country Status (2)

Country Link
US (1) US8977971B2 (zh)
CN (1) CN102662942B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8413062B1 (en) * 2009-11-06 2013-04-02 Infragistics Inc. Method and system for accessing interface design elements via a wireframe mock-up
CN104133665B (zh) * 2013-11-19 2015-09-30 腾讯科技(深圳)有限公司 基于图像检测的定位方法与装置
JP6428220B2 (ja) * 2014-12-08 2018-11-28 コニカミノルタ株式会社 Gui制御システム、gui制御方法、gui制御システム用プログラム、およびguiシステム用プログラムが記録されたコンピュータ読み取り可能な記録媒体
CN105843494B (zh) * 2015-01-15 2020-06-09 中兴通讯股份有限公司 一种实现区域屏幕截图的方法、装置和终端
US10733754B2 (en) 2017-01-18 2020-08-04 Oracle International Corporation Generating a graphical user interface model from an image
US10838699B2 (en) 2017-01-18 2020-11-17 Oracle International Corporation Generating data mappings for user interface screens and screen components for an application
US11036345B2 (en) * 2017-03-22 2021-06-15 Yuval PRAG System and method for on-screen graphical user interface encapsulation and reproduction
US10671847B2 (en) * 2017-05-23 2020-06-02 Avaya Inc. Service implementing a work flow based on image analysis
US20180349110A1 (en) * 2017-05-31 2018-12-06 Wipro Limited Method and layout identification system for facilitating identification of a layout of a user interface
CN109426406B (zh) * 2017-08-31 2022-05-31 北京橙鑫数据科技有限公司 按钮的显示方法、显示装置以及电子设备
CN110020356A (zh) * 2017-10-16 2019-07-16 阿里巴巴集团控股有限公司 一种页面模块的代码生成方法、装置及***
CN108304243B (zh) * 2018-02-06 2021-10-22 中国平安人寿保险股份有限公司 界面生成方法、装置、计算机设备和存储介质
US10489126B2 (en) 2018-02-12 2019-11-26 Oracle International Corporation Automated code generation
US10725629B2 (en) * 2018-06-25 2020-07-28 Google Llc Identifying and controlling smart devices
CN109117228A (zh) * 2018-08-01 2019-01-01 浙江口碑网络技术有限公司 图形界面的生成方法及装置
CN109683871B (zh) * 2018-11-01 2022-04-12 中山大学 基于图像目标检测的代码自动生成装置及方法
US11080025B2 (en) 2019-07-08 2021-08-03 International Business Machines Corporation Back-end application code stub generation from a front-end application wireframe
CN110826306B (zh) * 2019-11-05 2023-04-07 泰康保险集团股份有限公司 数据采集的方法、装置、计算机可读存储介质及电子设备
US11221833B1 (en) * 2020-03-18 2022-01-11 Amazon Technologies, Inc. Automated object detection for user interface generation
CN111598128B (zh) * 2020-04-09 2023-05-12 腾讯科技(上海)有限公司 用户界面的控件状态识别、控制方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1542699A (zh) * 2003-04-29 2004-11-03 联想(北京)有限公司 图形用户界面生成方法及***
CN101266544A (zh) * 2008-03-12 2008-09-17 浪潮集团山东通用软件有限公司 一种灵活设置人机交互界面实现方法
CN101661512A (zh) * 2009-09-25 2010-03-03 万斌 一种识别传统表单信息并创建对应Web表单的***及方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020165877A1 (en) * 2000-12-07 2002-11-07 Malcolm Jerry Walter Method and apparatus for filling out electronic forms
US7197158B2 (en) * 2002-06-28 2007-03-27 Microsoft Corporation Generation of metadata for acquired images
US7624027B1 (en) * 2002-10-29 2009-11-24 Practice Velocity, LLC Method and system for automated medical records processing
DE602004005216T2 (de) * 2003-08-20 2007-12-20 Oce-Technologies B.V. Dokumentenscanner
US20060004836A1 (en) * 2004-06-30 2006-01-05 Microsoft Corporation Dynamic forms generation
US7475335B2 (en) * 2004-11-03 2009-01-06 International Business Machines Corporation Method for automatically and dynamically composing document management applications
US7855810B2 (en) * 2005-02-18 2010-12-21 Eastman Kodak Company Method for automatically organizing a digitized hardcopy media collection
US7487438B1 (en) * 2005-03-08 2009-02-03 Pegasus Imaging Corporation Method and apparatus for recognizing a digitized form, extracting information from a filled-in form, and generating a corrected filled-in form
US8135728B2 (en) * 2005-03-24 2012-03-13 Microsoft Corporation Web document keyword and phrase extraction
WO2008003095A2 (en) 2006-06-29 2008-01-03 Google Inc. Recognizing text in images
GB0622863D0 (en) * 2006-11-16 2006-12-27 Ibm Automated generation of form definitions from hard-copy forms
US8473525B2 (en) * 2006-12-29 2013-06-25 Apple Inc. Metadata generation for image files
US20080247004A1 (en) * 2007-04-03 2008-10-09 Michael Yeung System and method for workflow control of scanned document input
US8676806B2 (en) * 2007-11-01 2014-03-18 Microsoft Corporation Intelligent and paperless office
JP4998220B2 (ja) * 2007-11-09 2012-08-15 富士通株式会社 帳票データ抽出プログラム、帳票データ抽出装置および帳票データ抽出方法
US10096064B2 (en) * 2008-11-06 2018-10-09 Thomson Reuters Global Resources Unlimited Company Method and system for source document data entry and form association
US8140590B2 (en) * 2009-03-23 2012-03-20 International Business Machines Corporation Dynamic generation of user interfaces and automated mapping of input data for service-oriented architecture-based system management applications
US20110196864A1 (en) * 2009-09-03 2011-08-11 Steve Mason Apparatuses, methods and systems for a visual query builder
US8600165B2 (en) * 2010-02-12 2013-12-03 Xerox Corporation Optical mark classification system and method
JP5561856B2 (ja) * 2010-05-24 2014-07-30 株式会社Pfu 帳票作成装置、帳票作成プログラム、および帳票作成方法
US8456704B2 (en) * 2010-06-14 2013-06-04 Xerox Corporation Colorimetric matching the perception of a digital data file to hardcopy legacy

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1542699A (zh) * 2003-04-29 2004-11-03 联想(北京)有限公司 图形用户界面生成方法及***
CN101266544A (zh) * 2008-03-12 2008-09-17 浪潮集团山东通用软件有限公司 一种灵活设置人机交互界面实现方法
CN101661512A (zh) * 2009-09-25 2010-03-03 万斌 一种识别传统表单信息并创建对应Web表单的***及方法

Also Published As

Publication number Publication date
US20120166978A1 (en) 2012-06-28
US8977971B2 (en) 2015-03-10
CN102662942A (zh) 2012-09-12

Similar Documents

Publication Publication Date Title
CN102662942B (zh) 元数据生成***和方法
US11551337B2 (en) Boundary-aware object removal and content fill
JP6397144B2 (ja) 画像からの事業発見
CN110414499A (zh) 文本位置定位方法和***以及模型训练方法和***
US20140189576A1 (en) System and method for visual matching of application screenshots
US20140218385A1 (en) System and method for visual segmentation of application screenshots
CN109857652A (zh) 一种用户界面的自动化测试方法、终端设备及介质
US20210406615A1 (en) Learning device, classification device, learning method, classification method, learning program, and classification program
JP2021125007A (ja) 画像処理装置、画像処理方法及び画像処理システム
CN110990053A (zh) 机器学习方案模板的创建方法、使用方法及装置
JP2021089491A (ja) アノテーション装置および方法
US11275970B2 (en) Systems and methods for distributed data analytics
CN110175609A (zh) 界面元素检测方法、装置及设备
CN114758362A (zh) 基于语义感知注意力和视觉屏蔽的换衣行人重识别方法
CN109471805A (zh) 资源测试方法及装置、存储介质、电子设备
CN117132763A (zh) 电力图像异常检测方法、装置、计算机设备和存储介质
CN107533416A (zh) 显示装置、显示控制方法、显示控制程序和显示***
CN116468004A (zh) 促进表单中的可填写区域的标识
US10997467B1 (en) Visual analytics exposure of image object detector weakness
US10915682B1 (en) Remodeling testing method for remodeling text-based display design to thereby achieve graphic-based display design and design remodeling testing device using the same
CN114613010A (zh) 检测模型的训练方法及装置、吸烟行为的检测方法及装置
KR102026475B1 (ko) 시각적 입력의 처리
CN110162459A (zh) 测试案例生成方法、装置及计算机可读存储介质
CN111598226B (zh) 一种用于图像识别的卷积网络可视化方法及装置
JP7509238B2 (ja) 情報処理装置、情報処理方法およびプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160817

Termination date: 20201226