CN106575360B - 图表数据的增强识别 - Google Patents

图表数据的增强识别 Download PDF

Info

Publication number
CN106575360B
CN106575360B CN201580044893.2A CN201580044893A CN106575360B CN 106575360 B CN106575360 B CN 106575360B CN 201580044893 A CN201580044893 A CN 201580044893A CN 106575360 B CN106575360 B CN 106575360B
Authority
CN
China
Prior art keywords
graphic element
value
computer
individual
chart
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
Application number
CN201580044893.2A
Other languages
English (en)
Other versions
CN106575360A (zh
Inventor
A·L·威尔逊
D·帕里什
张毅
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN106575360A publication Critical patent/CN106575360A/zh
Application granted granted Critical
Publication of CN106575360B publication Critical patent/CN106575360B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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/04845Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction 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/0488Interaction 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
    • G06F3/04883Interaction 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 for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/42Document-oriented image-based pattern recognition based on the type of document
    • G06V30/422Technical drawings; Geographical maps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20072Graph-based image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/413Classification of content, e.g. text, photographs or tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Character Input (AREA)

Abstract

可以通过计算设备接收或捕获包含显示图形元素的图表的图像。例如,图形元素可以是条形图的条或饼形图的组件。本文所描述的技术可以确定图形元素的值。本文所描述的技术还可以分析图形元素的布置和其它上下文信息来确定图表类型。所生成的值可以基于图表类型而布置成可编辑图表和/或可编辑数据结构。触摸使能的姿势可以应用于数据结构以允许用户修改、保存或以其它方式处理数据结构。

Description

图表数据的增强识别
背景技术
随着技术进一步发展数字成像组件的性能和普及性,计算机和便携式设备更常用于捕获和处理打印文档的图像。存在使用不同技术(包括光学字符识别(“OCR”))处理打印文档的图像的多种应用。例如,一些应用使用这些技术来将打印文档转换成文本文件。
虽然计算机可以生成包含OCR生成的文本的文件,目前的技术仍会有限制。例如,当图像包含以复杂格式布置的文本和其它上下文标记物时,可能需要手动解释和手动数据输入来确保在图像中传达的信息被正确地输入。这样的耗时的、易出错的过程可能是低效的且会导致不太令人满意的用户体验。
针对这些和其它考虑,呈现了在此所做的公开。
发明内容
本文描述了用于提供图表数据的增强识别的技术。一般而言,本文所公开的技术解释了图表数据的图像的各个方面,其可以包括指示一个或多个值的任何图形布置,以生成包含数据表格和/或图表的可编辑数据结构。可以通过计算设备来接收或捕获包含显示图形元素的图表或其它布置的图像。图形元素可以是传达值的图像中的任意项。例如,图形元素可以是条形图的条、散点图的点或饼形图的部分。
本文所描述的技术可以确定显示或打印在介质上的图形元素的值。介质可以包括能够显示任意数据和/或图形布置的任意电子介质或任何其它物理介质。在一个方面,值可以通过图形元素的测量来确定。在另一方面,值可以通过光学可识别数据的解释来确定,例如描述图表的一个或多个图形元素的文本。在其它方面,可以解释图形元素的布置和/或与图像相关联的其它上下文信息以确定图表类型。所确定的值可以布置成基于图表类型的数据结构。例如,数据结构可以是经渲染来显示基于图像中所包含的图表的可编辑图表的电子表格文件的形式。触摸使能控件可应用于数据结构的呈现而允许用户修改、保存或以其它方式处理数据结构。
应当意识到,上述主题可以实现为计算机控制的装置、计算机过程、计算系统或实现为例如计算机可读存储介质的制品。这些特征和其它各个特征将从以下的详细说明的阅读和相关联的附图的阅览中变得显而易见。
提供该发明内容以便以简化的形式来引入下面的具体实施方式中进一步描述的概念的选择。该发明内容不旨在确定所要求保护的主题的关键特征或主要特征,也不旨在该发明内容用于限定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任意部分所提到的任意或全部缺点的实现方式。
附图说明
图1是示出用于提供图表数据的增强识别的系统的多个示例的组件的框图。
图2是用于捕获具有多个图形元素的图表的图像的设备的透视图。
图3是示出了用于提供图表数据的增强识别的方法的方面的流程图。
图4A示出了包含条形图和表格的示例的图像,表格布置有对应于条形图的数据。
图4B示出了触摸使能的用户界面,显示出所生成数据的表格和由图4A的图像生成的数据所形成的条形图。
图5A示出了包含显示有描述性文本的饼形图的示例的图像。
图5B示出了触摸使能的用户界面,显示出所生成数据的表格和由图5A的图像生成的数据所形成的饼形图。
图6示出了触摸使能的用户界面,还示出了可用于选择图表类型的触摸使能的控件。
图7A示出了触摸使能的用户界面,该用户界面显示所生成数据的表格和图5B的饼形图,还示出了可用于编辑饼形图和所生成的数据的触摸使能的控件。
图7B示出了触摸使能的用户界面,显示出所生成数据的表格和图5B的饼形图,示出了触摸使能的控件如何用于修改饼形图和所生成的数据的示例。
图8是计算机体系结构图,示出了用于能够实现本文所呈现的技术和工艺的方面的计算系统的示例性的计算机硬件和软件体系结构。
图9是示出了能够实现本文所呈现的技术和工艺的方面的分布式计算环境的图。
图10是计算机体系结构图,示出了能够实现本文所呈现的技术和工艺的方面的计算设备的计算设备体系结构。
具体实施方式
下面的详细说明涉及用于提供图表数据的增强识别的概念和工艺。一般而言,本文所公开的技术解释了图表数据的图像的各个方面,其可以包括指示一个或多个值的任何图形布置,以生成包含数据表和/或图表的可编辑数据结构。包含显示图形元素的图表的图像可由计算设备接收或捕获。例如,图形元素可以是条形图的条,或饼形图的组件。
本文所描述的技术可以确定图形元素的值。在一个方面,值可由图形元素的度量来确定。例如,值可以通过测量条形图的条的长度或者通过测量任何其它特性如饼形图的角或饼形图的组件的表面积来确定。在另一方面,值可以通过识别光学可识别数据(例如,描述图表的一个或多个图形元素的文本)来确定。
在其它方面中,图形元素的布置和与图像相关联的其它上下文信息可以被解释以确定图表类型,例如,饼形图、条形图或任何其它类型的图表。所生成的值可以基于图表类型而布置成可编辑的数据结构。例如,数据结构可以是电子表格文件的形式,其可被渲染以显示视觉上类似图像中所包含的图表的可编辑图表。触摸使能控件可应用于数据结构以允许用户修改、保存或以其它方式处理由数据结构定义的图表。
在一些实现方式中,所生成的数据结构还可以被配置成存储附加的元数据。在一个示例中,元数据可以包括由计算设备捕获或获得的图像。在这些实现方式中,使用所生成的数据结构的各种应用可使用所存储的图像作为基准点来验证数据结构的可编辑图表和/或其它方面的一个或多个特性。
虽然本文所描述的主题是在与计算机系统上的操作系统和应用程序的执行相结合而执行的程序模块的一般上下文中呈现的,本领域技术人员将认识到,可以与其它类型的程序模块相结合来执行其它实现方式。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。而且,本领域技术人员将意识到,本文所描述的主题可以利用其它计算机系统配置来实现,包括手持式设备、多处理器系统、基于微处理器的或可编程的消费电子设备、微型计算机、主机型计算机等等。
在下面的详细说明中,参考了附图,附图构成其部分,并且其中通过示例显示出具体的配置或示例。现在参考附图,示出了用于提供图表数据的增强识别的计算系统、计算机可读存储介质和计算机实现的方法的各方面,其中相似的标记在多幅图中表示相似的元件。如参考图8-10在下面进一步详述的,存在能够实施本文所描述的功能和技术的多个应用和服务。
图1是示出了用于提供图表数据的增强识别的本文公开的一个示例性的机制的方面的系统示意图。如图1所示,系统100可以包括计算设备101、远程计算机110和网络120。计算设备101可以作为独立设备来操作,或者计算设备101可以与远程计算机110相结合来操作。所能意识到的是,远程计算机110和计算设备101是通过一个或多个局域网和/或广域网来互连的,例如网络120。应当意识到,除了图1所示的之外,可以使用更多的网络连接。
计算设备101可以包括存储数据文件113的本地存储器180和被配置为管理用户与计算设备101之间的交互的程序模块111。程序模块111可以是独立应用、生产应用、操作系统组件或任何其它应用或软件模块的形式,具有经由如键盘的输入设备119和/或可包括被配置为接收来自用户的姿势的触摸使能屏幕的接口118与用户交互的特征。程序模块111还可以控制图像捕获设备116。
在本文公开的方面中,图像捕获设备116可以被配置为捕获和/或获得具有布置的字符或图形元素的介质(例如,打印的文档)的输入图像。图像捕获设备116可以是扫描仪、网络照相机(“web cam”)、照相机电话、手持式照相机等。在另一示例中,图像捕获设备116可以使用被配置为在任意类型的设备上执行屏幕捕获的硬件和软件。另外,程序模块111可以被配置为接收来自其它设备的输入图像,其它设备例如为远程计算机110或任何其它计算设备。所捕获的或接收的输入图像数据可以存储为文件,例如,图1的输入图像150。如所意识到的,所捕获的或接收的输入图像数据还可以存储在数据文件113或其它的模块或数据结构中。数据文件113还可以存储通过本文公开的技术所形成、处理、修改和/或生成的一个或多个数据结构。
程序模块111可以被配置为使用一个或多个OCR技术来检测打印或显示在介质上的任何光学可识别字符。除了识别字符之外,本文所公开的技术可以解释图像的其它方面,例如打印或显示在介质上的任意线、空间、标记物和/或任何类型的布置。例如,所捕获的图像可以包括图形元素的布置,例如图表、线、点、条或任何表达值或其它信息的视觉指示符。系统100的程序模块111和/或其它组件还可以被配置为识别和/或解释所打印或显示的字符的其它方面,例如具体的关键词、数字或字母图案等。如下文将说明的,一些字符或标记物可以被识别为描述性的文本,例如标题、报头等。如下文更详细说明的,基于一个或多个因素,图像的描述性文本和其它方面可以确定可用于生成可编辑数据表格和图表的一个或多个图表类型和其它上下文信息。
远程计算机110可以呈被配置为存储服务器程序模块105、服务器数据文件115和其它与用户和相关的应用相关联的信息的服务器计算机或多个服务器计算机的形式。如所意识到的,远程计算机110可以存储数据文件113的镜像副本,允许集中化服务协调和辅助多个客户端计算机,例如计算设备101。
还可以意识到,服务器程序模块105可用于辅助在客户端计算机上执行的程序模块,例如在计算设备101上执行的程序模块111。例如,如下文所描述的,程序模块111可以被配置为处理输入图像,并且在该实现方式中,服务器程序模块105可用于辅助这些处理。在这些实现方式中,输入图像文件和用户交互的全部或部分,例如那些通过接口118的输入图像文件和用户交互的全部或部分,可以从计算设备101传送到远程计算机110。例如OCR相关的操作和/或图像处理操作的各种操作可以至少部分地通过服务器程序模块105来执行。在其它的实现方式中,计算设备101还可以充当独立设备。来自这些操作的输出数据可以存储在服务器数据文件115和/或数据文件113中。
图2示出了示例的方案,其图示说明了系统100如何用于提供图表数据的增强识别。如图2所示,计算设备101使用图像捕获设备116来捕获图表数据的图像。如上文所概述的,图表数据可以包括指示一个或多个值的任何图形布置,以生成包含数据表格和/或图表的可编辑数据结构。在该示例性的示例中,图表数据打印在第一页210和第二页212上。如下文将说明的,本文所描述的技术生成包含可以至少部分地基于在一个或多个图像中所描绘的图表数据的数据表格和/或图表的可编辑数据结构。
除了生成包含可以基于一个或多个图像中所描绘的图表数据的数据表格和图表的数据结构之外,本文所提供的技术还提供了在诸如接口118的用户接口上的数据结构的实时的或近实时的显示。如下文更详细说明的,可以具有触摸使能输入特征的接口118可以使用户能够随着图像捕获设备116捕获输入图像而编辑、选择和/或处理所显示的数据。另外,所生成的数据可以保存在文件中,例如数据文件113或服务器数据文件115,和/或所生成的数据可以与其它现有文件的其它数据合并。
现在转到图3,下面示出和描述了用于提供图表数据的增强识别的例程300的各方面。虽然下面的说明涉及涉及显示或打印在介质上的图表数据的处理的示例,应当理解的是,本文所公开的方法的操作可应用于其它形式的布置数据和其它形式的生成的输出。如下文将说明的,不同格式属性、内容、字符布置、图案和其它上下文信息的使用可以识别数据类型。所识别的数据类型和其它因素可用于布置输出数据。
应当理解的是,本文所公开的方法的操作不一定按任何特定的顺序来呈现,而且按可替代的顺序执行一些或全部操作是可能的且被构思。为易于描述和说明,以演示的顺序呈现了操作。可以同时添加、省去和/或执行操作,而不偏离随附权利要求的范围。
还应当理解的是,所图示的方法可以在任何时候结束,而无需全部执行。方法的一些或全部的操作和/或基本上等同的操作,可以通过包含在计算机存储介质上的如下文所定义的计算机可读指令的执行来执行。如在说明书和权利要求书中所使用的术语“计算机可读指令”及其变体在此扩展地用来包含例程、应用、应用模块、程序模块、程序、组件、数据结构、算法等。计算机可读指令可以实现在各种系统配置中,包括单处理器或多处理器系统、微型计算机、主机型计算机、个人计算机、手持式计算设备、基于微处理器的、可编程的消费电子设备、其组合以及类似物。
因此,应当意识到,本文所描述的逻辑操作可以实现为(1)运行于计算系统上的计算机实现的动作或程序模块的序列,和/或(2)实现为计算系统内的互连的机器逻辑电路或电路模块。实现方式是取决于计算系统的性能和其它要求的选择问题。因此,本文所描述的逻辑操作可以多样地称为状态、操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以利用软件、固件、专用数字逻辑及其任意组合来实现。
如下文更详细说明的,结合图8-10,例程300的操作在本文中描述为至少部分地通过例如程序模块111的应用来实现。虽然下面的图示说明提到了程序模块111,应当意识到,例程300的操作还可以通过其它多种方式来实现。例如,例程300可以通过电子表格应用813或任何其它应用(例如,文字处理应用、客户关系管理(CRM)软件等)的使用来实现。另外,例程300的一个或多个操作可以可替代地或者另外地至少部分地由图8的web浏览器应用810或与图9的一个或多个应用服务器908相结合工作的另一应用来实现。
参考图3,例程300开始于操作302,其中程序模块111获得图像。如所意识到的,图像可由图像捕获设备116来捕获或者通过程序模块111利用用于传送和/或捕获图像(本文还称为“输入图像”)的任何其它机制来获得。例如,可以通过拍摄收据、书、有文本/手写体的纸张或能够显示图形和/或文本的任何其它介质的图片来捕获输入图像。除了由例如照相机的图像捕获设备116捕获之外,输入图像可以从例如图片的静像或诸如视频的动像文件中提取。在具体的示例中,输入图像可以包括传达一个或多个值的图表、表格、曲线图和/或任何数据或布置。本文所公开的技术解释图表,以及可能地解释具有一个或多个图形元素的其它布置。图表的图形元素可以是表示或传达值的图像中的任意项。例如,图形元素可以是条形图的条、散点图的点或饼形图的组件。如所能意识到的,图像可以包含手写和/或打印的布置、标记物或数据。
接着,在操作304中,程序模块111确定一个或多个图形元素的值。根据本文所公开的方面,程序模块111可以通过执行一个或多个操作或操作的组合来确定值,以分析图像的方面。在一些方面中,程序模块111可以测量图形元素的尺寸、形状和/或其它方面以确定值(在本文称为“确定值”)。例如,如果图像包含条形图,则程序模块111可以测量一个或多个图形元素的长度或其它尺寸,例如条的长度。程序模块111随后可以基于一个或多个测量来确定一个或多个值。如下文参考图5A-5B更详细说明的,操作304的这些技术可以涉及到分析一个或多个图形元素的各种形状、比例和/或方面以确定一个或多个相关联的值。
除了图形元素的测量之外,或者作为可替代的技术,程序模块111可以通过将光学可识别数据与图形元素相关联且基于光学可识别数据的解释生成值来确定图形元素的值。这些技术可以将一个或多个OCR技术应用于可与图形元素相关联的文本或字符。例如,如果图像包含带有位置靠近各个条的数字的条形图,则特定的数字可以与条相关联且转换成机器可读数据,本文还称为“确定值”。如下文更详细说明的,确定值可在进一步的处理中用来生成数据结构,例如可编辑电子表格。如下文结合图4A和图4B更详细说明的,下面更详细说明用于处理相关联的文本或字符以确定值的各种技术。如下文还将说明的,操作304还可以涉及到解释描述性文本和其它上下文信息以生成可用于例程300的操作的数据。
接着,在操作306中,程序模块111基于一个或多个图形元素和/或图像的其它方面来确定图表类型。根据本文公开的方面,程序模块111可以通过分析一个或多个图形元素的格式、图案、形状、颜色来确定图表类型。例如,如果图像包含具有多个水平定位的线的图表,则程序模块111可以确定图表类型是线形图。在另一示例中,如果图像包含具有切开圆的线的图表,则程序模块111可以确定图表类型是饼形图。如所能意识到的,这些示例仅为了示例的目的而提供,不应解释为限制。特别地,能够意识到,可以其它方式执行各种操作。例如,操作304和306可以相反。在这些实现方式中,图表类型可以首先被确定,然后可以根据图表类型和图形元素来确定具体的值。其它图表类型的另外的细节和示例描述如下且显示在图4A至图6中。
接着,在操作308中,程序模块111可以基于图表类型和/或一个或多个确定值来生成图形图表。在一个示例的实现方式中,程序模块111可以生成存储布置在表格或电子表格内的一个或多个确定值的数据结构。另外,数据结构可以包括配置有代表确定值的图形元素的图表。确定的图表类型可以用于布置图表的方面。例如,图表的布置可以为饼形图、线形图、条形图或其它类型的图表的形式,取决于所确定的图表类型。如所能意识到的,在操作308中生成的任何数据结构可被配置为是例如电子表格应用、操作系统或被配置为读和修改文件的任何其它模块的一个或多个软件模块可编辑的。还可以意识到,在输入图像中所显示的数据不能以与生成的数据结构的数据相同的方式来编辑。这些和其它方面的示例性的示例更详细地描述如下且示出在图5A、图5B和图6中。
在一些实现方式中,操作308还可以使用从图像中解释的其它特性来影响所生成的图形图表。例如,图像中的一个或多个对象的方位、颜色、样式或其它可视特性可用于影响图形图表的外观。例如,如果图像包括带有各国家的金、银和铜奖牌的图表,则所生成的图形图表可以使用那些颜色来描绘奖牌类型,这与用文本标记图形元素不同。在其它非限制的示例中,实现方式可使用在输入图像中所显示的图表的方位来以类似的方式对生成的图形图表定向。
一旦程序模块111生成图形图表和/或包含确定值和图形图表的数据结构,则例程300在操作310处继续,其中程序模块111可以将图形图表显示在计算设备101的接口118上。一旦显示出,计算设备101的用户可与图形图表和确定值交互。如下文更详细说明的,计算设备101和程序模块111可被配置为允许用户编辑、保存、处理和/或传达图形图表和确定值。这些和其它方面的示例性的示例更详细地描述如下且示出在图4A至图7B中。
为了示例的目的,图2、图4A、图4B、图5A和图5B提供了用于提供图表数据的增强识别的技术的示例性的示例。具体地,图4A和图4B的示例应用于例程300以示出第一布置202A和第二布置202B(下文统称为和/或一般地称为“布置202”)的图像如何可以被解释以生成被配置在将可编辑图表显示在计算设备的接口118上的数据结构。具体地,图4A示出了具有描述性文本406的第一图像150A、额外的数据408和第一布置202A,在该示例中第一布置202A是条形图的形式。本文所公开的示例性的示例示出了第一图像150A如何被处理以生成图4B的可编辑图表601A和生成的图表602A。
图5A示出了第二布置202B的第二图像150B,在该示例中第二布置202B是饼形图的形式。本文公开的示例性的示例示出了第二图像150B如何被处理以生成图5B的可编辑表格601B和生成的图表602B。为示例性的目的,第一图像150A和第二图像150B在下文统称为和/或一般地称为“图像150”或“输入图像150”。另外,图6和图7A-7B示出了如何利用诸如触摸使能姿势的各种形式的输入来修改和处理所生成的数据和生成的图表的示例。
图2的透视图示出了例程300的操作302如何通过在介质处引导计算设备101的图像捕获设备116来用于捕获图像,例如第一页210。例如,如果图像捕获设备116被引导至第一页210,则如图4A所示的第一图像150A可由计算设备101捕获。如图所示,第一图像150A包括第一布置202A、描述性文本406和其它数据408。在另一实例中,如果图像捕获设备116被引导到第二页212,则可以捕获第二图像150B。图5A提供了第二图像150B的示例说明。如图所示,第二图像150B包含第二布置202B和描述性文本506。
接着,在将例程300的操作304应用于本示例时,程序模块111使用一种或多种技术来确定图像中所显示的图形元素的值。如上文所概述的,确定值可利用一种或多种技术来生成。在一种技术中,程序模块111可以测量图形元素的尺寸、形状和/或其它方面来确定值。在将该技术应用于图4A所示的示例中时,程序模块111可以识别图形元素。如所能意识到的,图形元素可以包括可用于传达值的线、点、条或任何其它图形特征。在图形元素的识别中,程序模块111可以检查图像且识别可以是线、条、点等的部分的图案或形状。
在图4A的示例中,例如,程序模块111可以识别一系列平行条且识别条为图形元素。在其它的技术中,可以从线形图表的一系列线中识别出单条线。在其它的技术中,可以通过检查各个标记物、图案、文本和/或上下文信息来识别其它的形状、点或标记物,其中一些可利用一个或多个OCR技术来解释,例如本文所公开的OCR技术。
为识别值,程序模块111可以测量条的长度以确定与每个图形元素相关联的值。测量可利用从图像中解释的其它信息来处理。例如,因为“NORWAY”上方的条具有与指示从零“0”到五“5”的范围的文本对齐的长度,所以与条相关联的值可以接收值5。因为图形元素例如测量的条与文本“NORWAY”对齐,则程序模块111可以构成图形元素与文本之间的关联。另外,程序模块可以将图形元素和文本与值相关联,并且将这些数据存储在数据结构中。
同样可以使用其它的近似方法。例如,如果在图像中没有提供例如从零“0”到五“5”的范围的值,则程序模块111可以基于条的长度的测量来生成数字,并且通过上下文信息或其它信息的解释(其可以包含访问远程资源或提示用户提供这些信息)来获得量级的单位或阶次。任何用于从图形元素中取得值的方法在公开的范围之内。
还应当意识到,可使用任何单一技术或技术的组合来确定与图形元素相关联的值。例如,可以测量线、条或其它图形元素来获得一个或多个值。一个或多个值还会受在图形元素上或附近或者与图形元素相关联的光学可识别字符所影响。另外,光学可识别字符可用于确定一个或多个值,而不测量图形元素。
参考图5A的示例的饼形图,可以通过检查一个或多个图形元素和/或与图像相关联的其它信息来确定值。在涉及到具有非线性元素的图表(例如,饼形图)的示例中,程序模块111可以测量一个或多个图形元素的相对比例,例如圆的部分,以确定一个或多个值。在处理图5A的第二图像150B时,例如,饼的每个部分可被识别为单独的图形元素,并且每个图形元素可以与从图像的文本所解释的标签相关联。例如,饼形图的各个部分可以被识别为图形元素,并且每个部分可以与元数据Mike、Tony、Bill和Fred相关联。
每个图形元素的确定值可基于表面积的测量、与每个图形元素相关联的周长的测量、和/或与所描绘的图表相关联的其它线或标记物。这些测量可以产生用于每个图形元素的值,例如,被标记为Mike的图形元素可以与确定值“31%”相关联,因为相关联的图形元素占饼形图的表面积的近似31%。确定值连同其它的关联数据(例如在图形元素附近的文本和/或与图形元素对齐的文本)一起可以存储在数据结构中,例如存储在数据文件113中。
在确定每个图形元素的值的过程中,程序模块111还可以识别与图形元素相关联的单位。在该过程中,程序模块111可以检查图像150A的方面以确定或识别单位。例如,程序模块111可以识别文本或其它上下文信息以确定单位,例如英寸、美元、米等。在图4A的示例中,描述性文本406可用于确定单位。在该示例中,因为描述性文本406陈述了“数百万的人口”,所以单位可以表征为以“数百万”计的“人口”。该单位可与确定值相关联且存储在数据结构中。如所能意识到的,一个或多个单位的确定可以涉及到各种标记物、图案、文本和/或上下文信息的检查,其中一些可利用一种或多种OCR技术(例如,本文所公开的OCR技术)来解释。
如所能意识到的,这些示例为了示例的目的而提供,并且不应解释为限制,因为任何上下文信息,甚至是远程存储的信息,可用于解释图像的单位或其它方面。还如能意识到的,确定值与单位之间的关联可以基于图像的一个或多个方面。例如,位置靠近某些图形元素和/或与某些图形元素对齐的文本可被解释以确定在图形元素、确定值与单位之间构成的一个或多个关联。另外,可使用其它上下文信息来确定和/或关联单位。
除了使用测量图形元素的技术之外或者作为使用测量图形元素的技术的替代的方法,本文的技术还可以使用OCR技术来确定与图形元素相关联的一个或多个值。在这些技术中,当在图像中提供光学可识别数据时,光学可识别数据可被解释且用于确定一个或多个值。另外,图像和光学可识别数据的方面可用于将确定值与一个或多个图形元素相关联。
在图4A的示例中,第一图像150A包含光学可识别数据,在该示例中,该光学可识别数据是数据表格408。例如,数据表格408示出了与国家标题图形对齐的值。通过使用一种或多种OCR技术,程序模块111可分析第一图像150A的文本和其它方面来确定一个或多个值。例如,程序模块111可使用一个或多个字符的位置、格式、对齐和/或图案来确定一个或多个值。在图4A的示例的数据表格408中,数字“5,124,000”可被存储为与文本“NORWAY”相关联的值,并且数字“4,593,000”可以被存储为与文本“IRELAND”相关联的值,等等。如下文更详细说明的,确定值可以存储在数据结构中,例如,存储在数据文件113中,并且用来生成一个或多个可编辑的图形图表。
在本文所描述的技术和示例是为了示例的目的而提供,而不应解释为限制。如所能意识到的,用于确定一个或多个值的技术可使用光学可识别数据、图形元素的测量或者这些和其它信息的组合。
接着,在将操作308应用于本示例时,程序模块111可以基于图表类型和/或一个或多个确定值来生成一个或多个图形图表。图4B示出了为条形图的形式的生成的图表602A的示例。图4B所示的示例基于通过图4A所描绘的第一布置202A、描述性文本406和其它数据408的处理所确定的确定值和图表类型。另外,为了示例的目的,确定值还可以布置在可编辑表格601A中。如所能意识到的,确定值和其它的信息(例如,报头)可存储在该可编辑数据结构中,并且进一步用于生成一个或多个图表。如下文更详细说明的,生成的图表602A、确定值和显示在计算设备101的接口118上的其它信息可允许用户与生成的数据交互且处理生成的数据。
图5B示出了为饼形图的形式的生成的图表602B的示例。图5B中所示的示例基于通过图5A中所描绘的第二布置202B和描述性文本506的处理所确定的确定值和图表类型。另外,为了示例的目的,确定值还可以布置在可编辑表格601B中。如所能意识到的,确定值和其它信息(诸如报头)可以存储在该可编辑数据结构中,并且进一步用于生成一个或多个图表,例如生成的图表602B。如下文更详细说明的,生成的图表602B、确定值和显示在计算设备101的接口118上的其它信息可允许用户与生成的数据交互且处理生成的数据。
如上文所概述的,本文公开的技术和工艺允许将触摸使能姿势应用于生成的数据结构。例如,触摸使能姿势允许用户修改、保存或以其它方式处理数据结构。图6示出了使用户能够将触摸使能控件应用于生成的图表602B和可编辑表格601B的计算设备101的接口118。如图所示,用户可以调用例如菜单605的控件的显示,该控件可以具有操纵和处理数据的一个或多个机制。在图6的示例性的示例中,菜单605允许修改图表类型。如图所示,可以将图表类型修改成基于可编辑表格601B中的确定值的线形图、条形图或另一图表类型。如所能意识到的,如果用户选择新的图表类型,例如条形图,则可编辑表格601B的数据可用于生成显示在接口118上的条形图。如果用户选择“其它”菜单项,则另一菜单可以出现,提供更宽广范围的图表类型。
在其它的示例中,菜单605可以被配置成提供其它的命令和/或输入形式。例如,在一些方案中,图表类型可以不利用本文所描述的技术来确定。在这些方案中,菜单605可用于提供图表类型和/或任何其它期望的输入。
图7A和图7B示出了触摸使能姿势如何可用于修改数据结构的另一示例。如图7A所示,生成的图表602B包含了对应于可编辑表格601B的数据的图形元素。例如,被标记为“Tony”的图形元素对应于值“24%”,被标记为“Bill”的图形元素对应于值“22%”,等等。程序模块111可被配置成通过允许用户触碰特定的区域(例如,圆的外边和切开线之一的交叉处)来接收修改生成的图表602B和可编辑表格601B的命令。如果用户触碰这些区域之一,则视觉指示符701可以出现以指示选择。程序模块111可被配置成允许用户通过移动切开线来修改生成的图表602B和可编辑表格601B。
图7B示出了基于图7A中所示的用户控件的应用的修改的图表602C和修改的可编辑表格601C的一个示例。如图所示,用户可以在一个或多个方向上移动生成的图表602B的选定的交叉处,该选定的交叉处是由视觉指示符701突出显示的。在该示例中,用户已经沿顺时针方向移动了生成的图表602B的交叉处。该移动允许程序模块111改变任何所显示的图表以及对应的数据的外观和感觉。如图所示,修改的图表602C现在示出了被标记为“Tony”的图形元素较大,并且相关联的图形元素的对应的数据现在是“32%”。另外,被标记为“Bill”的图形元素较小,并且相关联的图形元素的对应的数据现在是“14%”。
如所能意识到的,上文所示的示例是为了示例的目的而提供,不应解释为限制。虽然本文提供的示例将修改应用于饼形图,能够意识到,可以对线形图的线、条形图的条、散点图的点或另一图表类型的任何其它图形元素做出其它的修改。还能够意识到,可以配置控件和菜单以允许其它功能。例如,所显示的菜单,例如菜单605,可用于对数据结构的数据进行排序、过滤和搜索。能够意识到,这种触摸使能的控件可以涉及到用于操纵、处理、发送或保存数据结构的数据的任意功能。
在其它的实现方式中,其它的触摸使能控件可以不涉及到菜单的使用。例如,用户可以能够通过触摸特定单元且执行一个或多个姿势来选择、移除、处理或以其它方式编辑该特定单元的数据。在一个示例性的示例中,用户可以通过轻敲于期望的单元上而选择一个或多个单元。然后,用户可以通过沿特定方向“弹开”单元来删除单元。同样适用于图表的图形元素。用户可以通过轻敲期望的图形元素而选择图形元素。然后,用户可以通过使用“弹开”运动来删除该图形元素。同样可使用其它形式的输入来修改或处理表格601的数据。例如,可以通过使用语音命令、加速度计所采集的运动命令和/或图像捕获设备116所捕获的姿势来处理、保存、改变或添加数据。虽然这些示例为了示例的目的而提供,但是这些示例不应解释为限制。
图8示出了能够执行如本文所描述的用于提供图表数据的增强识别的程序组件的计算机(例如,计算设备101(图1))的示例性的计算机体系结构800的附加的细节。因此,图8所示的计算机体系结构800图示出服务器计算机、移动电话、PDA、智能电话、台式计算机、上网本计算机、平板式计算机和/或膝上型计算机的体系结构。计算机体系结构800可用于执行本文呈现的软件组件的任意方面。
图8所示的计算机体系结构800包括中央处理器802(“CPU”)、包括随机存取存储器806(“RAM”)和只读存储器(“ROM”)808的系统存储器804以及将存储器804与CPU 802耦合的系统总线810。包含了例如在启动期间帮助在计算机体系结构800内的元件之间传输信息的基本例程的基本输入/输出系统存储在ROM 808中。计算机体系结构800还包括大容量存储设备812,其用于存储操作系统807以及包括但不限于电子表格应用813、程序模块111和web浏览器应用810的一个或多个应用程序。图示的大容量存储设备812还可以存储文件811,文件811可以是电子表格文件或被配置为存储表格或电子表格或图表的文件。
大容量存储设备812通过与总线810连接的大容量存储控制器(未示出)来与CPU802连接。大容量存储设备812及其相关联的计算机可读介质提供了用于计算机体系结构800的非易失性存储。虽然在本文所包含的计算机可读介质的描述是指大容量存储设备,如固态驱动器、硬盘或CD-ROM驱动器,本领域技术人员应当意识到计算机可读介质可以是能够由计算机体系结构800访问的任何可用的计算机存储介质或通信介质。
通信介质可包括计算机可读指令、数据结构、程序模块、或调制数据信号中的其它数据如载波或其他传输机制,并且包括任何输送介质。术语“调制数据信号”是指其特性中的一个或多个以将信息编码到信号中的方式进行设定或改变的信号。通过示例而不是限制的方式,通信介质可以包括诸如有线网或直接有线连接的有线介质以及诸如声波、RF、红外和其他无线介质的无线介质。上述任意的组合也应当包含在计算机可读介质的范围内。
通过举例而不是限制的方式,计算机存储介质可以包括以用于诸如计算机可读指令、数据结构、程序模块或其它数据的信息的存储的任何方法或技术实现的易失性和非易失性的、可移除和非可移除的介质。例如,计算机介质包括但不限于RAM、ROM、EPROM、EEPROM、闪速存储器或其它固态存储器技术、CD-ROM、数字多功能盘(“DVD”)、HD-DVD、BLU-RAY或其它光学存储、磁盒、磁带、磁盘存储或其它磁存储设备、或者能够用于存储所需的信息且能够由计算机体系结构800访问的任何其它介质。为了权利要求的目的,短语“计算机存储介质”或“计算机可读存储介质”及其变化形式本身不包含波、信号和/或其它暂态的和/或无形的通信介质。
根据各个配置,计算机体系结构800可以通过网络1056和/或另一网络(未示出)到远程计算机的逻辑连接而操作于网络环境中。计算机体系结构800可以通过与总线810连接的网络接口单元814而连接到网络1056。应当意识到,网络接口单元814可以用来连接到其它类型的网络以及远程计算机系统。计算机体系结构800还可以包括用于接收和处理来自包括键盘、鼠标或电子指示笔(图8中未示出)的多个其它设备的输入的输入/输出控制器816。类似地,输入/输出控制器816可以提供输出给显示屏、打印机或其它类型的输出设备(图8中未示出)。
应当意识到,本文所描述的软件组件在装载到CPU 802中且执行时可以将CPU 802和整个计算机体系结构800从通用计算系统变换成经定制而促进本文呈现的功能的专用计算系统。CPU 802可以由任意数量的晶体管或其它离散电路元件构成,这些晶体管和离散电路元件可以单独地或者统一地呈现任意数量的状态。更具体地,CPU 802可以响应于包含在本文公开的软件模块内的可执行指令而作为有限状态机来操作。这些计算机可执行指令可以通过规定CPU 802如何在状态之间转变而变换CPU 802,从而变换构成CPU 802的晶体管或其它离散硬件元件。
对本文呈现的软件模块编码可以变换本文呈现的计算机可读介质的物理结构。在本说明书的不同的实现方式中,物理结构的具体的变换可以取决于各种因素。这些因素的示例可以包括但不限于用来实现计算机可读介质的技术,计算机可读介质是表征为主存储还是辅存储,等等。例如,如果计算机可读介质实现为基于半导体的存储器,则本文公开的软件可以通过变换半导体存储器的物理状态而编码到计算机可读介质上。例如,软件可以变换构成半导体存储器的晶体管、电容器、或其它离散电路元件的状态。软件还可以变换这些组件的物理状态从而在其中存储数据。
作为另一示例,本文所公开的计算机可读介质可以利用磁或光技术来实现。在这些实现方式中,当本文所呈现的软件编码到磁或光介质中时,本文所呈现的软件可以变换磁或光介质的物理状态。这些变换可以包括改变在既定磁介质内的特定位置的磁特性。这些变换还可以包括改变在给定的光介质内的特定位置的物理特征或特性,以改变那些位置的光学特性。物理介质的其它变换是可能的,不偏离本说明书的范围,提供了上述示例仅为了利于该论述。
根据上述,应当意识到,许多类型的物理变换可以发生在计算机体系结构800内从而存储和执行本文呈现的软件组件。还应当意识到,计算机体系结构800可以包括其它类型的计算设备,包括手持式计算机、嵌入式计算机系统、个人数字助理以及本领域技术人员所知的其它类型的计算设备。还可想到,计算机体系结构800可以不包括图8所示的全部组件,可以包括图8中未明确示出的其它组件,或者可以使用完全不同于图8所示的体系结构。
图9描绘了能够执行本文所述的用于提供图表数据的增强识别以及其它方面的软件组件的示例性的分布式计算环境900。因此,图9所示的分布式计算环境900能够用于执行本文呈现的软件组件的任意方面。例如,分布式计算环境900可用于执行电子表格应用813、程序模块111和/或本文所述的其它软件组件的方面。
根据各个实现方式,分布式计算环境900包括操作于网络904上、与网络904通信或者作为网络904的部分而操作的计算环境902。网络904可以是或者可以包括网络1056,如上文参考图8所说明的。网络904还可以包括各种接入网络。一个或多个客户端设备906A-906N(下文统一地和/或一般地称为“客户端906”)能够经由网络904和/或其它连接(图9中未示出)与计算环境902通信。在一个图示的配置中,客户端906包括计算设备906A,诸如膝上型计算机、台式计算机或其它计算设备;片式或平板式计算设备(“平板计算设备”)906B;移动计算设备906C,如移动电话、智能手机或其它移动计算设备;服务器计算机906D;和/或其它设备906N。应当理解的是,任意数量的客户端906能够与计算环境902通信。本文参考图8和图10描述了和图示出客户端906的两个示例的计算体系结构。应当理解的是,图示的客户端906和本文所图示和描述的计算体系结构是示例性的,而不应解释为以任何方式限制。
在图示的配置中,计算环境902包括应用服务器908、数据存储910以及一个或多个网络接口912。根据各个实现方式,应用服务器908的功能可以由作为网络904的部分执行或者与网络904通信的一个或多个服务器计算机来提供。应用服务器908能够托管各种服务、虚拟机、入口和/或其它资源。在图示的配置中,应用服务器908托管了用于托管应用或其它功能的一个或多个虚拟机914。根据各个实现方式,虚拟机914托管了用于提供图表数据的增强识别的一个或多个应用和/或软件模块。应当理解的是,该配置是示例性的,而不应解释为以任何方式限制。应用服务器908还托管或提供对一个或多个入口、链接页面、Web站点和/或其它信息(“Web入口”)916的接入。
根据各个实现方式,应用服务器908还包括一个或多个邮箱服务918和一个或多个消息传递服务920。邮箱服务918可以包括电子邮件(“email”)服务。邮箱服务918还可以包括各种个人信息管理(“PIM”)服务,包括但不限于日历服务、通讯录管理服务、协作服务和/或其它服务。消息传递服务920可以包括但不限于即时消息传递服务、聊天服务、论坛服务和/或其它通信服务。
应用服务器908还可以包括一个或多个社交网络服务922。社交网络服务922可以包括各种社交网络服务,包含但不限于用于共享或张贴状态更新、即时消息、链接、照片、视频和/或其它信息的服务;用于评论或显示对文章、产品、博客或其它资源的兴趣的服务;和/或其它服务。在一些配置中,社交网络服务922由如下提供或包含如下:FACEBOOK社交网络服务,LINKEDIN职业网络服务,MYSPACE社交网络服务,FOURSQUARE地理联网服务,YAMMER办公同事联网服务,等等。在其它配置中,社交网络服务922由其它可能或可能没有明确地表明为社交网络提供商的服务、站点和/或提供商来提供。例如,一些网站允许用户在各种活动和/或背景下经由电子邮件、聊天服务和/或其它手段彼此交互,例如,阅读出版物,评论商品或服务,发布,协作,游戏等。这些服务的示例包括但不限于来自华盛顿埃德蒙顿的微软公司的WINDOWS LIVE服务和XBOX LIVE服务。其它服务是可能的且可想到。
社交网络服务922还可以包括评论、发博客和/或微博服务。这些服务的示例包括但不限于,YELP评论服务、KUDZU审阅服务、OFFICETALK企业微博服务、TWITTER消息传递服务、GOOGLE BUZZ服务和/或其它服务。应当意识到,上述服务列表不是穷尽的,而且为了简要起见在此没有提到过多的附加的和/或可替代的社交网络服务922。因此,上述配置是示例性的,而不应解释为以任何方式进行限制。根据各个实现方式,社交网络服务922可以托管用于提供本文所述的用于提供图表数据的增强识别的功能的一个或多个应用和/或软件模块。例如,应用服务器908中的任意一个可以传送或利于本文所述的功能和特征。例如,运行于电话或任何其它客户端906上的社交网络应用、邮箱客户端、消息传递客户端或浏览器可以与联网服务922通信且促进上文结合图3所描述的功能(即使是部分地)。
如图9所示,应用服务器908还能够托管其它服务、应用、入口和/或其它资源(“其它资源”)924。其它资源924可以包括但不限于OCR或电子表格显示功能。因此,应当意识到计算环境902能够提供本文所提供的公开的概念和技术与各种邮箱、消息传递、社交网络和/或其它服务或资源的集成。
如上所述,计算环境902可以包括数据存储910。根据各个实现方式,数据存储910的功能由操作于网络904上或者与网络904通信的一个或多个数据库来提供。数据存储910的功能还能够由被配置成托管用于计算环境902的数据的一个或多个服务器计算机来提供。数据存储910可以包括、托管或提供一个或多个真实的或虚拟的数据仓库926A-926N(下文统一地和/或一般地称为“数据仓库926”)。数据仓库926被配置成托管由应用服务器908所使用或创建的数据和/或其它数据。虽然图9中未示出,数据仓库926还能够托管或存储电子表格文档、数据结构、推荐引擎执行的算法、和/或电子表格应用程序或另一模块(例如,程序模块111)所使用的其它数据。数据仓库926的方面可以与例如ONEDRIVE、DROPBOX或GOOGLEDRIVE的服务相关联。
计算环境902能够与网络接口912通信或者由网络接口912访问。网络接口912可以包括用于支持包括但不限于客户端906和应用服务器908在内的两个或更多个计算设备之间的通信的各种类型的网络硬件和软件。应当意识到,网络接口912还可以用来连接到其它类型的网络和/或计算机系统。
应当理解的是,本文所描述的分布式计算环境900能够为本文所描述的软件元件的任意方面提供能够被配置成执行本文公开的软件组件的任意方面的任意数量的虚拟计算资源和/或其它分布式计算功能。根据本文公开的概念和技术的各个实现方式,分布式计算环境900提供了在本文描述为服务的软件功能给客户端906。应当理解的是,客户端906可以包括真实的或虚拟的机器,包括但不限于服务器计算机、web服务器、个人计算机、移动计算设备、智能手机和/或其它设备。因此,本文所公开的概念和技术的各种配置使得被配置成访问分布式计算环境900的任何设备能够使用本文所描述的用于提供图表数据的增强识别以及其它方面的功能。在一个具体的示例中,如上文所概述的,本文所述的技术可以至少部分地通过与图9的应用服务器908相结合工作的图8的web浏览器应用810来实现。
现在转到图10,能够执行本文所描述的用于提供图表数据的增强识别的各种软件组件的计算设备的示例性的计算设备体系结构1000。计算设备体系结构1000能应用于部分地由于形状因数、无线连接能力和/或电池供电操作而促进移动计算的计算设备。在一些配置中,计算设备包括但不限于移动电话、平板式设备、片式设备、便携式视频游戏设备等。计算设备体系结构1000能应用于图9所示的客户端906中的任意客户端。此外,计算设备体系结构1000的方面可以能应用于传统的台式计算机、便携式计算机(例如,膝上型设备、笔记本设备、超级便携式设备和上网本)、服务器计算机和其它计算机系统,如本文参考图8所描述的。例如,下文所公开的单触摸和多触摸方面可应用到使用触摸屏的台式计算机或某种其它触摸使能设备,诸如触摸使能跟踪垫或触摸使能鼠标。
图10所示的计算设备体系结构1000包括处理器1002、存储器组件1004、网络连接组件1006、传感器组件1008、输入/输出组件1010和电力组件1012。在图示的配置中,处理器1002与存储器组件1004、网络连接组件1006、传感器组件1008、输入/输出(“I/O”)组件1010和电力组件1012通信。虽然没有示出图10所示的各个组件之间的连接,组件能够交互而实施设备功能。在一些配置中,组件被配置成经由一个或多个总线(未示出)通信。
处理器1002包括中央处理器(“CPU”),其被配置成处理数据,执行一个或多个应用程序的计算机可执行指令,并且与计算设备体系结构1000的其它组件通信从而实施本文所描述的各种功能。处理器1002可以用来执行本文所呈现的软件组件的方面,尤其是那些至少部分地使用触摸使能输入的方面。
在一些配置中,处理器1002包括图形处理单元(“GPU”),其被配置成加速CPU所执行的操作,包括但不限于,通过执行通用科学和/或工程计算应用所实施的操作,以及诸如高分辨率视频(例如,720P,1080P和更大分辨率)、视频游戏、三维(“3D”)建模应用等图形密集计算应用。在一些配置中,处理器1002被配置成与分立的GPU(未示出)通信。在任何情况下,CPU和GPU可以依照协同处理的CPU/GPU计算模型来配置,其中应用的顺序的部分在CPU上执行,计算密集部分由GPU来加速。
在一些配置中,连同下文所描述的其它一个或多个组件一起,处理器1002是片上系统(“SoC”)或者包含在SoC中。例如,SoC可以包括处理器1002、GPU、网络连接组件1006中的一个或多个以及传感器组件1008中的一个或多个。在一些配置中,处理器1002部分地利用封装上封装“PoP”集成电路封装技术来制作。处理器1002可以是单核或多核处理器。
处理器1002可以依照自英国剑桥的ARM HOLDINGS许可使用的ARM体系结构来产生。可替代地,处理器1002可依照x86体系结构来产生,例如可从加利福尼亚山景城的因特尔公司以及其它获得。在一些配置中,处理器1002是可从加利福尼亚的圣地牙哥的QUALCOMM得到的SNAPDRAGON SoC、可从加利福尼亚的圣塔克拉拉的NVIDIA得到的TEGRASoC、可从韩国首尔的三星公司得到的HUMMINGBIRD SoC、可从德克萨斯州的达拉斯的德州仪器得到的Open Multimedia Application Platform("OMAP")SoC、上述SoC中的任一个的定制版本或专有SoC。
存储器组件1004包括随机存取存储器(“RAM”)1014、只读存储器(“ROM”)1016、集成存储存储器(“集成存储”)1018和可移除存储存储器(“可移除存储”)1020。在一些配置中,RAM 1014或其部分、ROM 1016或其部分和/或RAM 1014和ROM 1016的某种组合集成到处理器1002中。在一些配置中,ROM 1016被配置成存储固件、操作系统或其部分(例如,操作系统核)和/或从集成存储1018或可移除存储1020装载操作系统核的引导加载程序。
集成存储1018可以包括固态存储器、硬盘或固态存储器和硬盘的组合。集成存储1018可以钎焊到或以其它方式连接到逻辑板上,处理器1002以及本文所描述的其它组件也可以连接到该逻辑板上。因此,集成存储1018集成到计算设备中。集成存储1018被配置成存储本文所描述的操作系统或其部分、应用程序、数据和其它软件组件。
可移除存储1020可以包括固态存储器、硬盘或固态存储器和硬盘的组合。在一些配置中,可移除存储1020被提供以取代集成存储1018。在其它配置中,可移除存储1020被提供作为附加的可选存储。在一些配置中,可移除存储1020与集成存储1018逻辑地组合而使得总可用存储可用作为总组合存储容量。在一些配置中,向用户显示集成存储1018和可移除存储1020的总组合容量,而不是集成存储1018和可移除存储1020的单独的存储容量。
可移除存储1020被配置成插入可移除存储存储器槽(未示出)或其它机构,可移除存储1020插入可移除存储存储器槽或其它机构且紧固到其上以利于可移除存储1020能够借以与诸如处理器1002的计算设备的其它组件通信的连接。可移除存储1020可以嵌入各种存储器卡格式中,包括但不限于,PC卡、CompactFlash卡、记忆棒、安全数字(“SD”)、迷你SD(miniSD)、微型SD(microSD)、通用集成电路卡(“UICC”)(例如,订户身份识别模块(“SIM”)或通用SIM(“USIM”))、专有形式,等等。
可以理解的是,一个或多个存储器组件1004能够存储操作系统。根据各个配置,操作系统包括但不限于来自塞班公司的SYMBIAN OS、来自华盛顿雷德蒙顿的微软公司的WINDOWS MOBILE OS、来自微软公司的WINDOWS PHONE OS、来自微软公司的WINDOWS、来自加利福尼亚的帕罗奥图的惠普公司的PALM WEBOS、来自加拿大多伦多的Research in MotionLimited of Waterloo的BLACKBERRY OS、来自加利福尼亚的库比蒂诺的苹果公司的IOS以及来自加利福尼亚的山景城的谷歌公司的ANDROID OS。可想到其它操作系统。
网络连接组件1006包括无线广域网组件(“WWAN组件”)1022、无线局域网组件(“WLAN组件”)1024以及无线个域网组件(“WPAN组件”)1026。网络连接组件1006利于与网络1056或另一网络之间的通信,网络可以是WWAN、WLAN或WPAN。虽然仅示出了网络1056,但是网络连接组件1006可促进与多个网络的同时通信,包括图9的网络904。例如,网络连接组件1006可以促进经由WWAN、WLAN或WPAN中的一个或多个与多个网络同时通信。
网络1056可以是或可以包括WWAN,诸如使用一个或多个移动远程通信技术来经由WWAN组件1022提供语音和/或数据服务给使用计算设备体系结构1000的计算设备的移动远程通信网络。移动远程通信技术可以包括但不限于全球移动通信系统(“GSM”)、码分多址(“CDMA”)ONE、CDMA2000、通用移动远程通信系统(“UMTS”)、长期演进(“LTE”)和世界微波接入互操作(“WiMAX”)。而且,网络1056可以使用各种信道接入方法(其可以或者可以不由上述标准来使用),包括但不限于,时分多址(“TDMA”)、频分多址(“FDMA”)、CDMA、宽带CDMA(“W-CDMA”)、正交频分多路复用(“OFDM”)、空间分多址(“SDMA”)和类似方法。数据通信可以利用如下来提供:通用分组无线电服务(“GPRS”)、全局演进增强数据率(“EDGE”)、高速分组接入(“HSPA”)协议系列(包括高速下行链路分组接入(“HSDPA”)、增强上行链路(“EUL”)或另外称为高速上行链路分组接入(“HSUPA”)、演进的HSPA(“HSPA+”))、LTE、以及其它各种当前和未来的无线数据访问标准。网络104可被配置成利用上述技术的任意组合来提供语音和/或数据通信。网络1056可被配置成或适于依照未来代的技术来提供语音和/或数据通信。
在一些配置中,WWAN组件1022被配置成提供到网络1056的双重多模式连接。例如,WWAN组件1022可以被配置成提供到网络1056的连接,其中网络1056经由GSM和UMTS技术来提供服务,或者经由技术的某种其它组合。可替代地,多个WWAN组件1022可用来实施该功能,和/或提供附加功能来支持其它非兼容技术(即,不能得到单个WWAN组件支持)。WWAN组件1022可促进到多个网络(例如,UMTS网络和LTE网络)的类似的连接。
网络1056可以是依照一个或多个电气与电子工程师协会(“IEEE”)802.11标准而操作的WLAN,诸如IEEE 802.11a、802.11b、802.11g、802.11n和/或未来的802.11标准(在本文统称为WI-FI)。还可以想到草稿802.11标准。在一些配置中,WLAN利用一个或多个无线WI-FI接入点来实现。在一些配置中,无线WI-FI接入点中的一个或多个是能够与WWAN连接的、充当WI-FI热点的另一计算设备。WLAN组件1024被配置成经由WI-FI接入点与网络1056连接。这些连接可经由各种加密技术来确保,加密技术包括但不限于WI-FI保护接入(“WPA”)、WPA2、有线等价隐私(“WEP”)和类似技术。
网络1056可以是依照红外数据联盟(“IrDA”)、BLUETOOTH、无线通用串行总线(“USB”)、Z-Wave、ZIGBEE或某其它短程无线技术来操作的WPAN。在一些配置中,WPAN组件1026被配置成促进与诸如外围设备、计算机或其它计算设备的其它设备经由WPAN的通信。
传感器组件1008包括磁力计1028、环境光传感器1030、接近传感器1032、加速度计1034、陀螺仪1036和全球定位系统传感器(“GPS传感器”)1038。可想到,诸如但不限于温度传感器或震动检测传感器的其它传感器也可以包含在计算设备体系结构1000中。
磁力计1028可以被配置成测量磁场的强度和方向。在一些配置中,磁力计1028提供测量给存储在存储器组件1004中的一个内的罗盘应用程序从而为用户提供参考系内的精确的方向,包括主要方向,北、南、东和西。可以对包括罗盘组件的导航应用程序提供类似的测量。可想到通过磁力计1028所获得的测量的其它用途。
环境光传感器1030被配置成测量环境光。在一些配置中,环境光传感器1030提供测量给存储在一个存储器组件1004内的应用程序从而自动地调节显示器(下面所述)的亮度从而补偿低光照环境和高光照环境。可想到通过环境光传感器1030所获得的测量的其它用途。
接近传感器1032被配置成在不直接接触的情况下检测靠近计算设备的物体或事物的存在。在一些配置中,接近传感器1032检测用户的身体(例如,用户的面部)的存在且提供该信息给存储在存储器组件1004中的一个内的、使用接近信息来使能或禁用计算设备的某功能的应用程序。例如,电话应用程序可以响应于接收到接近信息而自动禁用触摸屏(下面说明),使得用户的面部不会在通话期间不利地结束通话或使能/禁用电话应用程序内的其它功能。可想到接近传感器1032所检测到的接近的其它用途。
加速度计1034被配置成测量正确的加速度。在一些配置中,来自加速度计1034的输出由应用程序用作控制应用程序的某功能的输入机制。例如,应用程序可以是视频游戏,其中人物、其部分或对象响应于经由加速度计1034接收到的输入而移动或以其它方式被操纵。在一些配置中,来自加速度计1034的输出提供给应用程序以便用于在横向模式与纵向模式之间切换,计算坐标加速度,或者检测落差。可以想到加速度计1034的其它用途。
陀螺仪1036被配置成测量和维持方位。在一些配置中,来自陀螺仪1036的输出由应用程序用作控制应用程序的某功能的输入机制。例如,陀螺仪1036能够用于视频游戏应用或某其它应用的3D环境内的移动的精确识别。在一些配置中,应用程序使用来自陀螺仪1036和加速度计1034的输出来增强应用程序的某种功能的控制。可想到陀螺仪1036的其它用途。
GPS传感器1038被配置成接收来自GPS卫星的信号以用于计算位置。通过GPS传感器1038计算的位置可由需要或受益于位置信息的任何应用程序使用。例如,通过GPS传感器1038计算的位置可用于导航应用程序以提供从该位置到目的地的方向或者从目的地到该位置的方向。而且,GPS传感器1038可以用于将位置信息提供给基于外部位置的服务,诸如E911服务。GPS传感器1038可以使用网络连接组件1006中的一个或多个获得经由WI-FI、WIMAX和/或蜂窝三角测量技术所生成的位置信息以辅助GPS传感器1038获得位置锁定。GPS传感器1038还可用于辅助GPS(“A-GPS”)系统。
I/O组件1010包括显示器1040、触摸屏1042、数据I/O接口组件(“数据I/O”)1044、音频I/O接口组件(“音频I/O”)1046、视频I/O接口组件(“视频I/O”)1048和照相机1050。在一些配置中,显示器1040和触摸屏1042组合。在一些配置中,数据I/O组件1044、音频I/O组件1046和视频I/O组件1048中的两个或更多个被组合。I/O组件1010可以包括被配置为支持下面所描述的各种接口的分立的处理器,或者可以包括内置于处理器1002中的处理功能。
显示器1040是被配置成以视觉形式呈现信息的输出设备。特别地,显示器1040可以呈现图形用户接口(“GUI”)元件、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息传递数据、因特网内容、设备状况、时间、日期、日历数据、偏好、地图信息、位置信息以及任何其它能够以视觉形式呈现的信息。在一些配置中,显示器1040是使用了任何有源或无源矩阵技术以及任何背光技术(如果使用)的液晶显示器(“LCD”)。在一些配置中,显示器1040是有机发光二极管(“OLED”)显示器。可想到其它显示器类型。
触摸屏1042,在本文中称为“触摸使能屏幕”,是被配置成检测触摸的存在和位置的输入设备。触摸屏1042可以是电阻触摸屏、电容触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、分散信号触摸屏、声脉冲识别触摸屏,或者可以使用任何其它触摸屏技术。在一些配置中,触摸屏1042作为透明层包含到显示器1040之上以使用户能够使用一个或多个触摸来与呈现在显示器1040上的对象或其它信息交互。在其它配置中,触摸屏1042是并入未包含显示器1040的计算设备的表面上的触摸板。例如,计算设备可以具有并入显示器1040上的触摸屏和与显示器1040相对的表面上的触摸板。
在一些配置中,触摸屏1042是单触摸式触摸屏。在其它配置中,触摸屏1042是多触摸式触摸屏。在一些配置中,触摸屏1042被配置成检测离散的触摸、单触摸手势和/或多触摸手势。为方便,这些在本文统称为手势。现在将描述多个手势。应当理解的是,这些手势是示例性的,而不旨在限制随附权利要求的范围。而且,所描述的手势、附加手势和/或可替代手势以软件来实现而与触摸屏1042一起使用。因此,开发者可以创建特定于特定的应用程序的手势。
在一些配置中,触摸屏1042支持轻敲手势,其中用户对呈现在显示器1040上的项轻敲触摸屏1042一次。轻敲手势可由于各种原因而使用,包括但不限于,打开或发动用户所轻敲的无论什么。在一些配置中,触摸屏1042支持双轻敲手势,其中用户对呈现在显示器1040上的项轻敲触摸屏1042两次。双轻敲手势可由于各种原因而使用,包括但不限于以阶段缩小或放大。在一些配置中,触摸屏1042支持轻敲且保持手势,其中用户轻敲触摸屏1042且保持接触至少预定义时间。轻敲且保持手势可由于各种原因而使用,包括但不限于,打开上下文特定菜单。
在一些配置中,触摸屏1042支持平移手势,其中用户将手指放在触摸屏1042上且在触摸屏1042上移动手指的同时保持与触摸屏1042接触。平移手势可由于各种原因而使用,包括但不限于,在受控速率下移过屏幕、图像或菜单。还可以设想多手指平移手势。在一些配置中,触摸屏1042支持轻弹手势,其中用户沿用户想要屏幕移动的方向划动手指。轻弹手势可由于各种原因而使用,包括但不限于,水平地或者垂直地滚动通过菜单或页。在一些配置中,触摸屏1042支持捏合与伸展手势,其中用户在触摸屏1042上用两个手指(例如,拇指和食指)做出捏合运动或者移动使两个手指分开。捏合与伸展手势可由于各种原因而使用,包括但不限于,逐渐地缩小或放大网站、地图或图片。
虽然已经参考用于执行手势的一个或多个手指的使用描述了上述手势,诸如足趾或诸如指示笔的对象的其它附件也可用于与触摸屏1042交互。因此,上述手势应当理解为示例性的,而不应解释为以任何方式限制。
数据I/O接口组件1044被配置成利于向计算设备输入数据以及从计算设备输出数据。在一些配置中,数据I/O接口组件1044包括连接器,该连接器被配置成提供计算设备与计算机系统之间的有线连接,例如用于同步操作的目的。连接器可以是专用连接器或标准化的连接器,如USB、微型USB、迷你型USB或类似物。在一些配置中,连接器是用于将计算设备与另一设备诸如对接站的、音频设备(例如,数字音乐播放器)或视频设备对接的对接连接器。
音频I/O接口组件1046被配置成提供音频输入和/或输出能力给计算设备。在一些配置中,音频I/O接口组件1046包括被配置成采集音频信号的麦克风。在一些配置中,音频I/O接口组件1046包括被配置成提供用于耳机或其它外部扬声器的连接的耳机插口。在一些配置中,音频I/O接口组件1046包括用于音频信号的输出的扬声器。在一些配置中,音频I/O接口组件1046包括光缆音频出口。
视频I/O接口组件1048被配置成提供视频输入和/或输出能力给计算设备。在一些配置中,视频I/O接口组件1048包括视频连接器,该视频连接器被配置成接收来自另一设备(例如,诸如DVD或BLURAY播放器的视频媒体播放器)的视频作为输入或者将视频作为输出发送到另一设备(例如,监控器、电视机或某其它外部显示器)。在一些配置中,视频I/O接口组件1048包括高清多媒体接口(“HDMI”)、迷你型HDMI、微型HDMI、DisplayPort或到输入/输出视频内容的专用连接器。在一些配置中,视频I/O接口组件1048或其部分与音频I/O接口组件1046或其部分组合。
照相机1050可以被配置成捕获静像和/或视频。照相机1050可以使用电荷耦合器件(“CCD”)或互补金属氧化物半导体(“CMOS”)图像传感器来捕获图像。在一些配置中,照相机1050包括辅助在低光照环境下拍摄图片的闪光灯。用于照相机1050的设置可实现为硬件或软件按钮。
虽然没有示出,一个或多个硬件按钮也可以包含在计算设备体系结构1000中。硬件按钮可用于控制计算设备的某操作方面。硬件按钮可以是专用按钮或多用途按钮。硬件按钮可以是机械或基于传感器的。
图示的电力组件1012包括一个或多个电池1052,电池能够连接到电池计量仪1054。电池1052可以是可再充电的或一次性的。可再充电电池类型包括但不限于锂聚合物、锂离子、镍镉和镍金属氢化物。各个电池1052可以由一个或多个单元制成。
电池计量仪1054可以被配置成测量诸如电流、电压和温度的电池参数。在一些配置中,电池计量仪1054被配置成测量电池的放电速率、温度、寿命和其它因素的效应以在一定误差百分比内预测剩余寿命。在一些配置中,电池计量仪1054提供测量给应用程序,应用程序被配置成使用测量来向用户呈现有用的电力管理数据。电力管理数据可以包括所使用的电池百分比、电池剩余百分比、电池状态、剩余时间、剩余容量(例如,以瓦特小时数计)、消耗的电流和电压的中的一项或多项。
电力组件1012还可以包括电力连接器,电力连接器可以与上述I/O组件1010中的一个或多个组合。电力组件1012可以经由电力I/O组件与外部电力系统或充电装备相接。
本文呈现的公开可以从以下条款来考虑:
条款1:一种计算机实现的示例,包括计算机实现的操作,所述操作用于:获得具有一个或多个图形元素的图表(202)的图像(150A);确定一个或多个图形元素中的单独的图形元素的值;基于一个或多个图形元素的布置来确定图表类型;以及基于图表类型和单独的图形元素的值来生成可编辑图形图表(602)。
条款2:如条款1的示例,还包括用于生成可编辑表格的计算机实现的操作,所述可编辑表格存储一个或多个图形元素中的单独的图形元素的值。
条款3:如条款1和2的示例,其中确定所述单独的图形元素的值包括测量所述单独的图形元素以获得所述值,其中所述值基于对所述单独的图形元素的测量。
条款4:如条款1-3的示例,其中确定所述单独的图形元素的值包括测量所述单独的图形元素的长度以获得所述值,其中所述值基于所述单独的图形元素的长度。
条款5:如条款1-4的示例,其中确定所述单独的图形元素的值包括测量所述单独的图形元素的面积以获得所述值,其中所述值至少部分地基于所述单独的图形元素的面积。
条款6:如条款1-5的示例,其中确定单独的图形元素的值包括:识别与单独的图形元素相关联的光学可识别数据;以及至少部分地基于光学可识别数据的解释来确定所述值。
条款7:如条款1-6的示例,其中确定单独的图形元素的值包括:测量单独的图形元素以获得所述值,其中所述值基于对图形元素的测量;识别单位;以及将该值与所述单位相关联。
条款8:示例的计算机(800,1000),包括:处理器(802,1002);以及与处理器(802,1002)通信的计算机可读存储介质(804,1004),该计算机可读存储介质(804,1004)中存储有计算机可执行指令,在由处理器(802,1002)执行时,所述计算机可执行指令使计算机(800,1000)获得具有一个或多个图形元素的图表的图像(150),确定一个或多个图形元素的单独的图形元素的值,基于一个或多个图形元素的布置来确定图表类型,以及基于图表类型和单独的图形元素的值来生成可编辑图形图表(602)。
条款9:如条款8的示例,其中计算机可读存储介质中存储有另外的计算机可执行指令,当由处理器执行时,所述另外的计算机可执行指令使计算机生成可编辑表格,该可编辑表格存储一个或多个图形元素中的单独的图形元素的值。
条款10:如条款8和9的示例,其中确定单独的图形元素的值包括测量单独的图形元素以获得所述值或者测量与单独的图形元素相关联的至少一个角以获得所述值。
条款11:如条款8-10的示例,其中确定单独的图形元素的值包括测量单独的图形元素的长度以获得所述值,其中该值基于单独的图形元素的长度。
条款12:如条款8-11的示例,其中确定单独的图形元素的值包括测量单独的图形元素的面积以获得所述值,其中所述值基于单独的图形元素的面积。
条款13:如条款8-12的示例,其中计算机可读存储介质中存储有另外的计算机可执行指令,当通过处理器执行时,所述另外的计算机可执行指令使所述计算机将可编辑图形图表显示在被配置为接收用于修改包含可编辑图形图表的数据结构的输入姿势的界面上,其中可编辑图形图表的显示随着计算机的照相机获得图像而同时地执行;接收修改数据结构的输入姿势;基于输入姿势来修改数据结构;以及基于输入姿势来显示可编辑图形图表的修改版本。
条款14:一种示例的计算机可读存储介质,其中存储有计算机可执行指令,当通过计算机执行时,所述计算机可执行指令使所述计算机:获得具有一个或多个图形元素的图表的图像(150);确定一个或多个图形元素中的单独的图形元素的值;基于一个或多个图形元素的布置来确定图表类型;以及基于图表类型和单独的图形元素的值来生成可编辑图形图表(602)。
条款15:如条款14的示例,其中计算机可读存储介质包括存储于其中的另外的计算机可执行指令,用于使计算机生成存储一个或多个图形元素中的单独的图形元素的值的可编辑表格,其中可编辑图形图表和可编辑表格存储在数据结构中,并且其中数据结构还包括表示图像的元数据。
条款16:如条款14-15的示例,其中图像中所包含的图表包括至少一种颜色、方位、布局或格式,其中可编辑图形图表进一步基于该至少一种颜色、方位、布局或格式。
条款17:如条款14-16的示例,其中确定单独的图形元素的值包括测量单独的图形元素的长度以获得所述值,其中所述值基于单独的图形元素的长度。
条款18:如条款14-17的示例,其中确定单独的图形元素的值包括测量单独的图形元素的面积以获得所述值,其中所述值至少部分地基于单独的图形元素的面积。
条款19:如条款14-18的示例,其中确定单独的图形元素的值包括:识别与单独的图形元素相关联的光学可识别数据;以及至少部分地基于光学可识别数据的解释来确定所述值。
条款20:如条款14-19的示例,其中确定单独的图形元素的值包括:测量单独的图形元素以获得所述值,其中所述值基于对单独的图形元素的测量;识别单位;以及将所述值与所述单位相关联。
基于上述,应当意识到在本文已经公开了用于提供图表数据的增强的光学字符识别的概念和技术。虽然本文所呈现的主题是以特定于计算机结构特征的语言、方法和变换动作、具体的计算机器和计算机可读介质来描述,但是应当理解,在随附的权利要求中限定的本发明不必局限于本文所描述的具体的特征、动作或媒介。相反,具体的特征、动作和媒介被公开作为实现权利要求的示例形式。
上述的主题仅以示例说明的方式来提供,而不应当解释为限制。可以在不遵照所图示和描述的示例的配置和应用且不背离本发明的范围的情况下对本文所描述的主题做出各种修改和改动,本发明的范围在下面的权利要求中进行了阐述。

Claims (8)

1.一种计算机实现的方法,包括计算机实现的操作,所述操作用于:
获得具有一个或多个图形元素的图表的图像;
分析所述图表的所述图像以识别所述一个或多个图形元素的布置以及所述一个或多个图形元素的单独的图形元素的尺寸;
基于所述单独的图形元素的所述尺寸确定所述单独的图形元素的值,其中,分析所述图像以识别所述尺寸包括测量所述单独的图形元素以获得所述尺寸,其中,所述值基于所述单独的图形元素关于至少一个其他单独的图形元素的至少一个相对比例;
基于所述一个或多个图形元素的所述布置来确定图表类型;以及
基于所述图表类型和所述单独的图形元素的值来生成可编辑图形图表。
2.如权利要求1所述的计算机实现的方法,还包括:
生成存储所述一个或多个图形元素中的单独的图形元素的值的可编辑表格;以及
在接收到来自用户的、修改所生成的可编辑图形图表的方面的触摸姿势时,修改所生成的可编辑图形图表和所生成的可编辑表格二者。
3.如权利要求1所述的计算机实现的方法,其中确定所述单独的图形元素的值包括测量所述单独的图形元素的长度以获得所述值,其中所述值基于所述单独的图形元素的长度。
4.如权利要求1所述的计算机实现的方法,其中确定所述单独的图形元素的值包括测量所述单独的图形元素的面积以获得所述值,其中所述值至少部分地基于所述单独的图形元素的面积。
5.一种计算机,包括:
处理器;以及
与所述处理器通信的计算机可读存储介质,所述计算机可读存储介质具有存储于其中的计算机可执行指令,当通过所述处理器执行时,所述计算机可执行指令使所述计算机:
获得具有一个或多个图形元素的图表的图像;
确定所述一个或多个图形元素中的单独的图形元素的长度;
基于所述单独的图形元素的所述长度确定对应于所述单独的图形元素的值,其中,所述值基于测量所述单独的图形元素以识别所述单独的图形元素关于至少一个其他单独的图形元素的至少一个相对比例;
基于所述一个或多个图形元素的布置来确定图表类型;
基于所述图表类型和对应于所述单独的图形元素的值来生成可编辑图形图表。
6.如权利要求5所述的计算机,其中确定所述单独的图形元素的值包括测量所述单独的图形元素以获得所述值或者测量与所述单独的图形元素相关联的至少一个角以获得所述值。
7.如权利要求5所述的计算机,其中,所述计算机可执行指令当通过所述处理器执行时还使所述计算机:
生成存储所述一个或多个图形元素中的单独的图形元素的值的可编辑表格;以及
在接收到来自用户的、修改所生成的可编辑图形图表的方面的触摸姿势时,修改所生成的可编辑图形图表和所生成的可编辑表格二者。
8.如权利要求5所述的计算机,其中确定所述单独的图形元素的值包括测量所述单独的图形元素的面积以获得所述值,其中所述值基于所述单独的图形元素的面积。
CN201580044893.2A 2014-08-21 2015-08-19 图表数据的增强识别 Active CN106575360B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/465,317 2014-08-21
US14/465,317 US9805483B2 (en) 2014-08-21 2014-08-21 Enhanced recognition of charted data
PCT/US2015/045780 WO2016028829A1 (en) 2014-08-21 2015-08-19 Enhanced recognition of charted data

Publications (2)

Publication Number Publication Date
CN106575360A CN106575360A (zh) 2017-04-19
CN106575360B true CN106575360B (zh) 2019-08-02

Family

ID=54072960

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580044893.2A Active CN106575360B (zh) 2014-08-21 2015-08-19 图表数据的增强识别

Country Status (5)

Country Link
US (1) US9805483B2 (zh)
EP (1) EP3183686A1 (zh)
CN (1) CN106575360B (zh)
TW (1) TW201610914A (zh)
WO (1) WO2016028829A1 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9513671B2 (en) 2014-08-01 2016-12-06 Microsoft Technology Licensing, Llc Peripheral retention device
US10191986B2 (en) 2014-08-11 2019-01-29 Microsoft Technology Licensing, Llc Web resource compatibility with web applications
US9705637B2 (en) 2014-08-19 2017-07-11 Microsoft Technology Licensing, Llc Guard band utilization for wireless data communication
US9524429B2 (en) 2014-08-21 2016-12-20 Microsoft Technology Licensing, Llc Enhanced interpretation of character arrangements
US9805483B2 (en) 2014-08-21 2017-10-31 Microsoft Technology Licensing, Llc Enhanced recognition of charted data
US9397723B2 (en) 2014-08-26 2016-07-19 Microsoft Technology Licensing, Llc Spread spectrum wireless over non-contiguous channels
US9424048B2 (en) 2014-09-15 2016-08-23 Microsoft Technology Licensing, Llc Inductive peripheral retention device
US9811256B2 (en) * 2015-01-14 2017-11-07 International Business Machines Corporation Touch screen tactile gestures for data manipulation
US20170140396A1 (en) * 2015-11-16 2017-05-18 Ennovationz, Inc. Devices, systems, and methods for obtaining historical utility consumption data
US20180011910A1 (en) * 2016-07-06 2018-01-11 Facebook, Inc. Systems and methods for performing operations with data acquired from multiple sources
CN107221019B (zh) * 2017-03-07 2021-02-26 武汉唯理科技有限公司 图表转换方法及装置
TWI647609B (zh) 2017-04-14 2019-01-11 緯創資通股份有限公司 即時通訊方法、系統及電子裝置與伺服器
US10726252B2 (en) 2017-05-17 2020-07-28 Tab2Ex Llc Method of digitizing and extracting meaning from graphic objects
CN107861673A (zh) * 2017-06-27 2018-03-30 陆金所(上海)科技服务有限公司 拉动图形输入方法、装置及计算机可读存储介质
CN107742096A (zh) * 2017-09-26 2018-02-27 阿里巴巴集团控股有限公司 获取图表特征信息的方法及装置、电子设备、存储介质
CN107730572B (zh) * 2017-10-09 2021-05-28 武汉斗鱼网络科技有限公司 一种图表渲染方法及装置
CN108052495A (zh) * 2017-12-28 2018-05-18 努比亚技术有限公司 数据显示方法、终端及计算机可读存储介质
CN108446717A (zh) * 2018-02-07 2018-08-24 苏州工业大数据创新中心有限公司 一种基于图像识别的机台状态采集方法及系统
CN108399386B (zh) * 2018-02-26 2022-02-08 阿博茨德(北京)科技有限公司 饼图中的信息提取方法及装置
CN108416377B (zh) * 2018-02-26 2021-12-10 阿博茨德(北京)科技有限公司 柱状图中的信息提取方法及装置
CN110909151B (zh) * 2018-08-28 2022-07-29 北京国双科技有限公司 图表的数据显示方法及装置
CN111104781A (zh) * 2018-10-26 2020-05-05 珠海格力电器股份有限公司 图表处理方法和装置
US11557107B2 (en) 2019-01-02 2023-01-17 Bank Of America Corporation Intelligent recognition and extraction of numerical data from non-numerical graphical representations
CN112100990A (zh) * 2019-06-18 2020-12-18 阿里巴巴集团控股有限公司 图表的处理、数据处理方法及装置
US11182606B2 (en) * 2019-09-17 2021-11-23 International Business Machines Corporation Converting chart data
CN110826306B (zh) * 2019-11-05 2023-04-07 泰康保险集团股份有限公司 数据采集的方法、装置、计算机可读存储介质及电子设备
CN111475094B (zh) * 2020-03-23 2022-03-08 深圳市富途网络科技有限公司 一种图表的参考图编辑方法、设备和计算机可读存储介质
CN116863054A (zh) * 2023-07-18 2023-10-10 上海秉匠信息科技有限公司 一种生成三维可视化场景的方法、装置、设备和存储介质

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6337924B1 (en) 1999-02-26 2002-01-08 Hewlett-Packard Company System and method for accurately recognizing text font in a document processing system
US7239316B1 (en) * 2000-11-13 2007-07-03 Avaya Technology Corp. Method and apparatus for graphically manipulating data tables
US20040252217A1 (en) * 2003-06-12 2004-12-16 Battles Amy E. System and method for analyzing a digital image
US20060081714A1 (en) 2004-08-23 2006-04-20 King Martin T Portable scanning device
US8509563B2 (en) 2006-02-02 2013-08-13 Microsoft Corporation Generation of documents from images
US7953295B2 (en) 2006-06-29 2011-05-31 Google Inc. Enhancing text in images
JP4743154B2 (ja) 2006-07-05 2011-08-10 セイコーエプソン株式会社 文書編集装置、プログラムおよび記憶媒体
US8094347B2 (en) 2007-08-01 2012-01-10 Silverbrook Research Pty Ltd. Method of scanning regions larger than the scan swath using a handheld scanner
US8941590B2 (en) 2008-04-24 2015-01-27 Oblong Industries, Inc. Adaptive tracking system for spatial input devices
US20090278848A1 (en) * 2008-05-12 2009-11-12 Microsoft Corporation Drawing familiar graphs while system determines suitable form
US20110115814A1 (en) * 2009-11-16 2011-05-19 Microsoft Corporation Gesture-controlled data visualization
JP5465015B2 (ja) 2010-01-06 2014-04-09 キヤノン株式会社 文書を電子化する装置及び方法
US8719702B2 (en) 2010-03-09 2014-05-06 Xerox Corporation Document organizing based on page numbers
US9823831B2 (en) 2010-04-07 2017-11-21 Apple Inc. Device, method, and graphical user interface for managing concurrently open software applications
US20140156358A1 (en) * 2010-05-06 2014-06-05 SRM Institute of Science and Technology System and method for university model graph based visualization
US9747270B2 (en) 2011-01-07 2017-08-29 Microsoft Technology Licensing, Llc Natural input for spreadsheet actions
US8751216B2 (en) 2010-12-30 2014-06-10 International Business Machines Corporation Table merging with row data reduction
US9042653B2 (en) * 2011-01-24 2015-05-26 Microsoft Technology Licensing, Llc Associating captured image data with a spreadsheet
WO2013110289A1 (en) 2012-01-23 2013-08-01 Microsoft Corporation Borderless table detection engine
CN102855232B (zh) 2012-09-14 2016-02-24 同方知网数字出版技术股份有限公司 一种表格分析编改加工方法
US9528847B2 (en) 2012-10-15 2016-12-27 Microsoft Technology Licensing, Llc Pictures from sketches
US9626349B2 (en) 2012-12-18 2017-04-18 International Business Machines Corporation Dynamically manipulating tables based on a font
JP6151931B2 (ja) * 2013-02-21 2017-06-21 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
US9558170B2 (en) * 2013-02-28 2017-01-31 Ricoh Company, Ltd. Creating and switching a view of a collection including image data and symbolic data
US9842125B2 (en) 2013-04-24 2017-12-12 Atlys, Inc. Nested media container, panel and organizer
WO2015117072A1 (en) * 2014-01-31 2015-08-06 The Charles Stark Draper Laboratory, Inc. Systems and methods for detecting and tracking objects in a video stream
EP2905259B1 (en) * 2014-02-05 2016-08-31 King Saud University Porous noble metal oxide nanoparticles, method for preparing the same and their use
US9798943B2 (en) * 2014-06-09 2017-10-24 I.R.I.S. Optical character recognition method
US9524429B2 (en) 2014-08-21 2016-12-20 Microsoft Technology Licensing, Llc Enhanced interpretation of character arrangements
US9805483B2 (en) 2014-08-21 2017-10-31 Microsoft Technology Licensing, Llc Enhanced recognition of charted data
US9444702B1 (en) * 2015-02-06 2016-09-13 Netspeed Systems System and method for visualization of NoC performance based on simulation output
US9836646B2 (en) * 2015-10-15 2017-12-05 I.R.I.S. Method for identifying a character in a digital image

Also Published As

Publication number Publication date
TW201610914A (zh) 2016-03-16
US20160055659A1 (en) 2016-02-25
WO2016028829A1 (en) 2016-02-25
CN106575360A (zh) 2017-04-19
US9805483B2 (en) 2017-10-31
EP3183686A1 (en) 2017-06-28

Similar Documents

Publication Publication Date Title
CN106575360B (zh) 图表数据的增强识别
CN105934756B (zh) 索引电子表格结构属性以供搜索
CN104541271B (zh) 从电子表格数据生成场景和游览
TW201610815A (zh) 字元安排的強化解讀
CN104350493B (zh) 将数据变换成可消费的内容
CN109074351A (zh) 文档协作发现
CN106796731A (zh) 优化所显示的文本的易读性
CN106537371B (zh) 可视化建议
CN106537382B (zh) 查询建议
CN109074393A (zh) 对于日历事件的上下文感知洞察
CN107077458A (zh) 推断布局意图
CN107077749A (zh) 优化媒体的视觉显示
CN108141702A (zh) 上下文知晓的位置共享服务
US11314408B2 (en) Computationally efficient human-computer interface for collaborative modification of content
CN105393222B (zh) 网络应用与本地应用之间的渲染委托
CN104067215B (zh) 呈现数据驱动表单
US11526322B2 (en) Enhanced techniques for merging content from separate computing devices
CN106663091A (zh) 摘要数据自动填充
CN110168592A (zh) 分析数据以确定上传帐户
CN108885640A (zh) 生成服务应用
CN107810523A (zh) 数据可视化的智能配置
TW201535236A (zh) 用於識別被影響的資料之增強型指示器
CN107810489A (zh) 应用与设备之间的无缝转换
CN106663122A (zh) 在文档中利用数据搜索
CN107407944A (zh) 参考传感器的发现和利用

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant