IP Library Granted Patent US 12,536,826
Granted Patent B2
US 12,536,826 · App. 18/082,567 · Granted Jan 27, 2026

Computerized recognition of tabular data from an image

Inventors: Jesse Truscott (Petaluma, CA); Harshil Lodhiya (Vadodara, CA); Virinchipuram Anand (San Ramon, CA)
Assignee: Automation Anywhere, Inc.
G06V30/412G06V10/26G06V30/413G06F3/04847G06V2201/02
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,536,826
App. No.
18/082,567
Granted
Jan 27, 2026
Kind
B2
Abstract

Embodiments disclosed herein concern improved techniques for recognition of tabularized data within an image and construction of a computer-readable electronic table representing the recognized tabularized data. The image can be a screen image produced by a software application program operating on a computing device. The tabular data, such as pertaining to a table, can be recognized by recognizing rows, columns, text, controls and lines.

Claims (83)

1 . A computer-implemented method for constructing an electronic table representing a table contained within an image, the method comprising:

receiving an image including the table, the image being a screen image from a display associated with a computing device;

processing the image to capture object data from the image, the object data pertaining to objects within the image, the objects within the image include at least control objects, text objects and line objects, wherein the object data for a control object includes control object data, the object data for a text object includes text object data, and the object data for a line object includes line object data;

determining columns and rows for the table contained within the image based on at least a portion of the captured object data from the image;

identifying content for cells within the table contained within the image based on at least a portion of the captured object data from the image; and

storing electronic data to a table data structure such that the electronic data is stored to one or more of the cells of the table data structure, the electronic data being stored to the table data structure being determined at least in part by the captured object data from the image,

wherein the determining of the columns for the table contained within the image comprises:

identifying a header region for the table within the image using an image mask; and

detecting the columns for the table based on the captured object data for a plurality of the objects that are positionally within the header region.

2 . A computer-implemented method as recited in claim 1 , wherein the screen image is presented on the display by an application program operating on the computing device.

3 . A computer-implemented method as recited in claim 1 , wherein the image includes at least an image of an electronic window that includes at least the table.

4 . A computer-implemented method as recited in claim 1 , wherein the line objects are determined from a masking process that evaluates the image for lines.

5 . A computer-implemented method as recited in claim 1 , wherein the determining of the columns for the table contained within the image comprises:

evaluating the line objects to locate at least one candidate table position or region within the image; and

determining at least one column for the table based on the at least one candidate table position or region within the image.

6 . A computer-implemented method as recited in claim 1 ,

wherein the at least one position or region within the image pertains to a corner of the table within the image, and

wherein the determining of the at least one column for the table operates to determine at least a first column for the table.

7 . A computer-implemented method as recited in claim 1 , wherein the determining of the columns for the table contained within the image comprises:

identifying, from the captured object data, text, controls and/or slider bars within the header region for the table; and

detecting the columns for the table based on the text, controls, and/or slider bars within the header region for the table.

8 . A computer-implemented method as recited in claim 1 , wherein the detecting the columns evaluates the plurality of objects in a positional order left-to-right in order to determine column boundaries.

9 . A computer-implemented method as recited in claim 8 , wherein the evaluation of each of the objects is dependent on the type of the object.

10 . A computer-implemented method as recited in claim 8 , wherein the determining of the columns for the table contained within the image comprises:

processing a current object from the plurality of objects, looking ahead to a next object from the plurality of objects; and

influencing the determining of the columns for the table based on the current object and the next object.

11 . A computer-implemented method as recited in claim 8 , wherein the determining of the columns for the table contained within the image comprises:

considering a series of the objects from the plurality of objects to classify a current object of the plurality of objects as part of a current column or not.

12 . A computer-implemented method as recited in claim 11 , wherein the classification for the current object is based at least in part on an object type for at least one of the objects in the series of objects.

13 . A computer-implemented method as recited in claim 1 , wherein the determining of the rows for the table contained within the image comprises:

identifying text blocks that are substantially positioned in rows within the image; and

examining the identified text blocks to determine the row boundary positions for the rows.

14 . A computer-implemented method as recited in claim 13 , wherein the determining of the rows for the table contained within the image comprises:

identifying horizontal divider lines from a masking process; and

adjusting the determined row boundary positions based on the corresponding identified horizontal divider lines.

