Matrix table processing device and matrix table processing program
The matrix table processing device and program automate data classification and visualization, addressing the labor-intensive manual inspection of matrix tables by adding a visual effect image to distinguish data types, thus reducing the workload.
Patent Information
- Application Number
- JP2024062890
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-04-09
- Publication Date
- 2025-10-22
AI Technical Summary
Existing matrix table analysis technologies require a specified layout and are constrained by OCR readability, necessitating manual visual inspection, which is labor-intensive.
A matrix table processing device and program that analyze and classify matrix table data types, adding a visual effect image to distinguish data types, reducing the need for manual inspection.
Reduces the workload of checking matrix table contents by enabling automated data classification and visualization, making manual inspection less necessary.
Smart Images

Figure 2025159975000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a matrix table processing device and a matrix table processing program. [Background technology]
[0002] There has been a proposal for a document recognition device that can handle a wider variety of documents by extracting heading phrases corresponding to item names, etc. as keywords and determining the document type based on the type of extracted keyword and the position at which that keyword is extracted, etc. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2010-3155 Summary of the Invention [Problem to be solved by the invention]
[0004] However, in a matrix table, the header characters on the vertical and horizontal sides and the intersecting squares (cells) have meaning, and it is sometimes necessary to check the contents of the matrix table. The contents of a matrix table can be checked either by image analysis or by visual inspection by an operator. When image analysis is used, there are many operational constraints, such as the matrix table must have a specified layout and must be in a format that can be read by an OCR (Optical Character Recognition / Reader), such as not touching any ruled lines.
[0005] Therefore, when checking the contents of a matrix table, it is often necessary for an operator to visually check the contents. One aspect of the present invention is to reduce the workload of checking the contents of a matrix table made up of image data. [Means for solving the problem]
[0006] In order to achieve the above object, a matrix table processing device is provided as follows: The matrix table processing device has a control unit that enables execution of an image data acquisition process that acquires first image data including an image of a matrix table, a data range identification process that identifies a header range and a data range of the matrix table from the first image data, a data classification process that classifies data included in the data range by type, and an image data generation process that generates second image data by adding a visual effect image to the first image data that can identify data corresponding to a specific type among the types.
[0007] Furthermore, to achieve the above object, a matrix table processing program is provided as follows: The matrix table processing program causes a computer to execute an image data acquisition process for acquiring first image data including an image of a matrix table, a data range identification process for identifying a header range and a data range of the matrix table from the first image data, a data classification process for classifying data included in the data range by type, and an image data generation process for generating second image data by adding to the first image data a visual effect image that can identify data corresponding to a specific type among the types. [Effects of the Invention]
[0008] According to one aspect, it is possible to reduce the workload of checking the contents of a matrix table made up of image data. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 illustrates an example of a matrix table processing apparatus according to a first embodiment. [Figure 2] FIG. 10 illustrates an example of a matrix table processing system according to a second embodiment. [Figure 3] FIG. 10 is a diagram illustrating an example of functional blocks of a matrix table processing apparatus according to a second embodiment. [Figure 4]FIG. 10 illustrates an example of a hardware configuration of a matrix table processing apparatus according to a second embodiment. [Figure 5] FIG. 10 is a diagram illustrating an example of a flowchart of matrix table processing according to the second embodiment. [Figure 6] FIG. 10 is a diagram illustrating an example of image data of a matrix table according to the second embodiment. [Figure 7] FIG. 10 is a diagram illustrating an example of ruled line information according to the second embodiment. [Figure 8] FIG. 10 is a diagram illustrating an example of full-page character extraction according to the second embodiment. [Figure 9] FIG. 10 is a diagram illustrating an example of character string identification according to the second embodiment. [Figure 10] FIG. 10 is a diagram illustrating an example of a matrix table range according to the second embodiment. [Figure 11] FIG. 10 is a diagram illustrating an example of specifying a headline character string range according to the second embodiment. [Figure 12] FIG. 10 is a diagram showing an example (part 1) of a matrix table according to the second embodiment. [Figure 13] FIG. 10 is a diagram illustrating an example (part 2) of a matrix table according to the second embodiment. [Figure 14] FIG. 10 is a diagram illustrating an example of specifying a matrix table type according to the second embodiment. [Figure 15] FIG. 10 is a diagram illustrating an example (part 3) of a matrix table according to the second embodiment. [Figure 16] FIG. 10 is a diagram illustrating an example of specifying a data range according to the second embodiment. [Figure 17] FIG. 10 is a diagram illustrating an example of data coordinate correction according to the second embodiment. [Figure 18] FIG. 10 is a diagram illustrating an example of a frequency table according to the second embodiment. [Figure 19] FIG. 10 is a diagram illustrating an example of a data classification table according to the second embodiment. [Figure 20] FIG. 10 is a diagram illustrating an example (part 1) of a visual effect index according to the second embodiment. [Figure 21] FIG. 10 is a diagram showing an example (part 1) of generated image data according to the second embodiment. [Figure 22]FIG. 10 is a diagram illustrating an example (part 2) of a visual effect index according to the second embodiment. [Figure 23] FIG. 10 is a diagram showing an example (part 2) of generated image data according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0010] The present embodiment will be described below with reference to the drawings. Note that each embodiment can be implemented in combination with a plurality of other embodiments within a consistent range. [First embodiment] First, the first embodiment will be described with reference to Fig. 1. Fig. 1 is a diagram showing an example of a matrix table processing device of the first embodiment. The matrix table processing device 1 is an information processing device that analyzes the table layout of acquired image data of a matrix table, classifies data in the analyzed table layout by type, and superimposes the classification results on the image data of the matrix table as a visual effect.
[0011] The matrix table processing device 1 is used, for example, when checking data in matrix tables such as inventory lists, parts lists, tournament tables, etc. acquired as image data, and superimposes the data classification results on the matrix table as a visual effect to assist in data checking.
[0012] In the past, image analysis of matrix tables had many operational constraints, such as the requirement that the matrix table layout be specified, that the lines be uniform (same width, no distortion or blurring, etc.), and that the information not be in contact with the lines, making it possible for OCR to read it.
[0013] The matrix table processing device 1 can analyze matrix tables whose table layout is not specified in advance, and can analyze the table layout of a matrix table and classify the analyzed table layout by data type. The matrix table processing device 1 can also superimpose the classification results on the image data of the matrix table as a visual effect. This allows the matrix table processing device 1 to reduce the workload of checking the contents of a matrix table made up of image data. For example, when checking image data of a matrix table without superimposing the classification results as a visual effect, it is necessary to use a ruler to track the headings and relationships with other data, which can be a heavy workload, but the matrix table processing device 1 reduces this workload.
[0014] The matrix table processing device 1 includes a control unit 2. The control unit 2 executes a matrix table processing program to enable image data acquisition processing, data range specification processing, data classification processing, and image data generation processing.
[0015] The control unit 2 executes the image data acquisition process to acquire first image data 3 including an image of a matrix table. The control unit 2 may acquire the first image data 3 from an image input device such as a scanner, camera, or facsimile connected to the matrix table processing device 1. The control unit 2 may also acquire the first image data 3 from another information processing device via a network connected to the matrix table processing device 1.
[0016] The first image data 3 is image data including an image of a matrix table. The matrix table processing device 1 does not limit the image of the matrix table included in the first image data 3 to an image of a matrix table whose table layout is defined in advance.
[0017] The control unit 2 executes a data range identification process to separately identify a header range and a data range of a matrix table from the first image data 3. The control unit 2 obtains an identification result 4 as a result of executing the data range identification process. The identification result 4 is the result of separately identifying the header range and the data range of the matrix table. The header range of the matrix table includes a horizontal header (data column header) range and a vertical header (data row header) range. The data range includes one or more data cells whose position (coordinates) can be identified by a matrix defined by the horizontal header range and the vertical header range. Note that a data cell may correspond to a unit cell equal to the number of rows x the number of columns, or may be a combined cell formed by combining two or more unit cells.
[0018] The control unit 2 executes a data classification process to classify the data included in the data range by type. The control unit 2 obtains a classification result 5 as a result of executing the data classification process based on the identification result 4.
[0019] For example, the control unit 2 classifies the data by type based on whether or not the data exists and whether or not the data is the same. The classification result 5 for the first image data 3 leaves blank cells blank, data cells containing the data "◯" as "1", data cells containing the data "△" as "2", and data cells containing the data "◇" as "3".
[0020] The control unit 2 may classify data not only based on the presence or absence of data or differences in data, but also based on data type (numeric data, character data, symbol data, date data, etc.), the size of the data compared to a threshold value (large or small, etc.), other criteria, or a combination of these.
[0021] The control unit 2 executes the image data generation process to add a visual effect image to the first image data 3, which can identify data corresponding to a specific type among the types, to generate second image data 6. The control unit 2 adds the visual effect image to the corresponding data according to the definition of the specific type. The second image data 6 superimposes an extremely dark color on data cells corresponding to data "◯", a dark color on data cells corresponding to data "△", and a light color on data cells corresponding to data "◇". In this way, the matrix table processing device 1 can reduce the workload of checking the contents of a matrix table made up of image data.
[0022] The specific type may be either the presence or absence of data, data of a specific value, data of a specific type, or data that meets a specific criterion. The specific type may be one or more. For example, the control unit 2 may determine only the presence of data as the specific type, or may define the specific value "1" as the first specific type and the specific value "2" as the second specific type. The definition of the specific type may be predetermined or may be selected by the operator.
[0023] The visual effect image makes it easy to distinguish between data corresponding to a specific type and other data by adding a color, a shade of color, a hatch, etc. to the data cell. Note that the visual effect image is not limited to the data cell, but may be made easy to distinguish between data corresponding to a specific type and other data by the text color, the shade of the text color, etc. of the data in the data cell, or a combination of these.
[0024] The control unit 2 may make it possible to check the second image data 6 from an image output device such as a monitor or printer connected to the matrix table processing device 1. The control unit 2 may also make it possible to check the second image data 6 from an image output device such as a monitor or printer connected to another information processing device via a network connected to the matrix table processing device 1.
[0025] As a result, the matrix table processing device 1 can replace the workload of checking the contents of a matrix table made up of the first image data 3 with the workload of checking the contents of a matrix table to which a visual effect image made up of the second image data 6 has been added, thereby reducing the workload.
[0026] Second Embodiment Next, a second embodiment will be described. The second embodiment relates to a matrix table processing system. The matrix table processing system 10 is a system that assists in checking the content of a matrix table recorded as image data. The matrix table processing system 10 assists in checking the content of specific data by adding a visual effect image to specific data included in a matrix table recorded as image data. The matrix table to be checked is, for example, a parts list or inventory list recorded as image data from an image input device such as a scanner.
[0027] First, the system configuration of the matrix table processing system will be described with reference to Fig. 2. Fig. 2 is a diagram showing an example of the matrix table processing system according to the second embodiment. The matrix table processing system 10 includes a matrix table processing device 100 and an information processing device 14. The matrix table processing device 100 and the information processing device 14 are communicably connected via a network 11. The matrix table processing device 100 is connected to a scanner 12 and can acquire image data of a matrix table read by the scanner 12. The matrix table processing device 100 may acquire image data of a matrix table from an image input device such as a camera or a facsimile instead of the scanner 12. The matrix table processing device 100 is connected to a monitor 13 and can output a matrix table to which a visual effect image generated by the matrix table processing device 100 has been added from the monitor 13. The matrix table processing device 100 may output a matrix table to which a visual effect image has been added from an image output device such as a printer instead of the monitor 13.
[0028] The matrix table processing device 100 can also communicate image data with an information processing device 14 connected via a network 11. The matrix table processing device 100 can acquire image data of a matrix table read by a scanner 15 connected to the information processing device 14. The matrix table processing device 100 can also output a matrix table with a visual effect image from a monitor 13 connected to the information processing device 14. The information processing device 14 may have a storage unit and be configured to be able to store and hold image data. In this case, the matrix table processing device 100 may acquire image data from the storage unit of the information processing device 14, or may store a matrix table with a visual effect image in the storage unit of the information processing device 14.
[0029] Next, the functional blocks of the matrix table processing device 100 will be described with reference to Fig. 3. Fig. 3 is a diagram showing an example of the functional blocks of the matrix table processing device of the second embodiment. The matrix table processing device 100 includes a control unit 110 and a storage unit 120. The control unit 110 realizes the functions of the control unit 2 shown in the first embodiment.
[0030] The control unit 110 includes a full-page character extraction unit 130, a matrix table discrimination unit 131, a data analysis unit 132, and an image data generation unit 133. The storage unit 120 can store and retain a handwritten character dictionary database 121, a printed character dictionary database 122, a matrix table type database 123, and image data 124.
[0031] In addition, the memory unit that stores and holds the handwritten character dictionary database 121, the printed character dictionary database 122, the matrix table type database 123, and the image data 124 does not necessarily have to be included in the matrix table processing device 100, but may be included in the information processing device 14, as long as it is accessible by the control unit 110.
[0032] The handwritten character dictionary database 121 is a dictionary database used to determine whether data read by OCR is handwritten or not. The printed character dictionary database 122 is a dictionary database used to determine whether data read by OCR is printed or not. The matrix table type database 123 is a database used to identify the basic classification types of matrix tables (L-type 1 to L-type 4, T-type 1, T-type 2, and X-type). The matrix table type database 123 is not a database of specific matrix tables such as inventory tables, parts lists, and tournament tables. The image data 124 stores and holds image data of acquired matrix tables and visual effect images. The memory unit 120 has a work area that stores and holds working data used in the process of generating visual effect images from the image data of the matrix tables.
[0033] The control unit 110 acquires the image data of the acquired matrix table (first image data), and generates image data (second image data) by superimposing a visual effect image on the image data of the matrix table.
[0034] The full-page character extraction unit 130 extracts character strings contained in the matrix table from the acquired matrix table image data. The matrix table determination unit 131 identifies a data range based on the extracted character strings. The data analysis unit 132 analyzes (classifies) the data contained in the data range. The image data generation unit 133 generates a visual effect image based on the data analysis results, and generates image data on which the generated visual effect image is superimposed. Details of the processes executed by the full-page character extraction unit 130, matrix table determination unit 131, data analysis unit 132, and image data generation unit 133 will be described later using FIG. 5.
[0035] Next, the hardware configuration of the matrix table processing device 100 will be described with reference to FIG. 4. FIG. 4 is a diagram showing an example of the hardware configuration of the matrix table processing device of the second embodiment. The matrix table processing device 100 is entirely controlled by a processor 101. A memory 102 and multiple peripheral devices are connected to the processor 101 via a bus 106. The processor 101 may be a multiprocessor. The processor 101 is, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or a DSP (Digital Signal Processor). At least some of the functions realized by the processor 101 executing a program may be realized by an electronic circuit such as an ASIC (Application Specific Integrated Circuit) or a PLD (Programmable Logic Device). The control unit 110 can be realized by the processor 101.
[0036] The memory 102 is used as a main storage device of the matrix table processing device 100. The memory 102 temporarily stores at least a part of the OS (Operating System) program and application programs to be executed by the processor 101. The memory 102 also stores various data used in processing by the processor 101. As the memory 102, for example, a volatile semiconductor storage device such as a RAM (Random Access Memory) is used. The storage unit 120 can be realized by the memory 102.
[0037] The peripheral devices connected to the bus 106 include a network interface 103 , a graphics interface 104 , and an input / output interface 105 . The network interface 103 is connected to the network 11. The network interface 103 transmits and receives data to and from other computers or communication devices via the network 11.
[0038] The monitor 13 is connected to the graphic interface 104. The graphic interface 104 displays an image on the screen of the monitor 13 in accordance with an instruction from the processor 101. The monitor 13 may be a display device using an organic EL (Electro Luminescence) display device, a liquid crystal display device, or the like.
[0039] Required input devices (for example, scanner 15) and output devices are connected to input / output interface 105. Furthermore, input / output interface 105 transmits signals sent from the input devices to processor 101. Furthermore, input / output interface 105 transmits signals sent from processor 101 to the output devices.
[0040] The matrix table processing device 100 can realize the processing functions of the second embodiment with the hardware configuration described above. Note that the matrix table processing device 1 shown in the first embodiment and the information processing device 14 shown in the second embodiment can also be realized with hardware similar to that of the matrix table processing device 100 shown in FIG.
[0041] The matrix table processing device 100 realizes the processing functions of the second embodiment by, for example, executing a program recorded on a computer-readable recording medium. The program describing the processing to be performed by the matrix table processing device 100 can be recorded on various recording media. For example, the program to be executed by the matrix table processing device 100 can be stored in a storage device (not shown). The processor 101 loads at least a part of the program from the storage device into the memory 102 and executes the program. The program to be executed by the matrix table processing device 100 can also be recorded on a portable recording medium (not shown), such as an optical disk, memory device, or memory card. The program stored on the portable recording medium becomes executable after being installed in the storage device under the control of the processor 101, for example. The processor 101 can also read and execute the program directly from the portable recording medium.
[0042] Next, the matrix table processing executed by the matrix table processing device 100 will be described with reference to Fig. 5. Fig. 5 is a diagram showing an example of a flowchart of the matrix table processing according to the second embodiment. The matrix table processing is a process executed by the control unit 110 of the matrix table processing device 100, and is a process of acquiring image data of a matrix table and generating image data in which a visual effect image is superimposed on the image data of the matrix table.
[0043] [Step S11] The control unit 110 acquires image data of the matrix table (matrix table image data, first image data) from the scanner 12 connected to the matrix table processing device 100. The scanner 12 generates image data of the matrix table by optically reading a matrix table printed on a paper medium or the like. The control unit 110 may acquire image data of the matrix table stored and held in the memory unit 120, or may acquire image data of the matrix table via the information processing device 14.
[0044] Here, the image data of a matrix table will be described with reference to Fig. 6. Fig. 6 is a diagram showing an example of image data of a matrix table according to the second embodiment. Image data 200 is one of the image data of a matrix table acquired from the scanner 12. The image data 200 includes a header range consisting of a header row located on the left side of the matrix table and a header column located below the matrix table, and a data range defined by the header range.
[0045] The header row located on the left side of the matrix table displays the following headers in horizontal text from left to right: "11111", "22222", "33333", "44444", "55555", "66666", and "77777". The header column located below the matrix table displays the following headers in horizontal text from bottom to top: "AAAAAAAA", "BBBBBBB", "CCCCCCC", "DDDD", "EEEEEEE", and "FFFFF".
[0046] The data range defined by the header columns and header rows of the matrix table has data "◎" in row 1, column 6, row 3, column 2, and row 6, column 4, has data "〇" in row 5, column 3 and row 7, column 6, has data "△" in row 2, column 5, and row 6, column 1, and the rest have no data.
[0047] Since the image data 200 is generated by the scanner 12, the ruled lines may not be uniform, or the data may be in contact with the ruled lines, making it difficult to read by OCR. [Step S12] The control unit 110 (full-area character extraction unit 130) extracts ruled line information from the image data of the matrix table acquired from the scanner 12. The control unit 110 (full-area character extraction unit 130) extracts line segments included in the matrix table, and can extract multiple line segments that are aligned in a straight line as a single ruled line, even if the line segment is divided into two or more line segments due to blurring or overlap with characters, etc. Furthermore, the control unit 110 (full-area character extraction unit 130) can correct any distortion, such as meandering, that occurs in the middle of the ruled line to a straight line connecting the start point and the end point.
[0048] The extracted ruled line information will now be described with reference to FIG. 7. FIG. 7 is a diagram showing an example of ruled line information according to the second embodiment. Ruled line information 202 includes information on multiple ruled lines 203 arranged horizontally and information on multiple ruled lines 204 arranged vertically. The information on ruled lines 203 and 204 can be defined as a set of coordinate pairs for the start and end points of each ruled line. Note that ruled line information 202 may be corrected so that non-joining 205 between vertical and horizontal ruled lines and overhanging 206 of a terminal ruled line are joined without overhang.
[0049] [Step S13] The control unit 110 (full-text character extraction unit 130) extracts characters from the image data of the matrix table. The control unit 110 can use the handwritten character dictionary database 121 and the printed character dictionary database 122 for character extraction.
[0050] [Step S14] The control unit 110 (full-text character extraction unit 130) identifies one or more characters extracted from each data cell (not limited to the data range, but including the header range) as a character string. The control unit 110 makes the character arrangement of the identified character string distinguishable. For example, the control unit 110 makes it possible to distinguish between vertical and horizontal writing for the identified character string. The control unit 110 also makes it possible to distinguish between left-to-right, right-to-left, top-to-bottom, and bottom-to-top writing for the identified character string.
[0051] Here, full-area character extraction showing the results of distinguishing character sequences will be described with reference to Fig. 8. Fig. 8 is a diagram showing an example of full-area character extraction according to the second embodiment. Full-area character extraction 210 shows how character sequences are distinguished for each specified character string. Full-area character extraction 210 shows how character sequences are distinguished for each specified character string.
[0052] For example, character array 211 is identified as a horizontally written character string consisting of "11111" arranged from left to right. Other horizontally written character strings arranged from left to right include "22222," "33333," "44444," "55555," "66666," and "77777." Character array 212 is identified as a horizontally written character string consisting of "AAAAAAAA" arranged from bottom to top. Other horizontally written character strings arranged from bottom to top include "BBBBBBB," "CCCCCCC," "DDDD," "EEEEEEE," and "FFFFF." Character array 213 is a horizontally written character string consisting of a single character "◎," but is identified as a horizontally written character string arranged from left to right as a default setting. Other horizontally written character strings consisting of a single character arranged from left to right include two "◎"s (three in total), two "◯," and two "△."
[0053] Here, character string identification, in which one or more characters are identified as a character string, will be described with reference to Fig. 9. Fig. 9 is a diagram showing an example of character string identification in the second embodiment. Character string identification 216 generates text data 218 corresponding to a character image 217 included in a data cell. For convenience, the text data 218 is displayed in the upper left corner of the character image 217, but it does not necessarily have to be superimposed on the image data in the matrix table, and a separately prepared correspondence table may be created and recorded.
[0054] For example, the text data "expense" is generated from the character image "expense" using the handwritten character dictionary database 121 or the printed character dictionary database 122. Similarly, the text data "100" is generated from the character image "100." Furthermore, the text data "expense" is specified to be displayed left-justified in the data cell, and the text data "100" is specified to be displayed right-justified in the data cell. Note that the text data "100" consisting of numbers may be specified as numeric data, or may be further specified as numeric data on the condition that it is displayed right-justified.
[0055] [Step S15] The control unit 110 (matrix table determination unit 131) identifies the matrix table range based on the ruled line information extracted in step S12. For example, the control unit 110 can identify, as the matrix table range, a rectangle that includes the start point and end point of each ruled line included in the ruled line information.
[0056] Here, the matrix table range specified based on the ruled line information will be described with reference to FIG. 10. FIG. 10 is a diagram showing an example of a matrix table range in the second embodiment. A matrix table range 220 indicates a matrix table range (a range surrounded by a thick rectangular line) specified based on the ruled line information. The matrix table range 220 includes within its range the matrix table specified based on the ruled line information. For example, the matrix table range 220 includes within its range the image data 200. The image data 200 is an inverted L-shaped matrix table, and the matrix table range 220 is a rectangle that includes the image data 200.
[0057] [Step S16] The control unit 110 (matrix table determination unit 131) identifies a header character string range based on the character string identified in step S14. The control unit 110 groups the character strings identified in step S14 by character arrangement type, and identifies the character strings that make up the header row and the character strings that make up the header column. The control unit 110 identifies the header character string range from the header row and the header column. The control unit 110 can define (correct) the coordinates that identify the header character string range in the image data 200 based on the ruled line information.
[0058] Here, a headline string range identified based on a character string will be described with reference to FIG. 11. FIG. 11 is a diagram showing an example of headline string range identification in the second embodiment. Headline string range identification 222 shows how headline string range (headline row) 223 and headline string range (headline column) 224 are identified as headline string ranges. Headline string range (headline row) 223 has multiple horizontally written character strings lined up vertically from left to right, so a character string including character array 211 is identified as a headline string. Headline string range (headline column) 224 has multiple horizontally written character strings lined up horizontally from bottom to top, so a character string including character array 212 is identified as a headline string. Note that a headline string range based on a character string may be identified by, in addition to character array, left-justified display, right-justified display, character type (Japanese notation, English notation, numbers, symbols), or a combination of these. Furthermore, the sequence of multiple character strings may not be allowed to include blank data cells, or may allow a limited number of blank data cells, or may allow blank data cells if they do not correspond to headings in relation to the data cells in the data range.
[0059] [Step S17] The control unit 110 (matrix table discrimination unit 131) determines which basic classification type the matrix table is based on the header character string range determined in step S16. The control unit 110 searches the data range horizontally from the header row and vertically from the header column, thereby determining the basic classification type of the matrix table based on the relationship between the header range and the data range. The basic classification types include the L type, T type, and X type. Note that determining the basic classification type corresponds to determining the positional relationship between the header range and the data range.
[0060] An L-type is a matrix table in which the header row and header column form an L shape. There are four types of L-types: L-type 1 to L-type 4. L-type 1 is a matrix table in which the header row is placed on the left and the header column is placed below, forming an L shape. L-type 2 is a matrix table in which L-type 1 is rotated 90 degrees to the left. L-type 3 is a matrix table in which L-type 1 is rotated 180 degrees, forming an inverted L shape. L-type 4 is a matrix table in which L-type 1 is rotated 90 degrees to the right. Note that in some L-types, the header row and header column may form an inverted L shape, and L-type 1 to L-type 4 each include the inverted type.
[0061] The T-type is a matrix table in which the header row and header column form a T shape. The L-type is divided into T-type 1 and T-type 2. The T-type 1 is a matrix table in which the header row is placed at the top and the header column is placed in the middle left and right, forming a T shape. The T-type 2 is a matrix table in which the T-type 1 is rotated 90 degrees left.
[0062] The X-type is a matrix table in which the header rows and header columns form an X (cross) shape. There is one type of X-type. The X-type is a matrix table in which the header rows are positioned in the middle of the top and bottom and the header columns are positioned in the middle of the left and right to form an X shape.
[0063] Some specific examples of matrix tables of basic classification types will now be described with reference to Fig. 6, Fig. 12, and Fig. 13. Fig. 12 is a diagram showing an example (part 1) of a matrix table according to the second embodiment. Fig. 13 is a diagram showing an example (part 2) of a matrix table according to the second embodiment.
[0064] The matrix table of image data 200 already explained using Figure 6 is an L-type matrix table with the header row placed on the left and the header column placed below, forming an L shape. Matrix table 300 shown in Figure 12 is a T-type matrix table with the header row placed at the top and the header column placed in the middle left and right, forming a T shape. Matrix table 310 shown in Figure 13 is an X-type matrix table with the header row placed in the middle top and bottom and the header column placed in the middle left and right, forming an X shape. In this way, matrix tables can roughly be classified into basic classification types.
[0065] Here, matrix table type identification based on a header string range will be described with reference to FIG. 14. FIG. 14 is a diagram showing an example of matrix table type identification according to the second embodiment. Matrix table type identification 226 shows how a matrix table type is identified from a header string range (header row) 223 and a header string range (header column) 224. The control unit 110 searches for a data range horizontally from the header string range (header row) 223. Because no data cells exist to the left of the header string range (header row) 223, the control unit 110 sets the right direction of the header string range (header row) 223 as the search direction 227 for data cells. The control unit 110 detects that a data range exists to the right of the header string range (header row) 223 by finding a character array (for example, character array 213) in a data cell in the search direction 227.
[0066] Furthermore, control unit 110 searches for a data range vertically from header character string range (header column) 224. Because there are no data cells below header character string range (header column) 224, control unit 110 sets the direction above header character string range (header column) 224 as search direction 228 for data cells. Control unit 110 detects that there is a data range above header character string range (header column) 224 by finding a character array (for example, character array 213) in a data cell in search direction 228.
[0067] Control unit 110 can identify that the matrix table type is L-type 1 because there is a data range to the right of header character string range (header row) 223 and above header character string range (header column) 224.
[0068] [Step S18] The control unit 110 (matrix table determination unit 131) evaluates whether the matrix table type is consistent with the identified basic classification type. If the control unit 110 determines that the matrix table type is consistent, it proceeds to step S19. If the control unit 110 determines that the matrix table type is inconsistent (mismatched), it proceeds to step S16, where it re-executes the identification of the header character string range and the identification of the matrix table type. Note that when re-executing the operations, the control unit 110 can attempt to change the identification criteria for the header character string range, or to change, expand, or reduce the mismatched header character string range.
[0069] Here, a matrix table that requires re-execution in identifying the header character string range and the matrix table type will be described with reference to FIG. 15. FIG. 15 is a diagram showing an example (part 3) of a matrix table according to the second embodiment. Matrix table 320 has header row candidates 321, 322, 323, 324, and 325, and header column candidates 326, 327, 328, and 329. Heading row candidates 321 and 322 and heading column candidates 326 and 327 are excluded from the header row candidates based on the direction in which the character strings are arranged and the number of headers, while heading row candidate 324 can be excluded from the header row candidates based on the number of headers. Heading row candidate 324 and heading column candidate 328 can be evaluated as inconsistent in a consistency evaluation with the basic classification type, for example, because the range of heading row candidate 324 and the range of heading column candidate 328 are not adjacent. In a consistency evaluation with the basic classification type, header row candidate 325 and header column candidate 329 can be evaluated as consistent, for example, because the range of header row candidate 325 and the range of header column candidate 329 are adjacent. As a result, matrix table 320 is an L-shaped matrix table in which the header row (header row candidate 325) is positioned on the left and the header column (header column candidate 329) is positioned on top, forming an L shape, and is therefore an L-type 3 (inverted type).
[0070] [Step S19] The control unit 110 (matrix table determination unit 131) identifies the data range based on the matrix table type identified in step S17 and the matrix table range identified in step S15.
[0071] Here, data range identification based on a matrix table type and a matrix table range will be described with reference to FIG. 16. FIG. 16 is a diagram showing an example of data range identification according to the second embodiment. Data range identification 230 shows how a data range 231 is identified from a matrix table type (L-type 1) identified from a header string range (header row) 223 and a header string range (header column) 224, and from the matrix table range 220. The L-type 1 matrix table can identify a data range 231 within the matrix table range 220, to the right of the header string range (header row) 223 and above the header string range (header column) 224. Note that because the data range 231 includes data cells having a character array (for example, character array 213), the identification of the data range 231 can be evaluated as being preferable.
[0072] [Step S20] The control unit 110 (matrix table determination unit 131) corrects the coordinates of the data cells using the ruled line information, thereby correcting coordinate errors due to distortions or other factors contained in the image data through the ruled line information.
[0073] Here, data coordinate correction based on ruled line information will be described with reference to FIG. 17. FIG. 17 is a diagram showing an example of data coordinate correction according to the second embodiment. Data coordinate correction 234 shows how the position of a data cell 236 is corrected based on the position (ruled line information) of a ruled line 235 in a data range 231. For example, if there is an error between the coordinates of the four corners of the data cell 236 and the coordinates of the intersections of the vertical and horizontal ruled lines, the coordinates of the four corners of the data cell 236 are corrected to the coordinates of the intersections of the vertical and horizontal ruled lines. This allows the matrix table processing device 100 to accurately identify the header row and header column corresponding to the data cell 236.
[0074] The data coordinate correction of the data cell 236 may be performed by aligning the vertices of the data cell 236 with the coordinates of the intersection of the vertical and horizontal ruled lines, or by providing a predetermined offset to the coordinates of the intersection of the vertical and horizontal ruled lines.
[0075] [Step S21] The control unit 110 (data analysis unit 132) executes a data analysis process to analyze data cells in the data range. The data analysis process refers to the corresponding data for the data cells in the data range and classifies them into required data types. For example, the control unit 110 can classify data based on the presence or absence of data, differences in data, data type (numeric data, character data, symbol data, date data, etc.), data size (large or small, etc.) compared to a threshold, other criteria, or a combination of these.
[0076] Here, as an example of data analysis, data appearance frequency analysis will be described with reference to Fig. 18 and Fig. 19. Fig. 18 is a diagram showing an example of a frequency table according to the second embodiment. Fig. 19 is a diagram showing an example of a data classification table according to the second embodiment.
[0077] The frequency table 240 is a frequency table of data in the data range 231. The data type "◎" has the number of data "3", the data type "◯" has the number of data "2", and the data type "△" has the number of data "2". Note that the number of data for the data type "no data" is not counted, but the number of data may be counted.
[0078] Each data type is assigned an index as a heading, with the data type "no data" being index "0," the data type "◎" being index "1," the data type "◯" being index "2," and the data type "△" being index "3." This allows the matrix table processing device 100 to assign visual effects, which will be described later, to each index.
[0079] In the data classification table 242, the data cells in the data range are arranged in a 7-row, 6-column array, and an index corresponding to the data is set for each data cell. For example, a data cell with a data type of "no data" is set to an index of "0," a data cell with a data type of "◎" is set to an index of "1," a data cell with a data type of "◯" is set to an index of "2," and a data cell with a data type of "△" is set to an index of "3."
[0080] [Step S22] The control unit 110 (image data generation unit 133) executes an image data generation process to apply a visual effect to the data cells in the data range and generate image data (generated image data). The control unit 110 determines the visual effect to be applied to the data cells for each index.
[0081] Here, an example of a visual effect index table that defines the visual effects determined for each index will be described with reference to Fig. 20, and an example of generated image data will be described with reference to Fig. 21. Fig. 20 is a diagram showing an example (part 1) of a visual effect index according to the second embodiment. Fig. 21 is a diagram showing an example (part 1) of generated image data according to the second embodiment.
[0082] Visual effect index table 244 defines visual effect "none" at index "0," visual effect "A" at index "1," visual effect "B" at index "2," and visual effect "C" at index "3." Visual effect "A," visual effect "B," and visual effect "C" are all different visual effects, and can be defined as different types such as different colors, different densities, or shading.
[0083] The visual effects defined by such a visual effect index table 244 can be superimposed on the image data 200, and the matrix table processing device 100 can generate generated image data 246. The generated image data 246 has dark red superimposed as visual effect "A" in data cell 247 corresponding to index "1," light red superimposed as visual effect "B" in data cell 248 corresponding to index "2," and very light red superimposed as visual effect "C" in data cell 249 corresponding to index "3."
[0084] This allows the matrix table processing device 100 to impart different visual effects to each value of a data cell in a data range, thereby reducing the workload of checking the contents of a matrix table.
[0085] In the visual effect index table, the visual effects corresponding to the indexes may be fixed, or may be changeable according to conditions. Here, an example of a visual effect index table that dynamically defines and changes the visual effects corresponding to the indexes will be described with reference to FIG. 22, and an example of generated image data will be described with reference to FIG. 22. FIG. 22 is a diagram showing an example (part 2) of the visual effect index of the second embodiment. FIG. 23 is a diagram showing an example (part 2) of the generated image data of the second embodiment.
[0086] The visual effect index table 252 allows the setting condition of a visual effect to be specified as to whether or not the data cell corresponding to the index is selected. For example, the index of the data cell at the coordinates corresponding to the cursor position displayed on the monitor 13 is set to selected "Y", and the remaining indexes are set to unselected "N". The visual effect "A" is set to index "2" of selected "Y", and the visual effect "none" is set to indexes "0", "1", and "3" of unselected "N".
[0087] The visual effects defined by such a visual effect index table 252 can be superimposed on the image data 200, and the matrix table processing device 100 can generate the generated image data 254. The generated image data 254 superimposes dark red as visual effect "A" on the data cell 256 corresponding to index "2." The generated image data 254 also superimposes no visual effect on the data cell 255 corresponding to index "1" and the data cell 257 corresponding to index "3," just like the data cell with no data corresponding to index "0."
[0088] This allows the matrix table processing device 100 to impart visual effects according to conditions to each value of a data cell in a data range, thereby reducing the workload of checking the contents of a matrix table. Note that the conditions for setting the visual effects are not limited to whether a data cell is selected or not, but may also be the data type corresponding to the data cell, the size of the data value, or other conditions.
[0089] [Step S23] The control unit 110 (image data generation unit 133) outputs the generated image data as visual effect image data, and terminates the matrix table processing. The output destination may be the monitor 16 in addition to the monitor 13, or may be stored in the storage unit 120 as image data 124 for later confirmation, or may be stored in the information processing device 14.
[0090] Such a matrix table processing device 100 can reduce the workload of checking the contents of a matrix table. Furthermore, since the matrix table processing device 100 does not require selection of a matrix table to be checked, there is no need to pre-register a matrix table format.
[0091] It should be noted that the disclosed embodiments are illustrative in all respects and should not be considered limiting. Furthermore, the configurations of the above-described embodiments and modifications may be combined and applied. The scope of the present invention is defined by the claims, not the above description, and is intended to include all modifications within the meaning and scope of the claims. [Explanation of symbols]
[0092] 1,100 matrix table processing equipment 2,110 Control unit 10 Matrix Table Processing System 11 Network 12,15 Scanner 13,16 monitor 14 Information processing equipment
Claims
1. an image data acquisition process for acquiring first image data including an image of a matrix table; a data range specification process for specifying a header range and a data range of the matrix table from the first image data; a data classification process for classifying data included in the data range by type; a control unit that enables execution of an image data generation process that generates second image data by adding a visual effect image that can identify data corresponding to a specific type of the types to the first image data; A matrix table processing device having:
2. the data range identification process includes a process of identifying a positional relationship between a header range of the matrix table and a data range from a header range of the matrix table, identifying a table range of the matrix table from ruled line information included in the first image data, and identifying the data range from the positional relationship and the table range. The matrix table processing device according to claim 1 .
3. the data classification process includes a process of creating a frequency table for each type of data included in the data range, the image data generation process includes a process of generating the visual effect image based on the frequency table. The matrix table processing device according to claim 2 .
4. the data classification process includes a process of creating a sequence table of data included in the data range, the image data generation process includes a process of generating the visual effect image by making specific data included in the array table identifiable; The matrix table processing device according to claim 2 .
5. the image data generation process includes a process of correcting coordinates of data cells included in the data range based on the ruled line information, and a process of specifying a position to which the visual effect image is to be added based on the corrected coordinates.
5. The matrix table processing device according to claim 3 or 4.
6. On the computer, an image data acquisition process for acquiring first image data including an image of a matrix table; a data range specification process for specifying a header range and a data range of the matrix table from the first image data; a data classification process for classifying data included in the data range by type; an image data generation process for generating second image data by adding a visual effect image that can identify data corresponding to a specific type of the types to the first image data;
Citation Information
Patent Citations
Form recognition apparatus, method, database generation apparatus, method, and program
JP2010003155A