|
Description  |
|
|
BACKGROUND OF THE INVENTION
This invention relates to a character reader for recognizing printed
characters, and more specifically to a system for recognizing printed
characters from images including ruled lines and then generating character
codes, and to a system for forming tables by controlling positions and
types of ruled lines forming them.
Recently, with advances in computers and databases, various kinds of
character recognition systems have been realized which utilize an image
reader to read printed characters, recognize them as characters and
symbols thereof, and then encode them for storing in a memory.
With such a system, the position of a ruled line may be erroneously
recognized and the recognition results may be output without and
adjustment, causing display misplacement or breaks in ruled lines or frame
lines. This occurs because the number and width of characters are
different in each row and column of the table. Therefore, a technology is
required for recognizing ruled lines as well as characters. To meet this
requirement, it is necessary to determine the position and type of a ruled
line of a table according to the recognition result of characters and
tables, and then to appropriately form a table by preventing misplaced
frame lines, etc.
With the increasing world-wide use of word processors, most office work now
involves preparation of documents with a lot of tables. In forming a large
or complicated table, the operation of pre-setting the positions of
vertical and horizontal frame lines is often troublesome to the operator.
Therefore, it is preferable to complete a table by determining the number
and size of items in it according to a series of inputted character codes
and then automatically determining the positions of its vertical and
horizontal lines.
DESCRIPTION OF THE RELATED ART
In some character recognition systems for recognizing characters and ruled
lines, ruled line images are extracted first, and after the ruled line
images have been eliminated from the screen, character images are
extracted. With these systems, however, erroneous extraction of ruled
lines may cause erroneous erasure from an original image. Therefore, the
positions of ruled lines relative to characters must be controlled.
In other character recognition systems, ruled lines are extracted first,
and then characters are extracted, avoiding the area of the ruled lines in
an original image. With this method, characters are extracted either
collectively in each strip enclosed in ruled lines, or from a whole
original image without splitting. Where characters are collectively
extracted in each strip, first the ruled lines are displayed and then the
characters in each strip are extracted, recognized, and restored in the
corresponding strip where the positions of ruled lines relative to
characters must be controlled. Where characters are extracted from a whole
original image without splitting, an image is displayed sequentially in
rows, ruled lines are encoded according to the type of line, and
recognized characters are encoded as characters.
Where ruled lines and characters are extracted from a whole image without
splitting, the extracting operation is performed sequentially in rows.
That is, first an image is scanned in rows, then characters are recognized
separately from ruled lines which are encoded according to the type of
line, and finally the characters are encoded by a recognition symbol. With
this method, table formation is executed after the whole image is
displayed, and the whole process can be performed faster than the method
of extracting characters separately from ruled lines. This is because the
pre-processing of ruled line recognition is not required.
Ruled line extracting methods utilize:
i) a method of extracting vertical line elements (primitives) from binary
image data and combining them into a line, and
ii) a method of splitting an image into vertical strips of binary image
data to obtain a horizontal histogram, splitting an image into horizontal
strips of binary image data to obtain a vertical histogram, detecting
anticipated ruled lines in each strip, and determining the continuity
according to the data of adjacent strips, thus forming a ruled line.
The above examples of prior art technology require a ruled line extractor
for extracting ruled lines in addition to a character area extractor, and
need to store the information of extracted ruled lines as coordinate
values representing the original image. This causes the problem that the
recognition device must be complicated.
An additional problem with the prior art technology is that the process
takes longer to recognize the whole image because characters are
recognized after ruled lines are extracted by a ruled line extractor.
In the prior technology, ruled lines are recognized as graphic data. Thus,
there is a problem that the graphic data cannot be directly inputted to a
word processor as normal character codes.
Therefore, the prior technology requires an application program to assign a
corresponding character code for a ruled line when the technology is used
with a word processor, etc.
The prior art also provides a table forming means based on the premise that
a table comprises ruled lines of equal length in the vertical direction
(hereinafter referred to as vertical ruled lines) and ruled lines of equal
length in the horizontal direction (hereinafter referred to as horizontal
ruled lines) in the form of a grid.
With this method, the recognition result for each row is checked to
determine whether it contains a character code representing a horizontal
ruled line. If it does not, it is then searched for a character code
representing a vertical ruled line. Accordingly, the number of items in
the vertical direction, the number of items in the horizontal direction
(hereinafter referred to as columns), and the maximum width of each item
are determined, thereby fixing the positions and sizes of vertical and
horizontal ruled lines.
In this case, a table can be outputted in the form of a grid as shown in
FIG. 1A. This grid is based on the recognition results indicating
irregular positions of vertical ruled lines as shown in FIG. 1B. Where a
part of a horizontal ruled line is broken during the recognizing
operation, the missing part can be supplemented as described above,
thereby restoring the original ruled line.
In the previously described prior art technology, a recognition result of a
row containing a horizontal ruled line outputs a horizontal ruled line
with the length corresponding to the width of a table. Accordingly, for
the table shown in FIG. 1C, a recognition result of a row containing both
characters and a ruled line will often form an erroneous table. Thus, the
prior art technology has the problem that it can not form various kinds of
complicated tables.
Some recent word processors have a function whereby a table is formed by
selecting a format of desired rows and columns and inputting character
codes in each column delimited appropriately with vertical ruled lines
without pre-determining positions of vertical and horizontal ruled lines.
However, these word-processors have to prepare a format for representing a
configuration of a table.
After careful consideration of these problems, this invention has been
developed to determine a configuration of a table according to inputted
character code strings and successfully form tables with various
configurations.
SUMMARY OF THE INVENTION
An object of the this invention is to speed up the recognizing operation by
enabling concurrent extraction of the ruled line area and character line
area by the same means, and to simplify the recognition system by
representing ruled lines in character code and forming ruled lines after
encoding the whole recognition result into character codes.
Another object of this invention is to provide a system for recognizing
characters and ruled lines, and encoding both of them into character
codes.
A further object of this invention is to improve character recognition
speeds by contemporaneously extracting ruled line regions and character
regions from an image of a document of characters mixed with ruled lines,
at outputting, as a structural part of the document, the recognized ruled
lines after being coded, and at correctly generating a structural part of
a table.
A feature of this invention resides in a character recognition device
comprising a ruled line extracting means, supplied with image information
to be recognized, for extracting ruled line coordinates from said image
information; a character recognizing means for recognizing characters from
the region excluding ruled lines extracted by said ruled line extracting
means; and a recognition result outputting means for outputting character
codes together with ruled line codes from the results obtained by said
ruled line extracting means and said character recognizing means.
A column processor supplements structural elements corresponding to
respective columns depending on whether or not the respective structural
elements contain horizontal ruled lines, and a ruled line processor
reshapes the respective vertical ruled lines depending on the preceding or
succeeding structural elements.
Hence, even a table containing a character mixed with a horizontal ruled
line is reshaped properly, and the horizontal ruled lines included in the
preceding and succeeding structural elements are connected to the vertical
ruled lines indicating sections, so that the quality of a reshaped table
is improved.
Since the ruled line processor supplements vertical frame lines until their
numbers are equal to the column number indicated by the form information,
a table whose column numbers differ for respective rows is reshaped. Even
if a vertical ruled line being a part of a frame showing an outline of a
table is not included in the recognition result, a table can be reshaped
with vertical frame lines supplemented.
BRIEF DESCRIPTION OF THE DRAWINGS
FIGS. 1A to 1C show examples of a table format;
FIG. 2A is a block diagram of a system, for explaining the first principle
of this invention;
FIG. 2B shows a configuration block diagram of an embodiment of the system
applied with the first principle of this invention;
FIG. 3 is a flowchart of the whole operating process of this invention;
FIG. 4 is a flowchart illustrating, in detail, the row recognition process
shown in FIG. 3;
FIG. 5 is an explanatory view for specifying the range of the layout image;
FIG. 6 is a view for explaining strips, y p o s 1, and y p o s 2;
FIG. 7 is a view for explaining a vertical histogram;
FIG. 8 is a view for explaining a downward search width determination;
FIG. 9 is a view for explaining an anticipated vertical ruled line
detection;
FIG. 10 is a view for explaining a vertical ruled line coordinate
determination;
FIG. 11 is a view for explaining a horizontal ruled line detection;
FIG. 12 shows an example of a result of the one-row-forming process;
FIG. 13 is a view showing an example of an outputted recognition result;
FIG. 14 is a view showing an example of an outputted ruled line formation;
FIG. 15 is a block diagram of a system, for explaining the second principle
of this invention;
FIG. 16 shows a block diagram of an embodiment applied with the second
principle of this invention;
FIG. 17 is a flowchart of the process of an embodiment of this invention;
FIG. 18 shows a process for obtaining the slant when no horizontal frame
lines exist;
FIG. 19 is a view for explaining each coordinate;
FIG. 20 shows a vertical histogram and a histogram after the vertical ruled
line area has been eliminated;
FIG. 21 is a block diagram of a system, for explaining the table forming
method according to the third principle of this invention;
FIG. 22 shows a block diagram of a type recognition system applied with the
table reshaping method according to the third principle of this invention;
FIG. 23 shows an example of a part relating to a table included in the
recognition results obtained by a recognizer;
FIG. 24 is a flowchart showing actions of a form analyzer;
FIG. 25 is a flowchart indicating supplementary actions by a column
processor;
FIG. 26 is a flowchart illustrating reshaping actions performed by a ruled
line processor;
FIG. 27 explains the reshaping results obtained by the ruled line
processor; and
FIG. 28 shows an example of a result obtained by a reshaping process.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 2A is a block diagram for explaining the first principle of this
invention. A strip former 102 splits a target image 101 into a plurality
of process segments in the form of vertical strips, according to data
inputted and stored through an image scanner, etc.
An area detector 103 detects a one-row area after detecting the upper and
lower limits of a ruled line or a character area of a process segment.
A horizontal ruled line detector 104 determines whether the one-row area of
the process segment detected by the area detector 103 contains a
horizontal ruled line or character strings.
A vertical ruled line detector 105 detects a vertical ruled line in a
process segment and determines whether each area contains a vertical ruled
line by detecting an area containing consecutive black picture elements in
the vertical direction, performing a calculation to create a vertical
histogram of each area, performing a calculation to create a new histogram
by appropriately extending each area in the vertical direction, and
determining the difference between these vertical histograms. The vertical
ruled line detector 105 is configured to eliminate a break in a ruled line
by scanning each area in the vertical direction from the upper limit to
the lower limit. In this case, the vertical ruled line detector 105
appropriately modifies the detection range depending on whether or not an
area contains a vertical ruled line. The vertical ruled line detector 105
also recognizes an area containing vertical frame lines if the peak of a
vertical histogram of the area is detected around the corresponding point
of the vertical ruled line of the previous row even though the area is
first recognized as not containing a vertical ruled line.
A character recognizer 106 recognizes a character string of a one-row area
determined as a character string area.
An encoder 107 encodes each character recognized by the character
recognizer 106 into a character code, encodes a vertical and a horizontal
ruled line detected by the vertical ruled line detector 105 and the
horizontal ruled line detector 104 into a ruled line code, and outputs the
result 108 with ruled line codes and character codes mixed.
The strip former 102 splits the target image 101 into a plurality of
process segments in the vertical direction.
The area detector 103 detects the upper or lower limit of a ruled line area
or a character area by scanning consecutive black picture elements in each
strip, and detects one-row areas.
In one-row areas detected by the area detector 103, the horizontal ruled
line detector 104 detects horizontal frame lines and the vertical ruled
line detector 105 detects vertical ruled lines. If no horizontal frame
lines exist in a row, there is the possibility that characters exist, and
the character recognizer 106 recognizes character strings of the one-row
area. The encoder 107 outputs character codes according to the outputs of
the detection by the horizontal ruled line detector 104, the vertical
ruled line detector 105, and the character recognizer 106.
The horizontal ruled line detector simultaneously extracts ruled line areas
and character areas from an image comprising frame lines and characters,
thereby speeding up the recognizing operation.
With the this invention, a recognition device can be created in a
simplified configuration by representing recognized characters and frame
lines in character code, that is, encoding all recognition results into
character codes only.
FIG. 2B shows the block diagram of an embodiment of the invention, FIG. 3
is an operational flowchart of the whole process of the this invention,
FIG. 4 is an operational flowchart indicating the details of the row
recognition process of FIG. 3.
A device shown in of FIG. 2B comprises a human interface unit 200, a
recognition processor 300 for transmitting data to and from the human
interface unit 200, and an image input unit 400 for transmitting digital
image data to the recognition processor.
The human interface unit 200 and the image input unit 400 are first
described below. The human interface unit 200 comprises a command input
unit 201 for use by an operator, a display unit 202 for displaying
character and image information to an operator, and an image information
input unit 203 for use by an operator to specify the range of an image in
response to the image information indicated by the display unit 202. The
human interface unit 200 can be a personal computer, which is the most
popular information input/output unit. With a personal computer, the
command input unit 201 can be a keyboard, the display unit 202 a CRT, and
the image information input unit 203 a pointing device such as a mouse
unit, etc.
First, an operator inputs a command to start an operation of the present
embodiment through the command input unit 201 (as shown in FIG. 3 S1),
thereby sending a command to an image input unit 400 to start receiving
images. Then the image input unit 400 starts reading an operator-specified
document comprising frame lines and characters (as shown in FIG. 3, S2).
The image input unit 400 comprises a scanner, etc., for example. The
digital image data read by the image input unit 400 are transmitted to the
recognition processor 300.
The recognition processor 300 performs a recognition process as described
below:
The digital image data transmitted from the image input unit 400 are stored
in an image storage unit 301. In a coordinate system of the image stored
in the image storage unit 301, the original point is positioned at the
upper left corner of the original image, the positive x axis extends to
the right of the original point, and the positive y axis extends
downwards. Next, using image data stored in the image storage unit 301, an
image reduction unit 302 creates layout image data reduced into one-eight
(1/8) of the original image data and stores it in a layout storage unit
303 (as shown in FIG. 3, S3).
The layout image data stored in the layout storage unit 303 are transmitted
to the display unit 202 and displayed there. An operator specifies the
range of a recognizing operation using the image information input unit
203 while looking at the layout image displayed by the display unit 202
(as shown in FIG. 3, S4). For example, a broken line shown in FIG. 5 is
used to specify the range.
In FIG. 5, a broken line DPL1 identifies the left margin of the process
range, DPL2 the right margin, DPL3 the top margin, and DPL 4 the bottom
margin. The specified range is transformed to coordinate information and
stored in a recognition information storage unit 304 as recognition area
coordinates.
Next, a strip former 305 identifies a strip area of specified width (of 48
dots in the present embodiment) in the vertical direction starting from
the coordinate at the upper left corner of the recognition area
coordinates stored in the recognition information storage unit 304 (refer
to FIG. 6), and assigns a strip number i (i=0, 1, 2, 3, 4, . . . ) to each
strip starting from the leftmost strip (refer to FIG. 3 S5).
Now the recognizing operation is performed in rows (as shown in FIG. 3,
S6). This process is shown in an operational flowchart in FIG. 4.
First, a black-picture-element-area detector 306 searches each strip area
for black picture elements (characters and frame lines) using a black
picture element sensor, not shown in the FIG. (refer to FIG. 4, S7).
Black picture elements are identified in the software concept, and can be
called a black picture element sensing process. The black picture element
sensor (y p n t [i], where i is a strip number) has a sensing width of 2
strips (strip i and strip i+1) as shown in FIG. 6. It searches for black
picture elements starting from the top of each strip, and determines
whether any black picture elements are contained in picture elements
searched by the black picture element sensor. The y coordinate (y p n t
[i]) is designated as the start point of black picture elements (y p o s 1
[i]) at the point where a detection result turns from white to black, and
is stored in the recognition information storage unit 304. The black
picture element sensor continues the detecting operation after obtaining y
p o s 1 [1] until it reaches the point where a detection result turns from
black to white. When a detection result turns from black to white, the y
coordinate which contains the last black picture element is stored in the
recognition information storage unit 304 as the pseudo-end point of black
picture elements (y p o s 2' [i]).
The pseudo-end point of black picture elements may indicate an accidental
break of a character or a ruled line, and detected as the end point even
though the break is only 1 picture element wide. Therefore, a downward
search width determiner 307 decides the allowable width of an accidental
break of black picture elements (refer to FIG. 4, S10) so that the black
picture element area detector 306 may continue detecting black picture
elements even when there is an accidental break of a character or a ruled
line. The downward search width determiner 307 obtains a vertical
histogram (h i s t 1 [x]) between the start point of black picture
elements (y p o s 1 [i]) and the pseudo-end point of black picture
elements (y p o s 2' [i]), and then obtains the maximum value of the
vertical histogram (h i s t 1 [x]) and the x coordinate (p e a k [i])
yielding the maximum value (refer to FIG. 7). Next, values of the vertical
histogram around the peak point [i] are checked to detect the value of 0
of the histogram toward both sides of p e a k [i], thereby obtaining the
coordinates where the value of the vertical histogram turns higher than 0
(starting coordinate: x.sub.-- start [i]) and turns 0 from the value
higher than 0 (ending coordinate: x.sub.-- end [i]) (refer to FIG. 7). The
following process is performed to determine whether an area of the
histogram comprises a vertical ruled line. The vertical histogram ranges
between the pseudo-end point of black picture elements y p o s 2' [i] and
the start point of black picture elements y p o s 1 [i]. The range d (=y p
o s 2' [i]-y p o s 1 [i]+1) is two times extended to be between y p o s 1
[i]-0.5d and y p o s 2' [i]+0.5d (refer to FIG. 8). Within this range, the
vertical histogram (h i s t 2 [x]) between x.sub.-- s t a r t [i] and
x.sub.-- end [i] is obtained (refer to FIG. 8). If the maximum value
exceeds the value of h i s t 1 [x] beyond the specified threshold, it is
recognized that the present strip comprises a vertical ruled line. This
strip is provided with a downward search width of 4 picture elements and
other strips of 1 picture element.
Next, a black picture element end point determiner 308 detects the end
point of black picture elements according to the downward search width
(refer to FIG. 4, S13). The black picture element end point determiner 308
searches an area of the downward search width from the pseudo-end point of
black picture elements (y p o s 2' [i]) using the black picture element
sensor (y p n t [i]). If black picture elements are detected, it is
determined that the break of black elements is caused by an accidental
break, and the process of detecting the pseudo-end point of black picture
elements by the black picture element area detector 306 and the process by
the downward search width determiner 307 are repeated. When a search stops
recognizing black picture elements, it is determined that the end point of
black picture elements is finally detected; the y coordinate where the
last black picture element is detected is designated as the end point of
black picture elements y p o s 2 [i]; the strip is provided with a
detection status flag=3; and the information is stored in the recognition
information storage unit 304.
If the start point (y p o s 1 [i]) of black picture elements is decided,
black picture elements exist consecutively in the vertical direction, and
white picture elements are not detected, then the y coordinate of the
point is decided as the end point of black picture elements (y p o s 2
[i]) after the predetermined range is searched. The strip is provided with
a detection status flag=6, regarding the strip as an anticipated strip
comprising a vertical ruled line, and the information is stored in the
recognition information storage unit 304 (refer to FIG. 4 S8, S9, S11).
If no black picture elements are detected by the black picture element
sensor for searching the predetermined range, then the detecting operation
is stopped, the y coordinates of the start point and end point are
designated respectively as the start point of black picture elements (y p
o s 1 [i]) and the end point of black picture elements (y p o s 2 [i]),
the strip is provided with a detection status flag=1, and the information
is stored in the recognition information storage unit 304 (refer to FIG.
4, S8 and S12).
The above operation by the black picture element area detector 306, the
downward search width determiner 307, and black picture element end point
determiner 308 is repeated (refer to FIG. 4 S14 and S7) to obtain y p o s
1 [i] and y p o s 2 [i] of all strips. Thus, a one-row black picture
element area is determined by the above operation. Next, anticipated
vertical frame lines of each strip are extracted.
An anticipated vertical ruled line detector 309 obtains a vertical
histogram (h i s t 3 [x]) between the start point of black picture
elements (y p o s 1 [i]) and the end point of black picture elements (y p
o s 2 [i]), and searches for the point where the value of the histogram
exceeds 80% of the value y p o s 2 [i]-y p o s 1 [i]. If the histogram
exceeds 80%, then a vertical ruled line is anticipated, the start point (v
k e i [mv]. s t) and end point (v k e i [mv]. en) (where mv is the number
of anticipated vertical frame lines) are determined where the value of the
histogram reaches 50% decreasing from 80% toward both sides of the 80%
point (refer to FIG. 9), and the information is stored in the recognition
information storage unit 304 (refer to FIG. 4, S15).
A vertical ruled line coordinate determiner 310 determines coordinates of
vertical frame lines according to the start and end points of anticipated
vertical frame lines extracted by the anticipated vertical ruled line
detector 309 (refer to FIG. 4, S16). When the detection status flag 6 is
set in a strip comprising anticipated vertical frame lines, a vertical
histogram must be obtained (h i s t 4) by extending a half of the width
between the start and the end point of black picture elements (y p o s 2
[i]-y p o s 1 [i]). The extending operation starts from y p o s 1 [i]
upwards and y p o s 2 [i] downwards respectively as shown in FIG. 10. If
the vertical histogram h i s t 4 [x] exceeds the vertical histogram h i s
t 3 [x] between v k e i [m v]. s t and v k e i [m v]. e n by more than the
specified percentage, it is recognized as a vertical ruled line. If the
anticipated vertical ruled line is not recognized as a vertical ruled
line, it is deleted from the anticipated vertical ruled line v k e i. If a
detection status flag 3 is set, the anticipated vertical ruled line is
recognized as a vertical ruled line when the anticipated vertical ruled
line is positioned around the position of the vertical ruled line of the
preceding row. Otherwise, it is deleted.
Next, a horizontal ruled line detector 311 determines a row comprising a
horizontal ruled line (refer to FIG. 4, S17). As shown in FIG. 11, if a
detection status flag 3 is set in a strip, a vertical histogram (h i s t 5
[x]) is obtained between y p o s 1 [i] and y p o s 2 [i]. If the width of
the histogram h i s t 5 [x] exceeds a pre-determined threshold, the strip
comprises a ruled line or characters. In this case, if the value y p o s 2
[i]-y p o s 1 [i] exceeds a pre-determined threshold, the strap comprises
character strings, and the information is stored in the recognition
information storage unit 304. If the value y p o s 2 [i]-y p o s 1 [i] is
smaller than the threshold, the strip comprises horizontal frame lines,
and the information is stored in the recognition information storage unit
304.
If the horizontal ruled line detector 311 determines that a strip comprises
a horizontal ruled line, a one-row former 312 forms the strip in rows as a
pre-process for determining coordinates of horizontal frame lines (refer
to FIG. 4, S18). The one-row forming process is preformed only on strips
determined by the horizontal ruled line detector 311 as comprising a
horizontal ruled line. If strips comprising character strings are mixed,
all strips having the detection status flag 3 are processed by the one-row
forming process. The result is shown in FIG. 12.
Then, a determination is made as to whether a horizontal ruled line exists
in a strip (refer to FIG. 4, S19). If it does (Yes), a horizontal ruled
line coordinate determiner 313 determines its coordinates according to the
result obtained by the one-row former 312 (refer to FIG. 4, S20). After
the forming process, a vertical histogram is obtained between y p o s 1
[i] and y p o s 2 [i]. If the difference between the coordinates where the
value of the histogram is smaller than a pre-determined threshold exceeds
the pre-determined threshold, the horizontal ruled line information is
stored as the start point (h k e i [m h]. s t) and the end point (h k e [m
h]. e n) in the recognition information storage unit 304.
If the horizontal ruled line detector 311 determines that a strip contains
no horizontal frame lines but comprises characters (refer to FIG. 4, S19
"No"), a recognizer 314 recognizes characters in a character area obtained
by the horizontal ruled line detector 311. After the one-row former 312
forms a strip, a vertical ruled line portion is removed using a one-row
vertical histogram (h i s t 6 [x]), a character forming (or character
segmenting or segmentation) operation is performed (refer to FIG. 4, S21)
using a vertical histogram h i s t 6 [x], the start coordinate and end
coordinate of the character area are compared with the vertical ruled line
coordinates (v k e i), and then coordinates are outputted starting from
the smallest value.
According to the determined coordinates of horizontal frame lines (refer to
FIG. 4, S20), a ruled line encoder 315 encodes the coordinates into JIS
ruled line codes in outputting frame lines (refer to FIG. 4, S22). When
characters are outputted in a character forming process (refer to FIG. 4,
S21), a character recognizer 316 recognizes them and encodes them into
character codes (refer to FIG. 4, S23).
After frame lines and characters are encoded, character codes are stored in
the recognition information storage unit 304 as shown in FIG. 3 according
to corresponding coordinates of frame lines and characters (refer to FIG.
4, S24).
In the above process, a ruled line or characters in one row are recognized
and encoded. A process S6 in FIG. 3 which is also indicated in an
operational flowchart in FIG. 4 is repeated as shown in FIG. 3 S26,
thereby performing one-row recognition. The starting position of the next
row just follows y p o s 2 [i] after the forming process (refer to FIG. 4,
S25).
The process in FIG. 4 is a one-row recognition process which is
sequentially repeated until the end of the rows are reached. The final
result is shown in FIG. 12.
When the recognizing process is completed covering the whole process range
specified by the image information input unit 203 (refer to FIG. 3, S26
"Yes"), a ruled line former 317 inserts or removes space codes or
horizontal ruled line codes before and after vertical frame lines (refer
to FIG. 3 S27) to prevent breaks of frame lines. The result is displayed
by the display unit 202 (refer to FIG. 3 S28) as shown conceptually in
FIG. 14.
FIG. 15 is a block diagram of a system, for explaining the second principle
of this invention.
A ruled line extractor 1 receives image information to be recognized and
extracts coordinates of frame lines. The ruled line extractor 1 also
obtains a slant of the extracted frame lines.
A character recognizer 2 recognizes characters in the area outside the
ruled line portion extracted by the ruled line extractor 1. The character
recognizing operation is performed in rows while determining the area of
each row. The character recognizer 2 obtains an area of each row according
to the slant of an extracted ruled line, and then recognizes characters of
that row.
A recognition result output unit 3 outputs character codes comprising ruled
line codes according to the results of the ruled line extractor 1 and the
character recognizer 2.
The ruled line extractor 1 recognizes frame lines and extracts the
coordinates of the ruled line. The extracted result and image information
are provided to the character recognizer 2 which recognizes characters in
an area outside the ruled line portion. The result obtained by the
character recognizer 2 and the coordinates of frame lines extracted by the
ruled line extractor 1 are provided to the recognition result output unit
3 which outputs all results in character code. The result obtained by the
ruled line extractor 2 can be inputted in rows, a slant of a ruled line is
provided also by the ruled line extractor 2, and the recognition result
output unit 3 encodes all characters and frame lines based on the slant of
a ruled line and inputted image.
Thus, this invention enables both characters and frame lines to be
outputted in character code.
FIG. 16 shows a system of the second version of this invention. A
recognizer 10 comprises a control unit 10-1, a character former 10-2, a
recognition unit or recognizer 10-3, and image memories 10-4-10-6.
The control unit 10-1 controls the character former 10-2, the recognizer
10-3, and the image memories 10-4-10-6, and outputs layout image data and
recognition results to peripherals such as a personal computer 11. From
the personal computer 11, control commands are inputted as an operator's
instructions. A display & key unit 12 is connected to the personal
computer 11 which displays the inputted layout and the recognition result
of the layout image data to the display & key unit 12. In response to an
operator's request, an activate command and the information from a
recognition area setting unit are provided through the display & key unit
12. The personal computer 11 provides the control unit 10-1 with all these
data as control commands. If the personal computer 11 issues a control
command to form a character, the character former 10-2 is controlled to
form a character area. If an issued command instructs to perform a
recognizing operation, the recognizer 10-3 is controlled to recognize
characters. The data used to recognize characters are stored in the image
memories 10-4-10-6.
A scanner 13 is connected to the recognizer 10 and reads image data in
response to a read command, etc. issued from the control unit 10-1. It
then outputs the data to the recognizer 10. The read image data are stored
in the image memories 10-4-10-6. Thus, a recognizing operation is
performed.
The operation of an embodiment of the second version of the invention is
described in detail below:
FIG. 17 is a flowchart of the process of an embodiment of this invention.
The scanner starts working when a recognizing operation is started, and
images to be read are received by the image memory 10-4. More
specifically, a control command according to an operator's key operation
is transmitted to the personal computer 11 and then to the control unit
10, and a command to store the image data in the image memory 10-4 of the
recognizer 10 is outputted to the scanner 13. Then the scanner 13 receives
the corresponding image data and stores them in the image memory 10-4
(S41). The image data stored in the image memory 10-4 are transformed into
a 1/8 reduced image by the control unit 10-1 and stored in the image
memory 10-5. The reduced image data stored in the image memory 10-5 are
read and provided to the personal computer 11, which then displays them on
the display & key unit 12. Using this display, an operator specifies the
range to be recognized, and the personal computer 11 provides the range
for the recognizer 10 (S42).
As shown in the chart explaining the specified range of layout image in
FIG. 5, the display & key unit 12 displays a 1/8 reduced image, and an
operator specifies an area enclosed in 4 broken lines DPL1-DPL4 as an area
to be recognized and inputs the information to the personal computer 11.
The information is transmitted to the control unit 10-1 for controlling
the process associated with the area.
First, the operator extracts frame lines (S43) within the range of an
original image specified on the 1/8 image using the personal computer, and
then stores the coordinates of the original image of vertical and
horizontal frame lines (the start coordinate and the end coordinate of
vertical and horizontal lines). Next, a slant of a row is determined
(S44). In determining a slant of a row, a calculation is performed to
obtain the slant of a row according to the coordinates of a horizontal
ruled line, thereby obtaining the average value of slants of all rows as
the slant of the row. If no horizontal frame lines exist, an original
image is split vertically into a plurality of strip areas as described in
the first version of the this invention. Then each strip is searched
horizontally from the top for the coordinates where white turns to black
and black turns to white, thereby obtaining a slant of a row. (In this
case, a strip comprising a vertical ruled line is removed from target
strips of the slant detection operation.) In calculating a slant, a
row-forming operation is considered (refer to FIG. 18). A row-forming
process is started at the slant obtained by the process S44 from the top
(TOP) of a recognition area (S45). If a horizontal ruled line exists, the
row-forming process is performed skipping horizontal frame lines, that is,
lines between horizontal frame lines. In the forming process (S45), the
recognition area with the pre-determined slant value is searched from the
left to the right margin. The searching operation starts from the start
coordinate (the first coordinate that encounter | | |