15 . A computer-implemented method as recited in claim 1 , wherein the method comprises:

placing at least a portion of the captured object data into an ordered list ordered by position within the image.

16 . A non-transitory computer readable medium including at least computer program code tangibly stored therein for constructing an electronic table representing a table contained within an image, the computer readable medium comprising:

computer program code for receiving an image including the table, the image being a screen image from a display associated with a computing device;

computer program code for processing the image to capture object data from the image, the object data pertaining to objects within the image, the objects within the image include at least control objects, text objects and line objects, wherein the object data for a control object includes control object data, the object data for a text object includes text object data, and the object data for a line object includes line object data;

computer program code for determining columns and rows for the table contained within the image based on at least a portion of the captured object data from the image;

computer program code for identifying content for cells within the table contained within the image based on at least a portion of the captured object data from the image; and

computer program code for storing electronic data to the electronic table such that the electronic data is stored to one or more of the cells of the electronic table, the electronic data being stored to the electronic table being determined at least in part by the captured object data from the image,

wherein the computer program code for determining of the columns for the table contained within the image comprises:

computer program code for identifying a header region for the table within the image; and

computer program code for detecting the columns for the table based on the captured object data for a plurality of the objects that are positionally within the header region.

17 . A computer readable medium as recited in claim 16 , wherein the image is a screen image is presented on the display by an application program operating on the computing device, and wherein the screen image includes at least an image of a screen window that includes at least the table.

18 . A computer readable medium as recited in claim 16 , wherein the line objects are determined from a masking process that evaluates the image for lines.

19 . A computer readable medium as recited in claim 18 , wherein the computer program code for determining of the columns for the table contained within the image comprises:

computer program code for evaluating the line objects to locate at least one position or region with the image that might be a table;

computer program code for determining at least one column for the table based on the at least one position or region within the image that might be a table.

20 . A computer readable medium as recited in claim 16 ,

wherein the at least one position or region within the image pertains to a corner of the table within the image, and

wherein the computer program code for determining of the at least one column for the table operates to determine at least a first column for the table.

21 . A computer readable medium as recited in claim 16 , wherein the computer program code for determining of the columns for the table contained within the image comprises:

computer program code for identifying, from the captured object data, text, controls and/or slider bars within the header region for the table; and

computer program code for detecting the columns for the table based on the text, controls, and/or slider bars within the header region for the table.

22 . A computer readable medium as recited in claim 16 , wherein the computer program code for detecting the columns evaluates the plurality of objects in a positional order left-to-right in order to determine column boundaries.

23 . A computer readable medium as recited in claim 16 , wherein the evaluation of each of the objects is dependent on the type of the object.

24 . A computer readable medium as recited in claim 16 , wherein the computer program code for determining of the columns for the table contained within the image comprises:

in processing a current object from the plurality of objects, computer program code for looking ahead to a next object from the plurality of objects; and

computer program code for influencing the determining of the columns for the table based on the current object and the next object.

25 . A computer readable medium as recited in claim 16 , wherein the computer program code for determining of the columns for the table contained within the image comprises:

computer program code for considering a series of the objects from the plurality of objects to classify a current object of the plurality of objects as part of a current column or not.

26 . A computer readable medium as recited in claim 16 , wherein the computer program code for determining of the rows for the table contained within the image comprises:

computer program code for identifying text blocks that are substantially positioned in rows within the image; and

computer program code for examining the identified text blocks to determine the row boundary positions for the rows.

27 . A computer readable medium as recited in claim 26 , wherein the computer program code for determining of the rows for the table contained within the image comprises:

computer program code for identifying horizontal divider lines from a masking process; and

computer program code for adjusting the determined row boundary positions based on the corresponding identified horizontal divider lines.

28 . A computer readable medium as recited in claim 16 , wherein the computer readable medium comprises:

computer program code for placing at least a portion of the captured object data into an ordered list ordered by position within the image.

29 . A computer readable medium as recited in claim 16 , wherein, for each of the objects, the object data being captured therefor depends on a type of the object.

30 . A robotic process automation system, comprising:

a data store configured to store a plurality of software robots, the software robots providing automated interaction with one or more software programs operating on one or more computing devices; and

a table extraction and construction manager configured to receive an image including a table;

process the image to capture object data from the image;

determine columns and rows for the table contained within the image based on at least a portion of the captured object data from the image;

identify content for cells within the table contained within the image based on at least a portion of the captured object data from the image; and

store electronic data descriptive of the table to the data store, the descriptive data including at least data identifying (i) column and row boundaries for the table, which define cells of the table, and (ii) data identifying content for the cells of the table,

wherein the determination of the columns for the table contained within the image comprises:

identify a header region for the table within the image using an image mask; and

detect the columns for the table based on the captured object data for a plurality of the objects that are positionally within the header region.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2025
From: TRUSCOTT, JESSE; LODHIYA, HARSHIL; ANAND, VIRINCHIPURAM
To: AUTOMATION ANYWHERE, INC.
Reel/Frame 072089/0889 →
SECURITY INTEREST Recorded Dec 5, 2024
From: AUTOMATION ANYWHERE, INC.
To: FIRST-CITIZENS BANK & TRUST COMPANY
Reel/Frame 069498/0193 →
Continuity (2)
Provisional Application 63355091 · Jun 23, 2022
Related Publication 20230419705A1 · Dec 28, 2023
References Cited (149)
US 5949999A · Song et al. · 1999 [cited by applicant]
US 5983001A · Boughner et al. · 1999 [cited by applicant]
US 6133917A · Feigner et al. · 2000 [cited by applicant]
US 6226407B1 · Zabih et al. · 2001 [cited by applicant]
US 6389592B1 · Ayres et al. · 2002 [cited by applicant]
US 6427234B1 · Chambers et al. · 2002 [cited by applicant]
US 6473794B1 · Guheen et al. · 2002 [cited by applicant]
US 6496979B1 · Chen et al. · 2002 [cited by applicant]
US 6640244B1 · Bowman-Amuah · 2003 [cited by applicant]
US 6704873B1 · Underwood · 2004 [cited by applicant]
US 6898764B2 · Kemp · 2005 [cited by applicant]
US 6954747B1 · Wang et al. · 2005 [cited by applicant]
US 6957186B1 · Guheen et al. · 2005 [cited by applicant]
US 7091898B2 · Arling et al. · 2006 [cited by applicant]
US 7246128B2 · Jordahl · 2007 [cited by applicant]
US 7398469B2 · Kisamore et al. · 2008 [cited by applicant]
US 7441007B1 · Kirkpatrick et al. · 2008 [cited by applicant]
US 7533096B2 · Rice et al. · 2009 [cited by applicant]
US 7568109B2 · Powell et al. · 2009 [cited by applicant]
US 7571427B2 · Wang et al. · 2009 [cited by applicant]
US 7765525B1 · Davidson et al. · 2010 [cited by applicant]
US 7805317B2 · Khan et al. · 2010 [cited by applicant]
US 7805710B2 · North · 2010 [cited by applicant]
US 7810070B2 · Nasuti et al. · 2010 [cited by applicant]
US 7846023B2 · Evans et al. · 2010 [cited by applicant]
US 8028269B2 · Bhatia et al. · 2011 [cited by applicant]
US 8056092B2 · Allen et al. · 2011 [cited by applicant]
US 8095910B2 · Nathan et al. · 2012 [cited by applicant]
US 8132156B2 · Malcolm · 2012 [cited by applicant]
US 8209738B2 · Nicol et al. · 2012 [cited by applicant]
US 8234622B2 · Meijer et al. · 2012 [cited by applicant]
US 8245215B2 · Extra · 2012 [cited by applicant]
US 8352464B2 · Folev · 2013 [cited by applicant]
US 8396890B2 · Lim · 2013 [cited by applicant]
US 8438558B1 · Adams · 2013 [cited by applicant]
US 8443291B2 · Ku et al. · 2013 [cited by applicant]
US 8464240B2 · Fritsch et al. · 2013 [cited by applicant]
US 8498473B2 · Chong et al. · 2013 [cited by applicant]
US 8504803B2 · Shukla · 2013 [cited by applicant]
US 8631458B1 · Banerjee · 2014 [cited by applicant]
US 8682083B2 · Kumar et al. · 2014 [cited by applicant]
US 8713003B2 · Fotev · 2014 [cited by applicant]
US 8769482B2 · Batey et al. · 2014 [cited by applicant]
US 8819241B1 · Washbum · 2014 [cited by applicant]
US 8832048B2 · Lim · 2014 [cited by applicant]
US 8874685B1 · Hollis et al. · 2014 [cited by applicant]
US 8943493B2 · Schneider · 2015 [cited by applicant]
US 8965905B2 · Ashmore et al. · 2015 [cited by applicant]
US 9032314B2 · Mital et al. · 2015 [cited by applicant]
US 9104294B2 · Forstall et al. · 2015 [cited by applicant]
US 9213625B1 · Schrage · 2015 [cited by applicant]
US 9278284B2 · Ruppert et al. · 2016 [cited by applicant]
US 9444844B2 · Edery et al. · 2016 [cited by applicant]
US 9462042B2 · Shukla et al. · 2016 [cited by applicant]
US 9571332B2 · Subramaniam et al. · 2017 [cited by applicant]
US 9600519B2 · Schoning et al. · 2017 [cited by applicant]
US 9621584B1 · Schmidt et al. · 2017 [cited by applicant]
US 9946233B2 · Brun et al. · 2018 [cited by applicant]
US 10043255B1 · Pathapati et al. · 2018 [cited by applicant]
US 10282280B1 · Gouskova · 2019 [cited by applicant]
US 10706218B2 · Milward et al. · 2020 [cited by applicant]
US 11182178B1 · Singh et al. · 2021 [cited by applicant]
US 20030033590A1 · Leherbauer · 2003 [cited by applicant]
US 20030101245A1 · Srinivasan et al. · 2003 [cited by applicant]
US 20030159089A1 · DiJoseph · 2003 [cited by applicant]
US 20040083472A1 · Rao et al. · 2004 [cited by applicant]
US 20040153649A1 · Rhoads · 2004 [cited by applicant]
US 20040172526A1 · Tann et al. · 2004 [cited by applicant]
US 20040210885A1 · Wang et al. · 2004 [cited by applicant]
US 20040243994A1 · Nasu · 2004 [cited by applicant]
US 20050188357A1 · Derks et al. · 2005 [cited by applicant]
US 20050204343A1 · Kisamore et al. · 2005 [cited by applicant]
US 20050257214A1 · Moshir et al. · 2005 [cited by applicant]
US 20060095276A1 · Axelrod et al. · 2006 [cited by applicant]
US 20060150188A1 · Roman et al. · 2006 [cited by applicant]
US 20070101291A1 · Forstall et al. · 2007 [cited by applicant]
US 20070112574A1 · Greene · 2007 [cited by applicant]
US 20070156677A1 · Szabo · 2007 [cited by applicant]
US 20080005086A1 · Moore · 2008 [cited by applicant]
US 20080027769A1 · Eder · 2008 [cited by applicant]
US 20080028392A1 · Chen et al. · 2008 [cited by applicant]
US 20080209392A1 · Able et al. · 2008 [cited by applicant]
US 20080222454A1 · Kelso · 2008 [cited by applicant]
US 20080263024A1 · Landschaft et al. · 2008 [cited by applicant]
US 20090037509A1 · Parekh et al. · 2009 [cited by applicant]
US 20090103769A1 · Milov et al. · 2009 [cited by applicant]
US 20090116071A1 · Mantell · 2009 [cited by applicant]
US 20090172814A1 · Khosravi et al. · 2009 [cited by applicant]
US 20090199160A1 · Vaitheeswaran et al. · 2009 [cited by applicant]
US 20090217309A1 · Grechanik et al. · 2009 [cited by applicant]
US 20090249297A1 · Doshi et al. · 2009 [cited by applicant]
US 20090313229A1 · Fellenstein et al. · 2009 [cited by applicant]
US 20090320002A1 · Peri-Glass et al. · 2009 [cited by applicant]
US 20100023602A1 · Marlone · 2010 [cited by applicant]
US 20100023933A1 · Bryant et al. · 2010 [cited by applicant]
US 20100100605A1 · Allen et al. · 2010 [cited by applicant]
US 20100106671A1 · Li et al. · 2010 [cited by applicant]
US 20100138015A1 · Colombo et al. · 2010 [cited by applicant]
US 20100235433A1 · Ansari et al. · 2010 [cited by applicant]
US 20100251163A1 · Keable · 2010 [cited by applicant]
US 20110022578A1 · Folev · 2011 [cited by applicant]
US 20110145807A1 · Molinie et al. · 2011 [cited by applicant]
US 20110197121A1 · Kletter · 2011 [cited by applicant]
US 20110276568A1 · Fotev · 2011 [cited by applicant]
US 20110276946A1 · Pletter · 2011 [cited by applicant]
US 20110302570A1 · Kurimilla et al. · 2011 [cited by applicant]
US 20120011458A1 · Xia et al. · 2012 [cited by applicant]
US 20120042281A1 · Green · 2012 [cited by applicant]
US 20120124062A1 · Macbeth et al. · 2012 [cited by applicant]
US 20120131456A1 · Lin et al. · 2012 [cited by applicant]
US 20120324333A1 · Lehavi · 2012 [cited by applicant]
US 20120330940A1 · Caire et al. · 2012 [cited by applicant]
US 20130173648A1 · Tan et al. · 2013 [cited by applicant]
US 20130290318A1 · Shapira et al. · 2013 [cited by applicant]
US 20140036290A1 · Miyagawa · 2014 [cited by applicant]
US 20140045484A1 · Kim et al. · 2014 [cited by applicant]
US 20140181705A1 · Hey et al. · 2014 [cited by applicant]
US 20150082280A1 · Betak et al. · 2015 [cited by applicant]
US 20150121179A1 · Saund · 2015 [cited by examiner]
US 20150310268A1 · He · 2015 [cited by applicant]
US 20150347284A1 · Hey et al. · 2015 [cited by applicant]
US 20160019049A1 · Kakhandiki et al. · 2016 [cited by applicant]
US 20160034441A1 · Nguyen et al. · 2016 [cited by applicant]
US 20160078368A1 · Kakhandiki et al. · 2016 [cited by applicant]
US 20180113781A1 · Kim · 2018 [cited by applicant]
US 20180275835A1 · Prag · 2018 [cited by applicant]
US 20190126463A1 · Purushothaman · 2019 [cited by applicant]
US 20190141596A1 · Gay · 2019 [cited by applicant]
US 20190188462A1 · Nishida · 2019 [cited by applicant]
US 20190310868A1 · Vaindiner · 2019 [cited by examiner]
US 20190317803A1 · Maheshwari · 2019 [cited by applicant]
US 20210073326A1 · Aggarwal · 2021 [cited by examiner]
US 20210366099A1 · Liao · 2021 [cited by examiner]
US 20220318224A1 · Thompson · 2022 [cited by examiner]
US 20220335240A1 · Smock · 2022 [cited by examiner]
Al Sallami, Load Balancing in Green Cloud Computation, Proceedings of the World Congress on Engineering 2013 vol. II, WCE 2013, 2013, pp. 1-5 (Year: 2013). [cited by applicant]
B.P. Kasper “Remote: A Means of Remotely Controlling and Storing Data from a HAL Quadrupole Gass Analyzer Using an IBM-PC Compatible Computer”, Nov. 15, 1995, Space and Environment Technology Center. [cited by applicant]
Bergen et al., RPC automation: making legacy code releant, May 2013, 6 pages. [cited by applicant]
Hu et al., Automating GUI testing for Android applications, May 2011, 7 pages. [cited by applicant]
Konstantinou et al., An architecture for virtual solution composition and deployment in infrastructure clouds, 9 pages (Year: 2009). [cited by applicant]
Nyulas et al., An Ontology-Driven Framework for Deploying JADE Agent Systems, 5 pages (Year: 2006). [cited by applicant]
Tom Yeh, Tsung-Hsiang Chang, and Robert C. Miller, Sikuli: Using GUI Screenshots for Search and Automation, Oct. 4-7, 2009, 10 pages. [cited by applicant]
Yu et al., Deplying and managing Web services: issues, solutions, and directions, 36 pages (Year: 2008). [cited by applicant]
Zhifang et al., Test automation on moble device, May 2010, 7 pages. [cited by applicant]
Non-Final Office Action for U.S. Appl. No. 17/230,492, mailed Oct. 14, 2022. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 16/398,532, mailed Oct. 23, 2022. [cited by applicant]
Non-Final Office Action for U.S. Appl. No. 16/876,530, mailed Sep. 29, 2020. [cited by applicant]
Final Office Action for U.S. Appl. No. 16/876,530, mailed Apr. 13, 2021. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 16/876,530, mailed Jul. 22, 2021. [cited by applicant]