WO2020157937A1 - 画像処理装置、制御方法及び制御プログラム - Google Patents

画像処理装置、制御方法及び制御プログラム Download PDF

Info

Publication number
WO2020157937A1
WO2020157937A1 PCT/JP2019/003489 JP2019003489W WO2020157937A1 WO 2020157937 A1 WO2020157937 A1 WO 2020157937A1 JP 2019003489 W JP2019003489 W JP 2019003489W WO 2020157937 A1 WO2020157937 A1 WO 2020157937A1
Authority
WO
WIPO (PCT)
Prior art keywords
broken line
image
candidates
line candidate
candidate group
Prior art date
Application number
PCT/JP2019/003489
Other languages
English (en)
French (fr)
Inventor
正義 林
Original Assignee
株式会社Pfu
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Pfu filed Critical 株式会社Pfu
Priority to PCT/JP2019/003489 priority Critical patent/WO2020157937A1/ja
Publication of WO2020157937A1 publication Critical patent/WO2020157937A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition

Definitions

  • the present disclosure relates to an image processing device, a control method, and a control program, and more particularly to an image processing device, a control method, and a control program that detect a broken line from an input image.
  • An image processing device searches for elements of a dashed-dotted element group from the connected pixel group based on the distance from the connected pixel group whose size satisfies a predetermined condition (Patent Document 1).
  • a ruled line that extracts a rectangle whose size is smaller than a threshold value among the rectangles that include all the black pixels to be connected as a dotted line element and a rectangle that integrates the dotted line elements whose intervals are within the threshold value as a dotted line ruled line.
  • Patent Document 3 a ruled line extraction device that extracts a ruled line from a document image based on the length of a black pixel connected component and the interval between two adjacent dotted line elements. Further, an image processing device that detects a broken line based on the height and width of a label included in an image within a frame is disclosed (Patent Document 4).
  • Image processing devices are required to detect and remove broken lines from images more accurately.
  • the purpose of the image processing device, control method, and control program is to make it possible to detect the broken line from the image more accurately.
  • An image processing apparatus includes an acquisition unit that acquires an input image, a binary image generation unit that generates a binary image by binarizing the input image, and a predetermined size or less from the binary image.
  • a group extracting unit that extracts a plurality of broken line candidates lined up in a predetermined direction as a broken line candidate group from the broken line candidates, and a plurality of broken line candidates included in the broken line candidate group.
  • a broken line detection unit that detects a plurality of broken line candidates included in the broken line candidate group as broken lines and a broken line removed image in which the broken lines detected by the broken line detection unit from the input image or the binary image are removed are generated.
  • a control method is a control method for an image processing apparatus having an output unit, in which the image processing apparatus acquires an input image and generates a binary image by binarizing the input image. Then, a dashed line candidate having a predetermined size or less is extracted from the binary image, and a plurality of dashed line candidates arranged in a predetermined direction are extracted as a dashed line candidate group from the dashed line candidates, and a plurality of dashed line candidate groups are included. Based on the distance between the broken line candidates, a plurality of broken line candidates included in the broken line candidate group are detected as broken lines, and a broken line removed image in which the broken lines detected from the input image or the binary image are removed is generated.
  • the distance between the plurality of broken line candidates included in the broken line candidate group is greater than a predetermined distance and a predetermined size between the broken line candidates. If there is a connected component of black pixels that exceed, it is considered that a broken line candidate exists and the broken line is detected.
  • a control program is a control program for a computer having an output unit, which acquires an input image, generates a binary image by binarizing the input image, and outputs a predetermined binary image from the binary image.
  • the dashed line candidates having a size less than or equal to are extracted, among the dashed line candidates, a plurality of dashed line candidates arranged in a predetermined direction are extracted as a dashed line candidate group, and based on the distances between the dashed line candidates included in the dashed line candidate group.
  • a plurality of broken line candidates included in the broken line candidate group are detected as broken lines, a broken line removed image in which the broken lines detected from the input image or the binary image are removed is generated, and a broken line removed image or a broken line removed image is generated.
  • Outputting information from the output unit is executed by a computer, and in the detection, a black pixel whose distance between a plurality of broken line candidates included in the broken line candidate group is larger than a predetermined distance and exceeds a predetermined size between the broken line candidates.
  • the broken line is detected assuming that the broken line candidate exists.
  • the image processing device, the control method, and the control program can detect the broken line from the image with higher accuracy.
  • FIG. 1 is a diagram showing a schematic configuration of an image processing system 1 according to an embodiment. It is a figure which shows schematic structure of the 2nd memory
  • 6 is a flowchart showing the operation of an image reading process. It is a flow chart which shows operation of recognition processing. It is a flow chart which shows operation of recognition processing. 6 is a schematic diagram showing an example of an input image 600.
  • FIG. 6 is a schematic diagram showing an example of an edge image 610.
  • FIG. FIG. 6 is a schematic diagram showing an example of a binary image 620. It is a schematic diagram for explaining a cell region. It is a schematic diagram for explaining a cell region. It is a schematic diagram for demonstrating a broken line candidate.
  • the image processing system 1 is a diagram showing a schematic configuration of an image processing system according to an embodiment. As shown in FIG. 1, the image processing system 1 includes an image reading device 100 and an information processing device 200.
  • the image reading device 100 is, for example, a scanner device or the like.
  • the image reading device 100 is connected to the information processing device 200.
  • the information processing device 200 is an example of an image processing device, and is, for example, a personal computer or the like.
  • the image reading device 100 includes a first interface device 101, an image pickup device 102, a first storage device 110, and a first CPU (Control Processing Unit) 120.
  • the first interface device 101 has an interface circuit conforming to a serial bus such as a USB (Universal Serial Bus), and is electrically connected to the information processing device 200 to send and receive image data and various information. Further, instead of the first interface device 101, a communication device having an antenna for transmitting/receiving a wireless signal and a wireless communication interface circuit for transmitting/receiving a signal through a wireless communication line according to a predetermined communication protocol may be used. Good.
  • the predetermined communication protocol is, for example, a wireless LAN (Local Area Network).
  • the image pickup device 102 has a reduction optical system type image pickup sensor including an image pickup element formed by a CCD (Charge Coupled Device) linearly arranged in the main scanning direction. Further, the image pickup apparatus 102 is a light source that emits light, a lens that forms an image on the image pickup element, and an A/D conversion that amplifies an electrical signal output from the image pickup element and performs analog/digital (A/D) conversion. And a vessel. In the image pickup apparatus 102, an image pickup sensor picks up an image of the surface of a conveyed document to generate and output an analog image signal, and an A/D converter digitally converts the analog image signal by A/D conversion. The input image of is generated and output.
  • CCD Charge Coupled Device
  • the input image is a color multi-valued image in which each pixel data is composed of R (red) values, G (green) values, and B (blue) values of a total of 24 bits represented by 8 bits for each RGB color, for example.
  • the input image may be a black and white multi-valued image in which each pixel data has a brightness value of 8 bits, for example.
  • a CIS Contact Image Sensor
  • CMOS Complementary Metal Oxide Semiconductor
  • the first storage device 110 has a memory device such as a RAM (Random Access Memory) and a ROM (Read Only Memory), a fixed disk device such as a hard disk, or a portable storage device such as a flexible disk and an optical disk. Further, the first storage device 110 stores computer programs, databases, tables, etc. used for various processes of the image reading device 100.
  • the computer program may be installed in the first storage device 110 from a computer-readable portable recording medium using a known setup program or the like.
  • the portable recording medium is, for example, a CD-ROM (compact disk read only memory), a DVD-ROM (digital versatile disk read only memory), or the like.
  • the first storage device 110 also stores the input image and the like generated by the imaging device 102.
  • the first CPU 120 operates based on a program stored in the first storage device 110 in advance.
  • a DSP digital signal processor
  • an LSI large scale integration
  • an ASIC Application Specific Integrated Circuit
  • an FPGA Field-Programming Gate Array
  • the first CPU 120 is connected to the first interface device 101, the imaging device 102, the first storage device 110, etc., and controls each of these parts.
  • the first CPU 120 performs document reading control of the imaging device 102, data transmission/reception control with the information processing device 200 via the first interface device 101, and the like.
  • the information processing device 200 includes a second interface device 201, an input device 202, a display device 203, a second storage device 220, a second CPU 240, and a processing device 260.
  • a second interface device 201 an input device 202, a display device 203, a second storage device 220, a second CPU 240, and a processing device 260.
  • each unit of the information processing device 200 will be described in detail.
  • the second interface device 201 has the same interface circuit as the first interface device 101 of the image reading device 100, and connects the information processing device 200 and the image reading device 100. Further, instead of the second interface device 201, a communication device having an antenna for transmitting and receiving radio signals and a radio communication interface circuit for transmitting and receiving signals through a radio communication line according to a predetermined communication protocol such as a wireless LAN is provided. It may be used.
  • the input device 202 has an input device such as a keyboard and a mouse and an interface circuit that acquires a signal from the input device, and outputs a signal according to a user operation to the second CPU 240.
  • the display device 203 is an example of an output unit.
  • the display device 203 has a display including liquid crystal, organic EL, and the like, and an interface circuit for outputting image data to the display.
  • the display device 203 is connected to the second storage device 220 and is stored in the second storage device 220. Is displayed on the display.
  • the second storage device 220 has the same memory device as the first storage device 110 of the image reading device 100, a fixed disk device, a portable storage device, and the like.
  • the second storage device 220 stores computer programs, databases, tables, etc. used for various processes of the information processing device 200.
  • the computer program may be installed in the second storage device 220 from a computer-readable portable recording medium such as a CD-ROM or a DVD-ROM using a known setup program or the like.
  • the second storage device 220 also stores the input image received from the image reading device 100, various processed images obtained by performing image processing on the input image by the processing device 260, and the like.
  • the second CPU 240 operates based on a program stored in the second storage device 220 in advance. Note that a DSP, LSI, ASIC, FPGA, or the like may be used instead of the second CPU 240.
  • the second CPU 240 is connected to the second interface device 201, the input device 202, the display device 203, the second storage device 220, the processing device 260, etc., and controls each of these parts.
  • the second CPU 240 performs data transmission/reception control with the image reading device 100 via the second interface device 201, input control of the input device 202, display control of the display device 203, control of image processing by the processing device 260, and the like.
  • the processing device 260 executes predetermined image processing on the input image.
  • the processing device 260 includes a CPU, DSP, LSI, ASIC, FPGA, or the like.
  • FIG. 2 is a diagram showing a schematic configuration of the second storage device 220 and the second CPU 240.
  • Each program such as the corrected image generation program 231, the character detection program 232, and the output control program 233 is stored.
  • the straight line component detection program 225 includes a broken line candidate extraction program 226, a group extraction program 227, a broken line detection program 228, an approximate straight line detection program 229, and the like. Each of these programs is a functional module implemented by software operating on the processor.
  • the second CPU 240 reads each program stored in the second storage device 220, and operates according to each read program.
  • the second CPU 240 causes the acquisition unit 241, the edge image generation unit 242, the binary image generation unit 243, the cell region detection unit 244, the linear component detection unit 245, the mask region setting unit 250, the corrected image generation unit 251, and the character detection. It functions as the unit 252 and the output control unit 253.
  • the straight line component detection unit 245 includes a broken line candidate extraction unit 246, a group extraction unit 247, a broken line detection unit 248, an approximate straight line detection unit 249, and the like.
  • FIG. 3 is a flowchart showing the operation of image reading processing by the image reading apparatus 100.
  • the operation of the image reading process will be described below with reference to the flowchart shown in FIG.
  • the operation flow described below is executed mainly by the first CPU 120 in cooperation with each element of the image reading apparatus 100 based on a program stored in the first storage device 110 in advance.
  • the image capturing apparatus 102 generates an input image obtained by capturing a document such as a bill as a document, and stores it in the first storage device 110 (step S101).
  • This manuscript contains at least a table.
  • the table includes a plurality of cell regions each surrounded by a solid line, and each cell region includes a character and a broken line.
  • the first CPU 120 transmits the input image stored in the first storage device 110 to the information processing device 200 via the first interface device 101 (step S102), and ends the series of steps.
  • FIGS. 4 and 5 are flowcharts showing the operation of the recognition processing by the information processing device 200.
  • the operation flow described below is executed mainly by the second CPU 240 in cooperation with each element of the information processing device 200 based on a program stored in the second storage device 220 in advance.
  • the acquisition unit 241 acquires the input image from the image reading apparatus 100 via the second interface device 201 and stores it in the second storage device 220 (step S201).
  • FIG. 6A is a schematic diagram showing an example of the input image 600.
  • the input image 600 includes a table 601.
  • the table 601 includes a plurality of cell regions 602 each surrounded by a solid line.
  • a character 603 indicating the name and numerical value of each item
  • a broken line 604 extending in the horizontal direction and dividing each item in the cell area 602, and a vertical line extending and numerical values.
  • a broken line 605 for dividing each digit into regions is included.
  • the broken line is a straight line in which gaps are formed at regular intervals.
  • each item or each digit of the numerical value in the cell area 602 may be divided into areas by dotted lines or thin lines instead of the broken lines 604 and 605.
  • the dotted line is a straight line formed by points arranged at regular intervals.
  • the thin line is a straight line thinner than the solid line surrounding the cell area.
  • each straight line (a solid line surrounding the cell area) forming the frame of each cell area will be described as extending in the horizontal and vertical directions.
  • the edge image generation unit 242 extracts edge pixels from the acquired input image and generates an edge image by binarizing the input image into edge pixels and non-edge pixels (step S202).
  • the edge image generation unit 242 calculates an absolute value (hereinafter, referred to as an adjacent difference value) of a difference between luminance values of pixels adjacent to each other in the horizontal direction of a pixel in the input image, and when the adjacent difference value exceeds the first threshold value.
  • Pixels on the input image are extracted as edge pixels.
  • the first threshold can be set to, for example, a difference in brightness value (for example, 20) that allows a person to visually recognize a difference in brightness on the image.
  • the edge image generation unit 242 calculates the adjacent difference value also in the vertical direction, and when the adjacent difference value exceeds the first threshold value, the pixel on the input image is also extracted as an edge pixel. On the other hand, the edge image generation unit 242 extracts pixels that have not been extracted as edge pixels as non-edge pixels.
  • the edge image generation unit 242 may calculate the absolute value of the difference between the brightness values of pixels that are separated from the pixels in the input image in the horizontal or vertical direction by a predetermined distance as the adjacent difference value. Further, the edge image generation unit 242 may calculate the adjacent difference value using the color value (R value, G value, or B value) of each pixel instead of the brightness value of each pixel. Further, the edge image generation unit 242 may extract the edge pixel by comparing the brightness value or the color value of the input image with a threshold value.
  • the edge image generation unit 242 determines that the luminance value or the color value of a specific pixel is less than the threshold value, and the luminance value or the color value of a pixel adjacent to the specific pixel or a pixel separated from the specific pixel by a predetermined distance. Is greater than or equal to the threshold value, the particular pixel is extracted as an edge pixel.
  • FIG. 6B is a schematic diagram showing an example of the edge image 610.
  • FIG. 6B shows an edge image 610 generated from the input image 600 shown in FIG. 6A.
  • a pixel 612 corresponding to a solid line surrounding the cell area 602 in the input image 600 and a pixel 613 corresponding to the character 603 are extracted as edge pixels.
  • some pixels 614 corresponding to the broken line 604 and some pixels 615 corresponding to the broken line 605 are extracted as edge pixels.
  • the binary image generation unit 243 generates a binary image by binarizing the acquired input image into black pixels corresponding to low-luminance pixels and white pixels corresponding to high-luminance pixels (step S203). ).
  • the binary image generation unit 243 sets, as a binary image, an image in which a pixel having a gradation value of the second threshold or more in the input image is a white pixel and a pixel having a gradation value of less than the second threshold is a black pixel.
  • the second threshold value is set to a value between the gradation value of a pixel forming a general background and the gradation value of a pixel forming a character by a preliminary experiment.
  • the second threshold may be determined by Otsu's binarization process.
  • FIG. 6C is a schematic diagram showing an example of the binary image 620.
  • 6C shows a binary image 620 obtained by binarizing the input image 600 shown in FIG. 6A.
  • the binary image 620 some pixels 622 corresponding to the solid line surrounding the cell region 602 in the input image 600 and pixels 623 corresponding to the character 603 are extracted as black pixels.
  • some pixels 624 corresponding to the broken line 604 and some pixels 625 corresponding to the broken line 605 are extracted as black pixels.
  • the cell area detection unit 244 detects a cell area corresponding to a table cell in the binary image (step S204).
  • the cell area detection unit 244 detects an area in the binary image corresponding to an area in which non-edge pixels are surrounded by edge pixels in the edge image as a cell area.
  • the cell area detecting unit 244 groups the first connected areas surrounded by the edge pixels adjacent to each other in the edge image by labeling, and the horizontal or vertical size of each first connected area is equal to or larger than the first size. Extract a certain first connected region.
  • the first size is set to a size that can include characters inside, and is set to the number of pixels corresponding to 16 points, for example.
  • the cell area detection unit 244 groups the second connection areas surrounded by the adjacent non-edge pixels by labeling in each of the extracted first connection areas, and determines the horizontal or vertical length of each second connection area.
  • a second connected region having a size equal to or larger than the second size is extracted.
  • the second size is set to the minimum size of characters, for example, the number of pixels corresponding to 8 points.
  • the cell area detection unit 244 detects, as a cell area, an area that is adjacent to the extracted second connected area and that is surrounded by edge pixels that surround the second connected area.
  • FIG. 7A is a schematic diagram for explaining the cell area.
  • FIG. 7A shows an image 700 representing a cell area extracted from the edge image 610 shown in FIG. 6B.
  • regions 701 to 707 that are surrounded by edge pixels in the edge image 610 and have a horizontal or vertical size that is equal to or larger than the first size are shown as the first connected regions.
  • the first connection area 701 the second connection area is not extracted and the cell area is not detected.
  • one second connection area 708 is extracted, and an area surrounding the second connection area 708 (the same area as the first connection area 702) is detected as a cell area.
  • 14 second connection areas 709 are extracted, and 14 areas surrounding the 14 second connection areas 709 are detected as cell areas.
  • a plurality of cell regions are also detected within the first connection regions 703 to 705 and 707. In this way, the cell area detection unit 244 can accurately detect the area corresponding to the table cell from the edge image.
  • the cell region detection unit 244 may extract a straight line in which edge pixels are continuous in the edge image, and extract a region surrounded by the extracted straight line as the first connected region. In that case, the cell area detection unit 244 extracts the straight line by using, for example, Morophology conversion.
  • the cell area detection unit 244 performs a contraction process of converting an edge pixel adjacent to a non-edge pixel in the horizontal direction in the edge image into a non-edge pixel a predetermined number of times (for the first size), and then adjoins the edge pixel.
  • the expansion process for converting non-edge pixels into edge pixels is executed a predetermined number of times.
  • the cell area detection unit 244 extracts the remaining edge pixels as straight lines extending in the horizontal direction.
  • the cell area detection unit 244 performs a contraction process of converting an edge pixel adjacent to a non-edge pixel in the vertical direction into a non-edge pixel in the edge image for a predetermined number of times, and then a non-edge pixel adjacent to the edge pixel.
  • the expansion processing for converting the pixel into the edge pixel is executed a predetermined number of times.
  • the cell area detection unit 244 extracts the remaining edge pixels as straight lines extending in the vertical direction.
  • FIG. 7B is a schematic diagram for explaining a cell region detected based on a straight line.
  • FIG. 7B shows an image 710 representing the first connected region extracted from the edge image 610 shown in FIG. 6B.
  • the image 710 as compared with the image 700 shown in FIG. 7A, a large number of straight lines are extracted and a large number of first connection regions 711 to 718 are extracted.
  • the first connecting regions 711, 718 and the like formed of a single straight line do not include the second connecting region.
  • the cell region surrounding the second connection region in each first connection region is similar to each cell region shown in the image 700. That is, the cell area detection unit 244 can detect the cell area with high accuracy even in the case of using the straight line, as in the case of using the connected component of the edge pixel.
  • the cell area detection unit 244 may detect an area in which white pixels are surrounded by black pixels in the binary image as a cell area.
  • the cell area detection unit 244 groups the first connected areas surrounded by black pixels adjacent to each other in the binary image by labeling, and the horizontal or vertical size of each first connected area is equal to or larger than the first size.
  • the first connected area is extracted.
  • the cell area detection unit 244 groups the second connected areas surrounded by the adjacent white pixels by labeling in each of the extracted first connected areas, and determines the horizontal or vertical length of each of the second connected areas.
  • a second connected area having a second size or more is extracted.
  • the cell area detection unit 244 detects, as a cell area, an area adjacent to the extracted second connected area and surrounded by black pixels surrounding the second connected area. In this case, the cell area detection unit 244 can detect the area corresponding to the cell of the table without generating the edge image, and thus the processing time of the recognition processing can be shortened.
  • the broken line candidate extraction unit 246 extracts a broken line candidate from each cell region extracted from the binary image (step S205).
  • the broken line candidate extraction unit 246 groups the third connected regions surrounded by mutually adjacent black pixels by labeling in each cell region extracted from the binary image.
  • the third connected region is an example of a connected component of black pixels. Note that the broken line candidate extraction unit 246 groups only black pixels that are adjacent in the horizontal and vertical directions so that characters that are in contact with the broken line are not included in the broken line candidates as much as possible, and the black pixels that are adjacent in the diagonal direction are grouped into first groups. 3 Not included in the connected region. Note that the broken line candidate extraction unit 246 may include black pixels that are diagonally adjacent to each other in the third connected region.
  • the broken line candidate extraction unit 246 regards, as dots, not the broken lines, the third connected areas whose horizontal and vertical sizes are the third size (for example, the number of pixels corresponding to 1 point) or less among the extracted third connected areas. Eliminate and eliminate. In addition, the broken line candidate extraction unit 246 determines that the ratio of the area (the number of pixels) of black pixels in the third connected area to the area (the number of pixels) of the circumscribed rectangle of the third connected area is less than a predetermined ratio (for example, 60%).
  • the third connected region which is the above, is regarded as a part of the character instead of the broken line and is removed.
  • the broken line candidate extraction unit 246 removes the third connected region whose horizontal or vertical size is larger than the fourth size (for example, the number of pixels corresponding to 4 points) as a character instead of a broken line.
  • the fourth size is an example of a predetermined size.
  • the broken line candidate extraction unit 246 extracts the third connected region that remains without being removed as a broken line candidate. In this way, the broken line candidate extraction unit 246 removes the broken line candidates that exceed the predetermined size from the binary image, and extracts the broken line candidates that are smaller than or equal to the predetermined size.
  • 8A, 8B, and 8C are schematic diagrams for explaining the broken line candidates.
  • the 8A, 8B, and 8C respectively show some images 800, 810, 820 in the binary image.
  • the image 820 shows the cell area 821. 8A, 8B, and 8C, the connected component of the black pixel is extracted as the third connected region.
  • the shaded portion 801 and the dotted portion 802 included in the image 800 of FIG. 8A are regarded as dots and removed from the third connected region because the horizontal and vertical sizes are equal to or smaller than the third size. To be done.
  • the ratio of the number of black pixels to the number of pixels of the circumscribing rectangle 812 of the character part 811 included in the image 810 of FIG. It is removed from the connected area.
  • Each character 822 to 825 included in the image 820 of FIG. 8C has a horizontal or vertical size larger than the fourth size, and thus is regarded as a character and is removed from the third connected region.
  • the character 826 included in the image 820, the broken line 832 connected to the character 826, and the character 827 and the broken line 834 connected to the character 827 have a horizontal or vertical size larger than the fourth size.
  • the broken lines 831, 833, 835, and 836 to 840 included in the image 820 are extracted as broken line candidates.
  • the group extraction unit 247 extracts a plurality of broken line candidates lined up in a predetermined direction as a broken line candidate group from the extracted broken line candidates (step S206).
  • the predetermined direction is a stretching direction of a straight line (a solid line surrounding each cell region) forming a frame of each cell region, and is a vertical direction or a horizontal direction in the image.
  • the group extraction unit 247 extracts a group in which dashed line candidates extending in the vertical direction are arranged in the vertical direction as a main dashed line candidate group, and a group in which dashed line candidates extending in the vertical direction are arranged in the horizontal direction is extracted as a sub dashed line candidate group.
  • the group extraction unit 247 extracts a group in which broken line candidates extending in the horizontal direction are arranged in the horizontal direction as a main broken line candidate group, and a group in which broken line candidates extending in the horizontal direction are arranged in the vertical direction is a sub broken line candidate group. Extract.
  • the main broken line candidate group is an example of a broken line candidate group including a plurality of broken line candidates arranged in a predetermined direction
  • the sub broken line candidate group includes a plurality of broken line candidates arranged in a direction orthogonal to the predetermined direction.
  • the extending direction (longitudinal direction) of each broken line candidate may be referred to as the main direction
  • the direction orthogonal to the extending direction of each broken line candidate (short direction) may be referred to as the sub direction. ..
  • the group extraction unit 247 identifies the size H in the main direction, the size W in the sub direction, the center position Y in the main direction, and the center position X in the sub direction of each of the broken line candidates (for the sizes H and W and the positions Y and X, See Figure 8C).
  • the group extraction unit 247 has a difference in the size H in the main direction and a difference in the size W in the sub-direction of each broken line candidate that is less than the first size threshold, and the difference in the center position X in the sub-direction that is less than the first position threshold.
  • the candidate pairs of broken lines that are adjacent to each other in the main direction are extracted.
  • the group extraction unit 247 classifies each broken line candidate so that the extracted broken line candidate pairs are included in the same main broken line candidate group.
  • the first size threshold value is set to a value smaller than the width of a general broken line (for example, 4 pixels).
  • the group extraction unit 247 determines that the difference in the size H in the main direction and the difference in the size W in the sub-direction of each of the broken line candidates is less than the first size threshold and the difference in the center position Y in the main direction is the second position threshold.
  • the pair of broken line candidates that are less than the pair of broken line candidates that are adjacent to each other in the sub-direction are extracted.
  • the group extraction unit 247 classifies each of the broken line candidates so that the extracted broken line candidate pairs are included in the same sub broken line candidate group.
  • the broken line candidates 831, 833, and 835 are classified into one main broken line candidate group, and the broken line candidates 836 to 840 are classified into one main broken line candidate group. Also, the broken line candidates 831 and 836 are classified into one sub broken line candidate group, the broken line candidates 833 and 838 are classified into one sub broken line candidate group, and the broken line candidates 835 and 840 are classified into one sub broken line candidate group. ..
  • the group extraction unit 247 changes the first size threshold value in a cell area including a plurality of characters (a plurality of lines of characters) in the main direction and a cell area including only a single character (a single line of characters). You may.
  • the group extraction unit 247 includes a plurality of lines of characters in the cell area.
  • the cell area has a single line. It is presumed that only the character of is included.
  • the group extraction unit 247 makes the first size threshold value in the cell region containing only a single line of characters larger than the first size threshold value in the cell region containing a plurality of lines of characters.
  • the group extraction unit 247 can detect a broken line better by increasing the number of broken line candidates used in the cell area including only a single line of characters.
  • the broken line detection unit 248 determines, for each main broken line candidate group, the size of each broken line candidate included in each main broken line candidate group based on the difference in size of the plurality of broken line candidates included in each main broken line candidate group.
  • a size evaluation point regarding height is calculated (step S207).
  • the broken line detection unit 248 identifies the size H in the main direction and the size W in the sub direction of each of the broken line candidates included in each of the main broken line candidate groups.
  • the broken line detection unit 248 selects, from among the pair of broken line candidates that are adjacent to each other in the main direction, the difference in the size H in the main direction and the difference in the size W in the sub direction of each broken line candidate that is less than the second size threshold. The number is calculated as the size evaluation point.
  • the second size threshold value is set to a value smaller than the first size threshold value (for example, 2 pixels).
  • the broken line detection unit 248 evaluates the value by normalizing the calculated number of broken line candidate pairs or a value obtained by dividing the calculated number of broken line candidate pairs by the number of broken line candidate pairs included in the broken line candidate group. It may be calculated as a point.
  • the broken line detection unit 248 may change the second size threshold between the cell area including the characters of a plurality of lines and the cell area including only the characters of a single line, similarly to the first size threshold. Similarly to the group extraction unit 247, the broken line detection unit 248 estimates whether the cell area includes a plurality of lines of characters or a single line of characters. The broken line detection unit 248 makes the second size threshold value in the cell region containing only a single line of characters larger than the second size threshold value in the cell region containing a plurality of lines of characters. As a result, the size evaluation point becomes high in the cell region in which the number of broken line candidates is small, and the omission of detection of broken lines is suppressed.
  • the broken line detection unit 248 determines, for each main broken line candidate group, whether or not there is a broken line candidate within the second predetermined distance from the end portion in the main direction of the cell area including each main broken line candidate group.
  • An edge evaluation point for the edge of each cell area is calculated (step S208).
  • the broken line detection unit 248 determines whether or not there is a broken line candidate included in the main broken line candidate group in each predetermined range within the second predetermined distance from the end in the main direction of the cell area, and the broken line candidate is The number of existing predetermined ranges is calculated as the area edge evaluation point.
  • the broken line detection unit 248 calculates the average value of the size H in the main direction, the average value of the size W in the sub direction, and the average value of the center position X in the sub direction of each of the candidate broken lines included in each of the main broken line candidate groups.
  • the broken line detection unit 248 sets the average value of the size H in the main direction to the second predetermined distance. Then, the broken line detection unit 248 has a width of the average value of the size W centered on the average value of the center position X in the sub direction in the cell region, and further extends from each of both end portions of the cell region in the main direction. 2
  • Each range within a predetermined distance is set as a predetermined range.
  • two end regions 841 and 842 are set as the predetermined range for the main broken line candidate group including the broken line candidates 836 to 840.
  • the broken line detection unit 248 relates to the continuity of each broken line candidate included in each main broken line candidate group based on the distance between the plurality of broken line candidates included in each main broken line candidate group for each main broken line candidate group.
  • a continuity evaluation point is calculated (step S209).
  • the broken line detection unit 248 identifies mutually adjacent broken line candidates in each main broken line candidate group.
  • the broken line detection unit 248 specifies the size H of each broken line candidate in the main direction and the distance ⁇ H between each broken line candidate for each specified broken line candidate pair, and the specified distance ⁇ H is predetermined from the specified broken line candidate pairs.
  • the broken line candidate pairs that are less than or equal to the distance are extracted.
  • the predetermined distance is set to a value obtained by multiplying a larger value of the sizes H in the main direction of the broken line candidates related to the pair by a predetermined coefficient (for example, 1.1).
  • the broken line detection unit 248 identifies two broken line candidates that are adjacent to each other in each main broken line candidate group and the distance ⁇ H between the broken line candidates is larger than a predetermined distance.
  • the broken line detection unit 248 determines whether or not there is a third connected region that is excluded from the broken line candidates because the broken line candidate extraction unit 246 considers it as a character and is excluded from the broken line candidates between the two specified broken line candidates. To judge.
  • the broken line detection unit 248 determines the two broken line candidates based on the distance ⁇ H between the two broken line candidates. Estimate the number of broken line candidates that exist between.
  • the dashed line detection unit 248 detects the two adjacent dashed line candidates.
  • the number of broken line candidates existing between the two broken line candidates is estimated based on the distance between the two.
  • the broken line detection unit 248 determines that the third connected region exists between two adjacent broken line candidates when the third connected region that satisfies the following three conditions exists.
  • First condition In the sub-direction, both the end on the predetermined side of one of the broken line candidates and the end on the opposite side of the other broken line candidate are present inside the third connecting region.
  • Second condition the distance between any end of any one of the broken line candidates and the end of the third connection region located on the end side in the main direction is less than a threshold value.
  • the size of both of the dashed line candidates in the main direction is equal to or smaller than the size of the third connection region in the main direction, and the size of both of the dashed line candidates in the sub-direction is less than or equal to the size of the third connection region in the sub-direction.
  • the broken line detection unit 248 considers that the estimated number of broken line candidates exists between the two broken line candidates, and the two broken line candidates and the estimated number of broken line candidates are adjacent to each other. Is further extracted. That is, when the distance between the plurality of broken line candidates is greater than the predetermined distance and there is a third connected region that exceeds the fourth size between the broken line candidates, the broken line detection unit 248 determines that another broken line candidate exists between the broken line candidates. Is considered to exist.
  • the broken line 832 connected to the character 826 and the broken line 834 connected to the character 827 are regarded as characters and are removed from the third connected region, and the main broken line candidates 831, 833, and 835 are included. Not included in the broken line candidate group. However, since the third connected region including the character 826 and the broken line 832 exists between the broken line candidate 831 and the broken line candidate 833, it is considered that the broken line candidate exists. Similarly, between the broken line candidate 833 and the broken line candidate 835, there is a third connected region composed of the characters 827 and the broken line 834, so it is considered that the broken line candidate exists.
  • a pair of the broken line candidate 831 and the estimated broken line candidate, a pair of the estimated broken line candidate and the broken line candidate 833, and a pair of the broken line candidate 833 and the estimated broken line candidate are estimated.
  • Five pairs of the broken line candidate and the broken line candidate 835 are extracted.
  • the broken line detection unit 248 determines that the distance ⁇ H between the broken line candidate pairs adjacent to each other in each main broken line candidate group is larger than the predetermined distance and the third connected region that satisfies the above condition between the broken line candidate pairs. If it does not exist, the dashed line candidate pair is not extracted.
  • the broken line detection unit 248 calculates the continuity evaluation point based on the number of extracted broken line candidate pairs that are continuously arranged. For example, the broken line detection unit 248 calculates the maximum number of consecutive continuous broken line candidate pairs in the main direction as the continuity evaluation point. Note that the broken line detection unit 248 may calculate a value obtained by normalizing the calculated maximum number or a value obtained by dividing the calculated maximum number by the number of broken line candidate pairs included in the broken line candidate group as the continuity evaluation point. Good.
  • the broken line detection unit 248 may correct the continuity evaluation point depending on whether the corresponding cell area includes a plurality of lines of characters or only a single line of characters. Similarly to the group extraction unit 247, the broken line detection unit 248 estimates whether the cell area includes a plurality of lines of characters or a single line of characters. The broken line detection unit 248 multiplies a continuity evaluation point in a cell area including only a single line of characters by a predetermined coefficient larger than 1 (for example, 1.5) to obtain a cell area including only a single line of characters. Increase the continuity evaluation point in. As a result, in the cell area in which the number of broken line candidates is small, the continuity evaluation point is high, and the omission of broken line detection is suppressed.
  • a predetermined coefficient larger than 1 for example, 1.5
  • the broken line detection unit 248 corrects the continuity evaluation points calculated for each main broken line candidate group (step S210).
  • the broken line detection unit 248 evaluates continuity of continuity of each broken line candidate included in each sub broken line candidate group based on the distance between the plurality of broken line candidates included in each sub broken line candidate group for each sub broken line candidate group. Calculate the points.
  • the broken line detection unit 248 identifies mutually adjacent broken line candidates in each sub broken line candidate group.
  • the broken line detection unit 248 specifies the end position Y1, Y2 in the main direction of each broken line candidate and the center position X in the sub direction for each specified broken line candidate pair.
  • the broken line detection unit 248 determines that the distance L1 between the end positions Y1 and the distance L2 between the end positions Y2 in the main direction is less than the first distance threshold value and the sub direction from the identified broken line candidate pair.
  • the broken line candidate pair in which the distance L3 between the center positions X in is less than the second distance threshold value is extracted.
  • the first distance threshold is set to, for example, 2 pixels.
  • the second distance threshold is set to, for example, a predetermined multiple (for example, twice) of the larger size of the sizes of the respective dashed line candidates in the main direction.
  • the broken line detection unit 248 determines whether the distance L1 between the end positions Y1 or the distance L2 between the end positions Y2 in the main direction is the first distance threshold or more, or the center in the sub direction.
  • the broken line candidate pair in which the distance L3 between the positions X is equal to or larger than the second distance threshold value is not extracted.
  • the broken line detection unit 248 calculates the continuity evaluation point based on the number of extracted broken line candidate pairs that are continuously arranged. For example, the broken line detection unit 248 calculates the maximum number of consecutive continuous broken line candidate pairs in the sub-direction as the continuity evaluation point. Note that the broken line detection unit 248 may calculate a value obtained by normalizing the calculated maximum number or a value obtained by dividing the calculated maximum number by the number of broken line candidate pairs included in the broken line candidate group as the continuity evaluation point. Good.
  • the broken line detection unit 248 corrects the continuity evaluation points of the main broken line candidate group based on the continuity evaluation points of the sub broken line candidate group including the broken line candidates included in the main broken line candidate group.
  • the broken line detection unit 248 evaluates the main broken line candidate group by, for example, adding, multiplying, weighted addition, or weighted multiplying the evaluation points of the main broken line candidate group with the continuity evaluation points of the sub broken line candidate group. Correct the points. That is, the broken line detection unit 248 corrects the continuity evaluation point of the main broken line candidate group such that the higher the continuity evaluation point of the sub broken line candidate group is, the higher the continuity evaluation point is. Thereby, the broken line detection unit 248 can accurately detect the broken line based on the continuity in the plurality of directions.
  • the continuity evaluation points of the main dashed line candidate groups of the dashed line candidates 831, 833, and 835 are the dashed line candidates 836 and 831, the dashed line candidates 838 and 833, and the dashed line candidate 840 and 835 sub-dashed line candidate groups. Corrected based on the continuity evaluation point.
  • the continuity evaluation points of the main broken line candidate groups of the broken line candidates 836 to 840 are based on the continuity evaluation points of the sub broken line candidate groups of the broken line candidates 836 and 831, the broken line candidates 838 and 833, and the broken line candidates 840 and 835. Will be corrected.
  • An evaluation score indicating the likelihood of the candidate broken line is calculated (step S211).
  • the broken line detection unit 248 calculates an addition value, a multiplication value, a weighted addition value or a weighted multiplication value of the size evaluation point, the edge evaluation point and the continuity evaluation point as the evaluation point. That is, the broken line detection unit 248 calculates the evaluation score such that the higher the size evaluation score, the end evaluation score, and the continuity evaluation score, the higher the evaluation score.
  • the broken line detection unit 248 determines, for each main broken line candidate group, whether or not the evaluation point of each main broken line candidate group is equal to or higher than the evaluation threshold value (step S212).
  • the broken line detection unit 248 detects a plurality of broken line candidates included in the main broken line candidate group as broken lines (step S213). On the other hand, when the evaluation point is less than the evaluation threshold, the broken line detection unit 248 determines that the plurality of broken line candidates included in the main broken line candidate group are not broken lines.
  • the evaluation threshold value is set to a value between the evaluation point calculated for the main broken line candidate group including the broken line and the evaluation point calculated for the main broken line candidate group not including the broken line, by a preliminary experiment. In this way, the broken line detection unit 248 detects a broken line as a straight line component that is not continuous from one end to the other end of the cell area. Below, a straight line component that is not continuous from one end to the other end of the cell region may be referred to as a discontinuous straight line component.
  • the group extraction unit 247 extracts a group of broken line candidates extending in a direction parallel to the frame of the cell area as a main broken line candidate group. Therefore, the broken line detection unit 248 detects only the broken line extending in the direction substantially parallel to the frame of the cell region. As a result, it is possible to prevent a character, a symbol, or the like that extends obliquely with respect to the frame of the cell region from being erroneously detected as a broken line that divides each character in the cell region.
  • the approximate straight line detection unit 249 detects an approximate straight line in each cell region extracted from the binary image (step S214).
  • the approximate straight line detection unit 249 detects a straight line passing through a predetermined black pixel in each cell area as an approximate straight line by using the Hough transform.
  • the approximate straight line detection unit 249 may detect a straight line passing through the vicinity of a predetermined black pixel in each cell area as an approximate straight line by using the least squares method. Further, the approximate straight line detection unit 249 may detect a straight line by using the Morophoji transformation, as in the straight line extraction processing by the cell area detection unit 244.
  • the approximate straight line detection unit 249 detects, as the approximate straight line, a rectangular region in which the ratio of the length in the longitudinal direction to the length in the lateral direction is equal to or more than a predetermined ratio (for example, 2) among the connected regions of the black pixels. Good.
  • each cell area is an area in which white pixels are surrounded by black pixels. Therefore, the approximate straight line detected in each cell region is a discontinuous straight line component such as a broken line, a dotted line, or a straight line interrupted by a blur.
  • the approximate straight line detection unit 249 may detect only the straight line component extending in the direction substantially parallel to the frame of the cell region. In that case, the approximate straight line detection unit 249 removes, from the detected straight lines, a straight line whose angle to the frame of the cell region (any solid line surrounding the cell region) exceeds a predetermined angle (for example, 3°), A straight line whose angle with respect to the frame is less than a predetermined angle is detected as an approximate straight line. As a result, it is possible to prevent a character, a symbol, or the like extending obliquely with respect to the frame of the cell area from being erroneously detected as a broken line that divides each character in the cell area.
  • a predetermined angle for example, 3°
  • 9A and 9B are schematic diagrams for explaining other binary images.
  • FIG. 9A and FIG. 9B show images 900 and 910, which are part of another binary image, respectively.
  • Each image 900, 910 shows a cell area 901, 911, respectively.
  • the cell area 901 shown in FIG. 9A includes a character 902 indicating the numerical value of each item and the like, and a dotted line 903 for vertically extending and dividing each character 902 in the cell area 901 into areas.
  • the dotted line 903 is formed by dots arranged at regular intervals, and a part 904 of the dotted line 903 is connected, but the dotted line 903 is not continuous from one end to the other end of the cell region 901.
  • the dotted line 903 is detected as an approximate straight line.
  • the cell area 911 shown in FIG. 9B includes a character 912 indicating the numerical value of each item and the like, and a straight line 913 that extends in the horizontal direction and divides each character 912 in the cell area 911 into areas.
  • a part 914 of the straight line 913 is interrupted due to blurring or the like, and the straight line 913 is not continuous from one end to the other end of the cell region 911.
  • the straight line 913 is detected as an approximate straight line.
  • the mask area setting unit 250 sets a mask area used to remove discontinuous straight line components (broken line and approximate straight line) from the input image or the binary image (step S215).
  • the mask area setting unit 250 sets, as a mask area, a rectangular area including the discontinuous straight line component detected by the straight line component detecting unit 245 and extending from one end to the other end of the cell region in the extending direction of the discontinuous straight line component. ..
  • 10A, 10B, and 10C are schematic diagrams for explaining the mask region.
  • FIG. 10A shows the mask area 1000 set for the cell area 821 shown in FIG. 8C.
  • the mask region 1000 a rectangular region including broken lines 831, 833, 835, and 836 to 840 of the cell region 821 and extending from one end 843 to the other end 844 of the cell region 821 in the vertical direction in which each broken line extends. It is set.
  • FIG. 10B shows a mask area 1010 set for the cell area 901 shown in FIG. 9A.
  • the mask region 1010 a rectangular region including the dotted lines 903 of the cell region 901 and extending from one end 905 to the other end 906 of the cell region 901 in the vertical direction in which each dotted line 903 extends is set.
  • FIG. 10C shows a mask area 1020 set for the cell area 911 shown in FIG. 9B.
  • a rectangular region including the straight line 913 of the cell region 911 and extending from one end 915 to the other end 916 of the cell region 911 in the horizontal direction in which the straight line 913 extends is set as the mask region 1020.
  • the corrected image generation unit 251 generates a corrected image in which the discontinuous linear component is removed from the binary image based on the mask area set by the mask area setting unit 250 (step S216).
  • the corrected image is an example of the broken line removed image in which the broken line detected by the broken line detection unit 248 is removed from the input image or the binary image.
  • the corrected image generation unit 251 generates a corrected image by replacing pixels in the mask area in the binary image with white pixels.
  • 11A, 11B, and 11C are schematic diagrams for explaining the corrected image.
  • FIG. 11A shows a partial image 1100 of the corrected image corresponding to the image 820 shown in FIG. 8C.
  • the respective broken lines 831, 833, 835, and 836 to 840 extracted as broken line candidates in the image 820 are removed while leaving the characters 822 to 825 in the image 820.
  • the characters 826 and 827 in the image 820 are left, while the broken line 832 connecting to the character 826 and the broken line 834 connecting to the character 827 are also removed.
  • FIG. 11B shows a partial image 1110 of the corrected image corresponding to the image 900 shown in FIG. 9A. As shown in FIG. 11B, in the image 1110, not only the portion 904 where the dotted line 903 is connected, but the entire dotted line 903 is removed while leaving each character 902 in the image 900.
  • FIG. 11C shows a partial image 1120 of the corrected image corresponding to the image 910 shown in FIG. 9B. As shown in FIG. 11C, in the image 1120, the character 912 in the image 910 is left, and the entire straight line 913 is removed, not only the connected part of the straight line 913.
  • the correction image generation unit 251 may generate a correction image from the input image that is a multivalued image.
  • the corrected image generation unit 251 generates a corrected image by interpolating a pixel corresponding to the mask area in the input image with peripheral pixels located around the pixel.
  • the corrected image generation unit 251 interpolates each pixel using a known inpainting technique (image interpolation technique).
  • the corrected image generation unit 251 interpolates each pixel by performing one-dimensional linear interpolation on the pixel corresponding to the mask area using the pixel adjacent to the area corresponding to the mask area in the input image. You may.
  • the corrected image generation unit 251 removes a part of the character together with the discontinuous straight line component even when the character straddles the discontinuous straight line component or the extended portion by interpolating each pixel with the peripheral pixels. Can be prevented.
  • 12A, 12B, 12C, and 12D are schematic diagrams for explaining the corrected image generated from the input image.
  • FIG. 12A shows a partial image 1200 of another input image.
  • the image 1200 includes a cell area 1201, and the cell area 1201 includes a character 1202 and a broken line 1203.
  • FIG. 12B shows an image 1210 of a portion of a binary image generated from image 1200.
  • the pixel 1212 corresponding to the character 1202 and the pixel 1213 corresponding to the broken line 1203 are extracted as black pixels in the cell area 1211.
  • FIG. 12C shows the mask area 1220 set for the cell area 1211 included in the image 1210.
  • the mask region 1220 a rectangular region including the broken lines 1213 of the image 1210 and extending from one end 1214 to the other end 1215 of the cell region 1211 in the vertical direction in which each broken line 1213 extends is set.
  • FIG. 12D shows a partial image 1230 of the corrected image corresponding to the image 1200.
  • the broken lines 1203 are removed while leaving the characters 1202 in the image 1200.
  • the pixel corresponding to the character 1202 is adjacent to the region corresponding to the mask region 1220, and in the image 1230, noise 1231 is generated in the pixel interpolated using the pixel corresponding to the character 1202. ing.
  • the corrected image generation unit 251 may generate the corrected image by interpolating the pixels corresponding to both the black pixel in the binary image and the mask area in the input image with the peripheral pixels.
  • the corrected image generation unit 251 uses a known inpainting technique (image interpolation technique) to use pixels adjacent to a region corresponding to both the black pixel and the mask region in the binary image in the input image and adjacent pixels. , Each pixel is interpolated. Further, the correction image generation unit 251 uses a pixel adjacent to a region corresponding to both the black pixel and the mask region in the binary image in the input image, and uses a two-dimensional linear pattern with respect to the pixel corresponding to the region. Each pixel may be interpolated by performing interpolation (bilinear interpolation).
  • the corrected image generation unit 251 can interpolate each pixel by using the peripheral pixels that are located closer to the interpolation target area.
  • the correction image generation unit 251 utilizes not only pixels adjacent to the interpolation target area in the direction orthogonal to the mask area extension direction but also pixels adjacent to the interpolation target area in the mask area extension direction. Pixels can be interpolated. Therefore, the corrected image generation unit 251 can interpolate each pixel better.
  • 13A and 13B are schematic diagrams for explaining the corrected image generated from the input image.
  • FIG. 13A shows a pixel 1300 corresponding to both the black pixels 1212, 1213 in the image 1210 of FIG. 12B and the masked area 1220 of FIG. 12C.
  • FIG. 13B shows a partial image 1310 of the corrected image corresponding to image 1200.
  • the broken lines 1203 are removed while leaving the characters 1202 in the image 1200.
  • the pixel corresponding to the broken line 1203 is also interpolated using the pixel not corresponding to the broken line 1203 in the area corresponding to the mask area 1220. Therefore, the noise 1311 is compared with the noise 1231 in FIG. 12D. Small enough.
  • the corrected image generation unit 251 may further remove the straight line forming the frame of each cell region in the corrected image.
  • the mask area setting unit 250 uses the Hough transform or the least squares method to detect the straight line forming the frame of each cell area.
  • the mask region setting unit 250 sets, as a mask region, a region including each detected straight line and extending from one end to the other end of each cell region in the extending direction of each straight line.
  • the corrected image generation unit 251 removes the pixels corresponding to the straight lines forming the frame of each cell area by replacing or interpolating the pixels in the same manner as when removing the straight line component in each cell area.
  • the character detection unit 252 detects a character from the corrected image (step S217).
  • the character detection unit 252 detects a character from the corrected image using a known OCR (Optical Character Recognition) technology.
  • the output control unit 253 displays the detected character on the display device 203 (step S218), and ends the series of steps.
  • the output control unit 253 may display the corrected image on the display device 203 as information regarding the detected character, instead of or in addition to the detected character.
  • the output control unit 253 may also transmit the detected character or the corrected image to a server (not shown) or the like via a communication device (not shown). In this way, the output control unit 253 outputs the information generated using the corrected image.
  • the broken line detection unit 248 detects the broken line based on each of the size evaluation point, the edge evaluation point, and the continuity evaluation point, instead of detecting the broken line based on the evaluation point.
  • the broken line detection unit 248 determines whether or not each of the size evaluation point, the edge evaluation point, and the continuity evaluation point is equal to or larger than the size threshold value, the edge threshold value, and the continuity threshold value.
  • the broken line detection unit 248 selects a plurality of broken line candidates included in the main broken line candidate group when a predetermined number of evaluation points among the size evaluation point, the edge evaluation point, and the continuity evaluation point are each threshold value or more. Detect as a broken line.
  • the predetermined number is set to a value of 1 or more.
  • Each threshold value is set to a value between each evaluation point calculated for the main broken line candidate group including the broken line and each evaluation point calculated for the main broken line candidate group not including the broken line by a preliminary experiment.
  • the broken line detection unit 248 evaluates continuity when the continuity evaluation point of the main broken line candidate group is the main continuity threshold or more and the continuity evaluation point of the sub broken line candidate group is the sub continuity threshold or more.
  • the points may be considered to be above the continuity threshold.
  • the main continuity threshold value and the sub-continuity threshold value are set such that each value is smaller than the continuity threshold value and the sum of each value is equal to or more than the continuity threshold value. For example, when the continuity threshold is set to 3 and the main continuity threshold and the sub-continuity threshold are set to 2, the number of consecutive broken line candidate pairs in the main direction and the number of consecutive continuous sub-directions in the sub-direction are 2.
  • the continuity evaluation point is considered to be equal to or higher than the continuity threshold.
  • the broken line detection unit 248 can accurately detect the broken line based on the continuity in the plurality of directions.
  • the broken line detection unit 248 instead of correcting the continuity evaluation point of each main broken line candidate group, an evaluation threshold value or continuity for comparison with the evaluation point or continuity evaluation point of each main broken line candidate group.
  • the sex threshold may be corrected.
  • the broken line detection unit 248 corrects the evaluation threshold value or the continuity threshold value of the corresponding main broken line candidate group so that the higher the continuity evaluation point of each sub broken line candidate group, the lower the continuity evaluation point. ..
  • the broken line detection unit 248 can accurately detect the broken line based on the continuity in the plurality of directions.
  • the broken line detection unit 248 may omit the correction process of step S210.
  • the broken line detection unit 248 does not calculate the evaluation point based on the size evaluation point, the edge evaluation point, and the continuity evaluation point, but instead of the size evaluation point, the edge evaluation point, and the continuity evaluation point.
  • the evaluation score may be calculated based on at least one.
  • the broken line detection unit 248 may detect a broken line from the entire binary image instead of detecting a broken line from the cell area of the table.
  • the mask area setting unit 250 defines a mask area as an area including the discontinuous linear component detected by the linear component detecting unit 245 and extending from one end to the other end of the binary image in the extending direction of the discontinuous linear component.
  • the information processing apparatus 200 may detect and remove each line in the entire table instead of detecting and removing each line in each cell area.
  • the cell area detection unit 244 combines the cell areas adjacent to each other and extracts the entire table.
  • the straight line component detection unit 245 detects a broken line and an approximate straight line in the extracted table.
  • the linear component detection unit 245 may also detect a linear component that continues from one end to the other end of the table.
  • the mask area setting unit 250 sets, as a mask area, an area including the linear component detected by the linear component detection unit 245 and extending from one end to the other end of the table in the extending direction of the linear component.
  • the corrected image generation unit 251 generates a corrected image based on the set mask area.
  • the correction image generation unit 251 interpolate the pixel to be corrected with the peripheral pixels so as not to remove a part of the character that overlaps the stretched portion of the straight line component.
  • the information processing device 200 removes the broken line candidates combined with the character and then groups the broken line candidates arranged in one direction to form a group within the broken line candidate group. If a connected component of black pixels exceeding a predetermined size is present between the dashed line candidates, the dashed line is detected as if there is a dashed line candidate between them. As a result, the information processing apparatus 200 can detect the broken line from the image more accurately.
  • the information processing device 200 detects a discontinuous straight line component, sets a region including the discontinuous straight line component and extending from one end to the other end of the cell region as a mask region, and based on the mask region, within the cell region.
  • the discontinuous linear component is removed with.
  • the information processing apparatus 200 is able to remove the broken line better from the image.
  • characters or numerical values may be printed later on the paper on which the table and the broken lines in the table are printed in advance.
  • the position where the character or the numerical value is printed is displaced with respect to the previously printed broken line, and the broken line may come into contact with the character. Even if a part of the broken line is in contact with a character, the information processing apparatus 200 can detect the broken line with high accuracy and can remove the broken line satisfactorily.
  • the information processing device 200 detects a discontinuous straight line component, the information processing device 200 removes the discontinuous straight line component in a region including the discontinuous straight line component and extending from one end to the other end of the cell region. Since the broken line or the dotted line in the table is likely to extend from one end to the other end of the cell region, the information processing apparatus 200 completely removes the broken line or the dotted line in the cell region while the cell region is being removed. It is possible to prevent accidental removal of outside characters.
  • FIG. 14 is a block diagram showing a schematic configuration of a processing device 280 in an information processing device according to another embodiment.
  • the processing device 280 is used instead of the processing device 260, and executes recognition processing instead of the second CPU 240.
  • the processing device 280 includes an acquisition circuit 281, an edge image generation circuit 282, a binary image generation circuit 283, a cell area detection circuit 284, a linear component detection circuit 285, a mask area setting circuit 290, a corrected image generation circuit 291, and a character detection circuit 292. And an output control circuit 293 and the like.
  • the straight line component detection circuit 285 includes a broken line candidate extraction circuit 286, a group extraction circuit 287, a broken line detection circuit 288, an approximate straight line detection circuit 289, and the like.
  • the acquisition circuit 281 is an example of an acquisition unit and has the same function as the acquisition unit 241.
  • the acquisition circuit 281 acquires the input image from the image reading apparatus 100 via the second interface device 201 and stores it in the second storage device 220.
  • the edge image generation circuit 282 is an example of the edge image generation unit, and has the same function as the edge image generation unit 242.
  • the edge image generation circuit 282 reads the input image from the second storage device 220, generates an edge image from the input image, and stores the edge image in the second storage device 220.
  • the binary image generation circuit 283 is an example of a binary image generation unit, and has the same function as the binary image generation unit 243.
  • the binary image generation circuit 283 reads the input image from the second storage device 220, generates a binary image from the input image, and stores it in the second storage device 220.
  • the cell area detection circuit 284 is an example of a cell area detection unit and has the same function as the cell area detection unit 244.
  • the cell area detection circuit 284 reads the edge image or the binary image from the second storage device 220, detects the cell area, and stores the detection result in the second storage device 220.
  • the linear component detection circuit 285 is an example of the linear component detection unit, and has the same function as the linear component detection unit 245.
  • the linear component detection circuit 285 reads the binary image and the detection result of the cell region from the second storage device 220, detects the discontinuous linear component from the binary image based on the detection result, and stores the detection result in the second storage. Save in device 220.
  • the broken line candidate extraction circuit 286 is an example of the broken line candidate extraction unit, and has the same function as the broken line candidate extraction unit 246.
  • the broken line candidate extraction circuit 286 extracts a broken line candidate from the binary image based on the detection result of the cell area, and stores the extraction result in the second storage device 220.
  • the group extraction circuit 287 is an example of a group extraction unit and has the same function as the group extraction unit 247.
  • the group extraction circuit 287 reads the extraction result of the broken line candidate from the second storage device 220, extracts the broken line candidate group from the extraction result, and stores the extraction result in the second storage device 220.
  • the broken line detection circuit 288 is an example of the broken line detection unit and has the same function as the broken line detection unit 248.
  • the broken line detection circuit 288 reads the extraction result of the broken line candidate group from the second storage device 220, detects the broken line from the extraction result, and stores the detection result in the second storage device 220.
  • the approximate straight line detection circuit 289 is an example of the approximate straight line detection unit and has the same function as the approximate straight line detection unit 249.
  • the approximate straight line detection circuit 289 detects an approximate straight line from the binary image based on the detection result of the cell area, and stores the detection result in the second storage device 220.
  • the mask area setting circuit 290 is an example of a mask area setting unit, and has the same function as the mask area setting unit 250.
  • the mask area setting circuit 290 reads the detection result of the discontinuous linear component from the second storage device 220, sets the mask area based on the detection result, and stores the mask area in the second storage device 220.
  • the correction image generation circuit 291 is an example of the correction image generation unit, and has the same function as the correction image generation unit 251.
  • the corrected image generation circuit 291 reads the binary image or the input image and the mask area from the second storage device 220, generates a corrected image from each read information, and stores the corrected image in the second storage device 220.
  • the character detection circuit 292 is an example of a character detection unit and has the same function as the character detection unit 252.
  • the character detection circuit 292 reads the corrected image from the second storage device 220, detects a character from the read image, and stores the detection result in the second storage device 220.
  • the output control circuit 293 is an example of an output control unit and has the same function as the output control unit 253.
  • the output control circuit 293 reads the character detection result or the corrected image from the second storage device 220, and outputs the read information to the display device 203.
  • the information processing apparatus can detect the broken line from the image with higher accuracy and can remove the broken line from the image more effectively even when the processing device 280 is used. It was
  • the function sharing of the image reading apparatus 100 and the information processing apparatus 200 is not limited to the example of the image processing system 1 illustrated in FIG. 1, and each unit of the image reading apparatus 100 and the information processing apparatus 200 may be divided into the image reading apparatus 100 and the information processing apparatus. Which of the 200 is arranged can be changed as appropriate.
  • the image reading device 100 and the information processing device 200 may be configured by one device.
  • the first storage device 110 of the image reading device 100 stores each program stored in the second storage device 220 of the information processing device 200, and the first CPU 120 of the image reading device 100 stores the second CPU 120 of the information processing device 200. May operate as each unit realized by.
  • the image reading apparatus 100 may have the same processing device as the processing device 280 of the information processing device 200.
  • the image reading apparatus 100 has a display device similar to the display device 203. Since the recognition process is executed by the image reading apparatus 100, the input image transmission/reception process of steps S102 and S201 is omitted. Each processing of steps S202 to S218 is executed by the first CPU 120 of the image reading apparatus 100 or the processing device. Operations of these processes are similar to those performed by the second CPU 240 or the processing device 280 of the information processing device 200.
  • the first interface device 101 and the second interface device 201 are connected via a network such as the Internet, a telephone line network (including a mobile terminal line network and a general telephone line network), an intranet, or the like. Good.
  • the first interface device 101 and the second interface device 201 are provided with a communication interface circuit of a network to be connected.
  • a plurality of information processing devices are distributed and arranged on the network so that the image processing service can be provided in the form of cloud computing, and each information processing device cooperates to perform recognition processing and the like. You may share. Accordingly, the image processing system 1 can efficiently perform the recognition process on the input images read by the plurality of image reading devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

画像からより精度良く破線を検出することが可能な画像処理装置、制御方法、制御プログラムを提供する。画像処理装置は、入力画像を二値化した二値画像から所定の大きさ以下の破線候補を抽出する破線候補抽出部と、破線候補の中から所定方向に並んでいる複数の破線候補を破線候補グループとして抽出するグループ抽出部と、破線候補グループに含まれる複数の破線候補間の距離に基づいて破線候補グループに含まれる複数の破線候補を破線として検出する破線検出部と、入力画像又は二値画像から検出した破線を除去した破線除去画像を生成する破線除去画像生成部と、破線除去画像又は破線除去画像を用いて生成した情報を出力する出力部とを有し、破線検出部は、破線候補グループに含まれる複数の破線候補間の距離が所定距離より大きく且つ破線候補間に所定の大きさを超える黒色画素の連結成分が存在していた場合、破線候補が存在するものとみなして破線を検出する。

Description

画像処理装置、制御方法及び制御プログラム
 本開示は、画像処理装置、制御方法及び制御プログラムに関し、特に、入力画像から破線を検出する画像処理装置、制御方法及び制御プログラムに関する。
 請求書等の帳票を担当者が手作業によりデータ化している会社では、膨大な数の帳票のデータ化が必要である場合に担当者の業務負担が大きくなるため、帳票のデータ化作業の効率化に対する要望が高まっている。帳票のデータ化作業の効率化を図るためには、帳票に記載されている文字をコンピュータ等の画像処理装置が正しく認識する必要がある。このような帳票では、例えば表内に記載された数字の値を人が識別しやすくなるように、数字の桁を区切るための破線が記載されている場合がある。その場合、破線が文字の一部と誤って認識されてしまい、文字が正しく認識されない可能性がある。
 サイズが所定条件を満足する連結画素群からの距離に基づいて、連結画素群の中から点破線要素群の要素を探索する画像処理装置が開示されている(特許文献1)。
 連結する黒画素をすべて包含する矩形の中で大きさが閾値より小さい矩形を点線要素として抽出し、抽出した点線要素について間隔が閾値以内の点線要素同士を統合した矩形を点線罫線として抽出する罫線認識方法が開示されている(特許文献2)。
 黒画素連結成分の長さ、及び、隣り合う2つの点線要素の間隔に基づいて、文書画像から罫線を抽出する罫線抽出装置が開示されている(特許文献3)。また、枠線内画像に含まれるラベルの高さおよび幅に基づいて破線を検出する画像処理装置が開示されている(特許文献4)。
特開2009-70234号公報 特開平7-230525号公報 特開2008-59298号公報 特開2012-64098号公報
 画像処理装置では、画像からより精度良く破線を検出して除去することを求められている。
 画像処理装置、制御方法及び制御プログラムの目的は、画像からより精度良く破線を検出することを可能とすることにある。
 実施形態の一側面に係る画像処理装置は、入力画像を取得する取得部と、入力画像を二値化した二値画像を生成する二値画像生成部と、二値画像から所定の大きさ以下の破線候補を抽出する破線候補抽出部と、破線候補の中から、所定方向に並んでいる複数の破線候補を破線候補グループとして抽出するグループ抽出部と、破線候補グループに含まれる複数の破線候補間の距離に基づいて、破線候補グループに含まれる複数の破線候補を破線として検出する破線検出部と、入力画像又は二値画像から破線検出部が検出した破線を除去した破線除去画像を生成する破線除去画像生成部と、破線除去画像又は破線除去画像を用いて生成した情報を出力する出力部と、を有し、破線検出部は、破線候補グループに含まれる複数の破線候補間の距離が所定距離より大きく且つ破線候補間に所定の大きさを超える黒色画素の連結成分が存在していた場合、破線候補が存在するものとみなして破線を検出する。
 また、実施形態の一側面に係る制御方法は、出力部を有する画像処理装置の制御方法であって、画像処理装置が、入力画像を取得し、入力画像を二値化した二値画像を生成し、二値画像から所定の大きさ以下の破線候補を抽出し、破線候補の中から、所定方向に並んでいる複数の破線候補を破線候補グループとして抽出し、破線候補グループに含まれる複数の破線候補間の距離に基づいて、破線候補グループに含まれる複数の破線候補を破線として検出し、入力画像又は二値画像から検出した破線を除去した破線除去画像を生成し、破線除去画像又は破線除去画像を用いて生成した情報を出力部から出力する、ことを含み、検出において、破線候補グループに含まれる複数の破線候補間の距離が所定距離より大きく且つ破線候補間に所定の大きさを超える黒色画素の連結成分が存在していた場合、破線候補が存在するものとみなして破線を検出する。
 また、実施形態の一側面に係る制御プログラムは、出力部を有するコンピュータの制御プログラムであって、入力画像を取得し、入力画像を二値化した二値画像を生成し、二値画像から所定の大きさ以下の破線候補を抽出し、破線候補の中から、所定方向に並んでいる複数の破線候補を破線候補グループとして抽出し、破線候補グループに含まれる複数の破線候補間の距離に基づいて、破線候補グループに含まれる複数の破線候補を破線として検出し、入力画像又は二値画像から検出した破線を除去した破線除去画像を生成し、破線除去画像又は破線除去画像を用いて生成した情報を出力部から出力する、ことをコンピュータに実行させ、検出において、破線候補グループに含まれる複数の破線候補間の距離が所定距離より大きく且つ破線候補間に所定の大きさを超える黒色画素の連結成分が存在していた場合、破線候補が存在するものとみなして破線を検出する。
 本実施形態によれば、画像処理装置、制御方法及び制御プログラムは、画像からより精度良く破線を検出することが可能となる。
 本発明の目的及び効果は、特に請求項において指摘される構成要素及び組み合わせを用いることによって認識され且つ得られるだろう。前述の一般的な説明及び後述の詳細な説明の両方は、例示的及び説明的なものであり、特許請求の範囲に記載されている本発明を制限するものではない。
実施形態に従った画像処理システム1の概略構成を示す図である。 第2記憶装置220及び第2CPU240の概略構成を示す図である。 画像読取処理の動作を示すフローチャートである。 認識処理の動作を示すフローチャートである。 認識処理の動作を示すフローチャートである。 入力画像600の一例を示す模式図である。 エッジ画像610の一例を示す模式図である。 二値画像620の一例を示す模式図である。 セル領域について説明するための模式図である。 セル領域について説明するための模式図である。 破線候補について説明するための模式図である。 破線候補について説明するための模式図である。 破線候補について説明するための模式図である。 他の二値画像について説明するための模式図である。 他の二値画像について説明するための模式図である。 マスク領域について説明するための模式図である。 マスク領域について説明するための模式図である。 マスク領域について説明するための模式図である。 補正画像について説明するための模式図である。 補正画像について説明するための模式図である。 補正画像について説明するための模式図である。 補正画像について説明するための模式図である。 補正画像について説明するための模式図である。 補正画像について説明するための模式図である。 補正画像について説明するための模式図である。 補正画像について説明するための模式図である。 補正画像について説明するための模式図である。 他の処理装置280の概略構成を示すブロック図である。
 以下、本開示の一側面に係る画像処理装置、制御方法及び制御プログラムについて図を参照しつつ説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
 図1は、実施形態に従った画像処理システムの概略構成を示す図である。図1に示すように、画像処理システム1は、画像読取装置100と、情報処理装置200とを有する。
 画像読取装置100は、例えばスキャナ装置等である。画像読取装置100は、情報処理装置200に接続されている。情報処理装置200は、画像処理装置の一例であり、例えばパーソナルコンピュータ等である。
 画像読取装置100は、第1インタフェース装置101と、撮像装置102と、第1記憶装置110と、第1CPU(Control Processing Unit)120とを有する。
 第1インタフェース装置101は、USB(Universal Serial Bus)等のシリアルバスに準じるインタフェース回路を有し、情報処理装置200と電気的に接続して画像データ及び各種の情報を送受信する。また、第1インタフェース装置101の代わりに、無線信号を送受信するアンテナと、所定の通信プロトコルに従って、無線通信回線を通じて信号の送受信を行うための無線通信インタフェース回路とを有する通信装置が用いられてもよい。所定の通信プロトコルは、例えば無線LAN(Local Area Network)である。
 撮像装置102は、主走査方向に直線状に配列されたCCD(Charge Coupled Device)による撮像素子を備える縮小光学系タイプの撮像センサを有する。さらに、撮像装置102は、光を照射する光源と、撮像素子上に像を結ぶレンズと、撮像素子から出力された電気信号を増幅してアナログ/デジタル(A/D)変換するA/D変換器とを有する。撮像装置102において、撮像センサは、搬送される原稿の表面を撮像してアナログの画像信号を生成して出力し、A/D変換器は、このアナログの画像信号をA/D変換してデジタルの入力画像を生成して出力する。入力画像は、各画素データが、例えばRGB各色毎に8bitで表される計24bitのR(赤色)値、G(緑色)値、B(青色)値からなるカラー多値画像である。なお、入力画像は、各画素データが例えば8bitの輝度値からなる白黒多値画像でもよい。また、CCDの代わりにCMOS(Complementary Metal Oxide Semiconductor)による撮像素子を備える等倍光学系タイプのCIS(Contact Image Sensor)が用いられてもよい。
 第1記憶装置110は、RAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ装置、ハードディスク等の固定ディスク装置、又はフレキシブルディスク、光ディスク等の可搬用の記憶装置等を有する。また、第1記憶装置110には、画像読取装置100の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が格納される。コンピュータプログラムは、コンピュータ読み取り可能な可搬型記録媒体から公知のセットアッププログラム等を用いて第1記憶装置110にインストールされてもよい。可搬型記録媒体は、例えばCD-ROM(compact disk read only memory)、DVD-ROM(digital versatile disk read only memory)等である。また、第1記憶装置110は、撮像装置102により生成された入力画像等を記憶する。
 第1CPU120は、予め第1記憶装置110に記憶されているプログラムに基づいて動作する。なお、第1CPU120に代えて、DSP(digital signal processor)、LSI(large scale integration)等が用いられてよい。また、第1CPU120に代えて、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programming Gate Array)等が用いられてもよい。
 第1CPU120は、第1インタフェース装置101、撮像装置102及び第1記憶装置110等と接続され、これらの各部を制御する。第1CPU120は、撮像装置102の原稿読取制御、第1インタフェース装置101を介した情報処理装置200とのデータ送受信制御等を行う。
 情報処理装置200は、第2インタフェース装置201と、入力装置202と、表示装置203と、第2記憶装置220と、第2CPU240と、処理装置260とを有する。以下、情報処理装置200の各部について詳細に説明する。
 第2インタフェース装置201は、画像読取装置100の第1インタフェース装置101と同様のインタフェース回路を有し、情報処理装置200と画像読取装置100とを接続する。また、第2インタフェース装置201の代わりに、無線信号を送受信するアンテナと、無線LAN等の所定の通信プロトコルに従って、無線通信回線を通じて信号の送受信を行うための無線通信インタフェース回路とを有する通信装置が用いられてもよい。
 入力装置202は、キーボード、マウス等の入力装置及び入力装置から信号を取得するインタフェース回路を有し、利用者の操作に応じた信号を第2CPU240に出力する。
 表示装置203は、出力部の一例である。表示装置203は、液晶、有機EL等から構成されるディスプレイ及びディスプレイに画像データを出力するインタフェース回路を有し、第2記憶装置220と接続されて第2記憶装置220に保存されている画像データをディスプレイに表示する。
 第2記憶装置220は、画像読取装置100の第1記憶装置110と同様のメモリ装置、固定ディスク装置、可搬用の記憶装置等を有する。第2記憶装置220には、情報処理装置200の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が格納される。コンピュータプログラムは、例えばCD-ROM、DVD-ROM等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて第2記憶装置220にインストールされてもよい。また、第2記憶装置220は、画像読取装置100から受信した入力画像、及び、処理装置260により入力画像に対して画像処理がなされた各種の処理画像等を記憶する。
 第2CPU240は、予め第2記憶装置220に記憶されているプログラムに基づいて動作する。なお、第2CPU240に代えて、DSP、LSI、ASIC、FPGA等が用いられてもよい。
 第2CPU240は、第2インタフェース装置201、入力装置202、表示装置203、第2記憶装置220及び処理装置260等と接続され、これらの各部を制御する。第2CPU240は、第2インタフェース装置201を介した画像読取装置100とのデータ送受信制御、入力装置202の入力制御、表示装置203の表示制御、処理装置260による画像処理の制御等を行う。
 処理装置260は、入力画像に対して所定の画像処理を実行する。処理装置260は、CPU、DSP、LSI、ASIC又はFPGA等で構成される。
 図2は、第2記憶装置220及び第2CPU240の概略構成を示す図である。
 図2に示すように、第2記憶装置220には、取得プログラム221、エッジ画像生成プログラム222、二値画像生成プログラム223、セル領域検出プログラム224、直線成分検出プログラム225、マスク領域設定プログラム230、補正画像生成プログラム231、文字検出プログラム232及び出力制御プログラム233等の各プログラムが記憶される。直線成分検出プログラム225には、破線候補抽出プログラム226、グループ抽出プログラム227、破線検出プログラム228及び近似直線検出プログラム229等が含まれる。これらの各プログラムは、プロセッサ上で動作するソフトウェアにより実装される機能モジュールである。第2CPU240は、第2記憶装置220に記憶された各プログラムを読み取り、読み取った各プログラムに従って動作する。これにより、第2CPU240は、取得部241、エッジ画像生成部242、二値画像生成部243、セル領域検出部244、直線成分検出部245、マスク領域設定部250、補正画像生成部251、文字検出部252及び出力制御部253として機能する。直線成分検出部245には、破線候補抽出部246、グループ抽出部247、破線検出部248及び近似直線検出部249等が含まれる。
 図3は、画像読取装置100による画像読取処理の動作を示すフローチャートである。以下、図3に示したフローチャートを参照しつつ、画像読取処理の動作を説明する。なお、以下に説明する動作のフローは、予め第1記憶装置110に記憶されているプログラムに基づき主に第1CPU120により画像読取装置100の各要素と協働して実行される。
 最初に、撮像装置102は、原稿として、請求書等の帳票を撮像した入力画像を生成し、第1記憶装置110に保存する(ステップS101)。この原稿には、少なくとも表が含まれている。表内には、それぞれ実線で囲まれた複数のセル領域が含まれ、各セル領域内には、文字及び破線が含まれる。
 次に、第1CPU120は、第1記憶装置110に保存された入力画像を、第1インタフェース装置101を介して情報処理装置200に送信し(ステップS102)、一連のステップを終了する。
 図4及び図5は、情報処理装置200による認識処理の動作を示すフローチャートである。以下、図4及び図5に示したフローチャートを参照しつつ、認識処理の動作を説明する。なお、以下に説明する動作のフローは、予め第2記憶装置220に記憶されているプログラムに基づき主に第2CPU240により情報処理装置200の各要素と協同して実行される。
 最初に、取得部241は、第2インタフェース装置201を介して画像読取装置100から入力画像を取得し、第2記憶装置220に保存する(ステップS201)。
 図6Aは、入力画像600の一例を示す模式図である。
 図6Aに示すように、入力画像600には、表601が含まれる。表601内には、それぞれ実線で囲まれた複数のセル領域602が含まれている。セル領域602には、各項目の名称及び数値等を示す文字603と、水平方向に延伸し且つセル領域602内の各項目を領域分けするための破線604と、垂直方向に延伸し且つ数値の各桁を領域分けするための破線605とが含まれている。破線は、一定間隔で隙間が形成された直線である。なお、セル領域602内の各項目又は数値の各桁は、破線604、605の代わりに、点線又は細線で領域分けされてもよい。点線は、一定間隔で配置された点により形成された直線である。細線は、セル領域を囲む実線より細い直線である。
 以下では、入力画像内で、各セル領域の枠を構成する各直線(セル領域を囲む実線)は、水平及び垂直方向に延伸しているものとして説明する。
 次に、エッジ画像生成部242は、取得した入力画像からエッジ画素を抽出し、入力画像をエッジ画素と非エッジ画素に二値化したエッジ画像を生成する(ステップS202)。エッジ画像生成部242は、入力画像内の画素の水平方向の両隣の画素の輝度値の差の絶対値(以下、隣接差分値と称する)を算出し、隣接差分値が第1閾値を越える場合、その入力画像上の画素をエッジ画素として抽出する。第1閾値は、例えば、人が画像上の輝度の違いを目視により判別可能な輝度値の差(例えば20)に設定することができる。エッジ画像生成部242は、垂直方向についても隣接差分値を算出し、隣接差分値が第1閾値を越える場合、その入力画像上の画素もエッジ画素として抽出する。一方、エッジ画像生成部242は、エッジ画素として抽出されなかった画素を非エッジ画素として抽出する。
 なお、エッジ画像生成部242は、入力画像内の画素から水平又は垂直方向に所定距離だけ離れた画素の輝度値の差の絶対値を隣接差分値として算出してもよい。また、エッジ画像生成部242は、各画素の輝度値に代えて、各画素の色値(R値、G値又はB値)を用いて隣接差分値を算出してもよい。また、エッジ画像生成部242は、入力画像の輝度値又は色値を閾値と比較することによりエッジ画素を抽出してもよい。例えば、エッジ画像生成部242は、特定の画素の輝度値又は色値が閾値未満であり、その特定の画素に隣接する画素又はその特定の画素から所定距離だけ離れた画素の輝度値又は色値が閾値以上である場合、その特定の画素をエッジ画素として抽出する。
 図6Bは、エッジ画像610の一例を示す模式図である。
 図6Bは、図6Aに示す入力画像600から生成されたエッジ画像610を示す。図6Bに示すように、エッジ画像610では、入力画像600におけるセル領域602を囲む実線に対応する画素612と、文字603に対応する画素613とがエッジ画素として抽出されている。さらに、エッジ画像610では、破線604に対応する一部の画素614と、破線605に対応する一部の画素615とがエッジ画素として抽出されている。
 次に、二値画像生成部243は、取得した入力画像を低輝度な画素に対応する黒色画素と、高輝度な画素に対応する白色画素に二値化した二値画像を生成する(ステップS203)。二値画像生成部243は、入力画像内で階調値が第2閾値以上である画素を白色画素とし、階調値が第2閾値未満である画素を黒色画素とした画像を二値画像として生成する。第2閾値は、事前の実験により、一般的な背景を形成する画素の階調値と文字を形成する画素の階調値の間の値に設定される。なお、第2閾値は、大津の二値化処理により決定されてもよい。
 図6Cは、二値画像620の一例を示す模式図である。
 図6Cは、図6Aに示す入力画像600を二値化した二値画像620を示す。図6Cに示すように、二値画像620では、入力画像600におけるセル領域602を囲む実線に対応する一部の画素622と、文字603に対応する画素623とが黒色画素として抽出されている。さらに、二値画像620では、破線604に対応する一部の画素624と、破線605に対応する一部の画素625とが黒色画素として抽出されている。
 次に、セル領域検出部244は、二値画像内で表のセルに対応するセル領域を検出する(ステップS204)。
 セル領域検出部244は、例えば、エッジ画像内でエッジ画素により非エッジ画素が囲まれた領域に対応する二値画像内の領域をセル領域として検出する。セル領域検出部244は、エッジ画像内で相互に隣接するエッジ画素で囲まれる第1連結領域をラベリングによりグループ化し、各第1連結領域の内、水平又は垂直方向のサイズが第1サイズ以上である第1連結領域を抽出する。第1サイズは、内部に文字を含むことが可能なサイズに設定され、例えば16ポイントに相当する画素数に設定される。セル領域検出部244は、抽出した各第1連結領域内で、隣接する非エッジ画素で囲まれる第2連結領域をラベリングによりグループ化し、各第2連結領域の内、水平又は垂直方向の長さが第2サイズ以上である第2連結領域を抽出する。第2サイズは、文字の最低サイズに設定され、例えば8ポイントに相当する画素数に設定される。セル領域検出部244は、抽出した第2連結領域に隣接し且つその第2連結領域を囲むエッジ画素で囲まれた領域をセル領域として検出する。
 図7Aは、セル領域について説明するための模式図である。
 図7Aは、図6Bに示すエッジ画像610から抽出されたセル領域を表す画像700を示す。図7Aに示すように、画像700において、エッジ画像610内のエッジ画素で囲まれ且つ水平又は垂直方向のサイズが第1サイズ以上である領域701~707が第1連結領域として示されている。第1連結領域701内では、第2連結領域が抽出されず、セル領域が検出されない。第1連結領域702内では、1個の第2連結領域708が抽出され、第2連結領域708を囲む領域(第1連結領域702と同一領域)がセル領域として検出される。一方、第1連結領域706内では、14個の第2連結領域709が抽出され、14個の第2連結領域709をそれぞれ囲む14個の各領域がセル領域として検出される。同様に、第1連結領域703~705、707内でも複数のセル領域が検出される。このように、セル領域検出部244は、エッジ画像から、表のセルに対応する領域を精度良く検出することができる。
 なお、セル領域検出部244は、エッジ画像内でエッジ画素が連続する直線を抽出し、抽出した直線で囲まれる領域を第1連結領域として抽出してもよい。その場合、セル領域検出部244は、例えばモロフォジー変換を用いて、直線を抽出する。セル領域検出部244は、エッジ画像内で、水平方向において非エッジ画素と隣接するエッジ画素を非エッジ画素に変換する収縮処理を所定回数(第1サイズ分)実行した後、エッジ画素と隣接する非エッジ画素をエッジ画素に変換する膨張処理を所定回数実行する。セル領域検出部244は、残ったエッジ画素を水平方向に延伸する直線として抽出する。同様に、セル領域検出部244は、エッジ画像内で、垂直方向において非エッジ画素と隣接するエッジ画素を非エッジ画素に変換する収縮処理を所定回数実行した後、エッジ画素と隣接する非エッジ画素をエッジ画素に変換する膨張処理を所定回数実行する。セル領域検出部244は、残ったエッジ画素を垂直方向に延伸する直線として抽出する。
 図7Bは、直線に基づいて検出されるセル領域について説明するための模式図である。
 図7Bは、図6Bに示すエッジ画像610から抽出された第1連結領域を表す画像710を示す。画像710では、図7Aに示した画像700と比較して、多数の直線が抽出され、多数の第1連結領域711~718が抽出されている。但し、単一の直線からなる第1連結領域711、718等には第2連結領域が含まれない。画像710において、各第1連結領域内で、第2連結領域を囲むセル領域は、画像700に示す各セル領域と同様となる。即ち、セル領域検出部244は、直線に基づく場合も、エッジ画素の連結成分に基づく場合と同様に、セル領域を精度良く検出することができる。
 また、セル領域検出部244は、二値画像内で黒色画素により白色画素が囲まれた領域をセル領域として検出してもよい。セル領域検出部244は、二値画像内で相互に隣接する黒色画素で囲まれる第1連結領域をラベリングによりグループ化し、各第1連結領域の内、水平又は垂直方向のサイズが第1サイズ以上である第1連結領域を抽出する。セル領域検出部244は、抽出した各第1連結領域内で、隣接する白色画素で囲まれる第2連結領域をラベリングによりグループ化し、各第2連結領域の内、水平又は垂直方向の長さが第2サイズ以上である第2連結領域を抽出する。セル領域検出部244は、抽出した第2連結領域に隣接し且つその第2連結領域を囲む黒色画素で囲まれた領域をセル領域として検出する。この場合、セル領域検出部244は、エッジ画像を生成することなく、表のセルに対応する領域を検出できるため、認識処理の処理時間を短縮させることができる。
 次に、破線候補抽出部246は、二値画像から抽出された各セル領域から破線候補を抽出する(ステップS205)。
 破線候補抽出部246は、二値画像から抽出された各セル領域内で、相互に隣接する黒色画素で囲まれる第3連結領域をラベリングによりグループ化する。第3連結領域は、黒色画素の連結成分の一例である。なお、破線候補抽出部246は、破線と接触している文字が破線候補に極力含まれないように、水平及び垂直方向に隣接する黒色画素のみをグループ化し、斜め方向に隣接する黒色画素を第3連結領域に含ませない。なお、破線候補抽出部246は、斜め方向に隣接する黒色画素も第3連結領域に含ませてもよい。
 破線候補抽出部246は、抽出した第3連結領域の内、水平及び垂直方向のサイズが第3サイズ(例えば1ポイントに相当する画素数)以下である第3連結領域を、破線でなくドットとみなして除去する。また、破線候補抽出部246は、その第3連結領域の外接矩形の面積(画素数)に対するその第3連結領域内の黒色画素の面積(画素数)の比率が所定比率(例えば60%)未満である第3連結領域を、破線でなく文字の一部とみなして除去する。また、破線候補抽出部246は、水平又は垂直方向のサイズが第4サイズ(例えば4ポイントに相当する画素数)より大きい第3連結領域を、破線でなく文字とみなして除去する。第4サイズは、所定の大きさの一例である。破線候補抽出部246は、除去せずに残った第3連結領域を破線候補として抽出する。このように、破線候補抽出部246は、二値画像から、所定の大きさを超える破線候補を除去して、所定の大きさ以下の破線候補を抽出する。
 図8A、図8B及び図8Cは、破線候補について説明するための模式図である。
 図8A、図8B及び図8Cは、それぞれ二値画像内の一部の画像800、810、820を示す。画像820は、セル領域821を示す。図8A、図8B及び図8Cにおいて、黒色画素の連結成分は、第3連結領域として抽出される。但し、図8Aの画像800に含まれる網掛けの一部801及び点線の一部802は、水平及び垂直方向のサイズが第3サイズ以下であるため、ドットとみなされて第3連結領域から除去される。また、図8Bの画像810に含まれる文字の一部811は、その外接矩形812の画素数に対する黒色画素の画素数の比率が所定比率未満であるため、文字の一部とみなされて第3連結領域から除去される。
 また、図8Cの画像820に含まれる各文字822~825は、水平又は垂直方向のサイズが第4サイズより大きいため、文字とみなされて第3連結領域から除去される。また、画像820に含まれる文字826及びその文字826と連結する破線832と、文字827及びその文字827と連結する破線834とは、水平又は垂直方向のサイズが第4サイズより大きいため、文字とみなされて第3連結領域から除去される。一方、画像820に含まれる各破線831、833、835及び836~840は、破線候補として抽出される。
 次に、グループ抽出部247は、抽出された破線候補の中から、所定方向に並んでいる複数の破線候補を破線候補グループとして抽出する(ステップS206)。所定方向は、各セル領域の枠を構成する直線(各セル領域を囲む実線)の延伸方向であり、画像内の垂直方向又は水平方向である。グループ抽出部247は、垂直方向に延伸する破線候補が垂直方向に並ぶグループを主破線候補グループとして抽出し、垂直方向に延伸する破線候補が水平方向に並ぶグループを副破線候補グループとして抽出する。同様に、グループ抽出部247は、水平方向に延伸する破線候補が水平方向に並ぶグループを主破線候補グループとして抽出し、水平方向に延伸する破線候補が垂直方向に並ぶグループを副破線候補グループとして抽出する。
 主破線候補グループは、所定方向に並んでいる複数の破線候補が含まれる破線候補グループの一例であり、副破線候補グループは、所定方向と直交する方向に並んでいる複数の破線候補が含まれる第2破線候補グループの一例である。以下では、垂直方向及び水平方向の内、各破線候補の延伸方向(長手方向)を主方向と称し、各破線候補の延伸方向と直交する方向(短手方向)を副方向と称する場合がある。
 グループ抽出部247は、各破線候補の主方向のサイズH、副方向のサイズW、主方向の中心位置Y及び副方向の中心位置Xを特定する(サイズH、W及び位置Y、Xについては図8Cを参照)。グループ抽出部247は、各破線候補の主方向のサイズHの差及び副方向のサイズWの差が第1サイズ閾値未満であり且つ副方向の中心位置Xの差が第1位置閾値未満である破線候補ペアの内、主方向において相互に隣り合う破線候補ペアを抽出する。そして、グループ抽出部247は、抽出した破線候補ペアが同一の主破線候補グループに含まれるように、各破線候補を分類する。第1サイズ閾値は、一般的な破線の幅より小さい値(例えば4画素)に設定される。同様に、グループ抽出部247は、各破線候補の主方向のサイズHの差及び副方向のサイズWの差が第1サイズ閾値未満であり且つ主方向の中心位置Yの差が第2位置閾値未満である破線候補ペアの内、副方向において相互に隣り合う破線候補ペアを抽出する。そして、グループ抽出部247は、抽出した破線候補ペアが同一の副破線候補グループに含まれるように、各破線候補を分類する。
 図8Cに示す画像820では、破線候補831、833及び835が一つの主破線候補グループに分類され、破線候補836~840が一つの主破線候補グループに分類される。また、破線候補831及び836が一つの副破線候補グループに分類され、破線候補833及び838が一つの副破線候補グループに分類され、破線候補835及び840が一つの副破線候補グループに分類される。
 なお、グループ抽出部247は、主方向において複数の文字(複数行の文字)が含まれるセル領域と、単数の文字(単数行の文字)のみが含まれるセル領域とで第1サイズ閾値を変更してもよい。グループ抽出部247は、セル領域の主方向のサイズが所定値より大きい場合、そのセル領域には複数行の文字が含まれ、そのサイズが所定値以下である場合、そのセル領域には単数行の文字のみが含まれると推定する。グループ抽出部247は、単数行の文字のみが含まれるセル領域における第1サイズ閾値を、複数行の文字が含まれるセル領域における第1サイズ閾値より大きくする。単数行の文字が含まれるセル領域は、複数行の文字が含まれるセル領域より小さいため、セル領域に含まれる破線候補の数は少ない傾向にある。グループ抽出部247は、単数行の文字のみが含まれるセル領域において使用する破線候補の数を多くすることにより、より良好に破線を検出することができる。
 次に、破線検出部248は、主破線候補グループ毎に、各主破線候補グループに含まれる複数の破線候補の大きさの差に基づいて、各主破線候補グループに含まれる各破線候補の大きさに関する大きさ評価点を算出する(ステップS207)。破線検出部248は、各主破線候補グループに含まれる各破線候補の主方向のサイズH及び副方向のサイズWを特定する。破線検出部248は、主方向において相互に隣り合う破線候補ペアの内、各破線候補の主方向のサイズHの差及び副方向のサイズWの差が第2サイズ閾値未満である破線候補ペアの数を大きさ評価点として算出する。第2サイズ閾値は、第1サイズ閾値より小さい値(例えば2画素)に設定される。なお、破線検出部248は、算出した破線候補ペアの数を正規化した値、又は、算出した破線候補ペアの数を破線候補グループに含まれる破線候補ペアの数で除算した値を大きさ評価点として算出してもよい。
 また、破線検出部248は、第1サイズ閾値と同様に、複数行の文字が含まれるセル領域と、単数行の文字のみが含まれるセル領域とで第2サイズ閾値を変更してもよい。破線検出部248は、グループ抽出部247と同様にして、セル領域に複数行の文字が含まれるか単数行の文字のみが含まれるかを推定する。破線検出部248は、単数行の文字のみが含まれるセル領域における第2サイズ閾値を、複数行の文字が含まれるセル領域における第2サイズ閾値より大きくする。これにより、破線候補の数が少ないセル領域では、大きさ評価点が高くなり、破線の検出抜けが抑制される。
 次に、破線検出部248は、主破線候補グループ毎に、各主破線候補グループが含まれるセル領域の主方向の端部から第2所定距離内に破線候補が存在するか否かに基づいて、各セル領域の端部に関する端部評価点を算出する(ステップS208)。破線検出部248は、セル領域の主方向の端部から第2所定距離内にある各所定範囲に、その主破線候補グループに含まれる破線候補が存在するか否かを判定し、破線候補が存在する所定範囲の数を領域端評価点として算出する。破線検出部248は、各主破線候補グループに含まれる各破線候補の主方向のサイズHの平均値、副方向のサイズWの平均値及び副方向における中心位置Xの平均値を算出する。破線検出部248は、主方向のサイズHの平均値を第2所定距離に設定する。そして、破線検出部248は、セル領域内で、副方向において中心位置Xの平均値を中心としてサイズWの平均値の幅を有し、且つ、主方向においてセル領域の両端部のそれぞれから第2所定距離内にある各範囲を所定範囲として設定する。
 図8Cに示す例では、破線候補836~840が含まれる主破線候補グループに対して、二つの端部領域841、842が所定範囲として設定される。
 次に、破線検出部248は、主破線候補グループ毎に、各主破線候補グループに含まれる複数の破線候補間の距離に基づいて、各主破線候補グループに含まれる各破線候補の連続性に関する連続性評価点を算出する(ステップS209)。破線検出部248は、各主破線候補グループにおいて相互に隣り合う破線候補ペアを特定する。破線検出部248は、特定した破線候補ペア毎に、主方向における各破線候補のサイズH及び各破線候補間の距離ΔHを特定し、特定した破線候補ペアの中から、特定した距離ΔHが所定距離以下である破線候補ペアを抽出する。所定距離は、そのペアに係る破線候補の主方向のサイズHの内の大きい方の値に所定係数(例えば1.1)を乗算した値に設定される。
 また、破線検出部248は、各主破線候補グループ内で相互に隣り合い、且つ、破線候補の間の距離ΔHが所定距離より大きい二つの破線候補を特定する。破線検出部248は、特定した二つの破線候補の間に、破線候補抽出部246により、第4サイズより大きいために文字とみなして破線候補から除外された第3連結領域が存在するか否かを判定する。破線検出部248は、特定した二つの破線候補の間に、破線候補から除外された第3連結領域が存在する場合、その二つの破線候補の間の距離ΔHに基づいて、その二つの破線候補の間に存在する破線候補の数を推定する。即ち、破線検出部248は、相互に隣り合う二つの破線候補の間の距離が所定距離より大きく且つその二つの破線候補の間に第3連結領域が存在していた場合、その二つの破線候補の間の距離に基づいて、その二つの破線候補の間に存在する破線候補の数を推定する。
 破線検出部248は、以下の三つの条件を充足する第3連結領域が存在する場合に、相互に隣り合う二つの破線候補の間に第3連結領域が存在すると判定する。
 第1条件:副方向において、一方の破線候補の所定側の端部及び他方の破線候補の反対側の端部の両方が第3連結領域の内側に存在すること。
 第2条件:主方向において、何れかの破線候補の何れかの端部とその端部側に位置する第3連結領域の端部との間の距離が閾値未満であること。
 第3条件:両方の破線候補の主方向のサイズが第3連結領域の主方向のサイズ以下であり、且つ、両方の破線候補の副方向のサイズが第3連結領域の副方向のサイズ以下であること。
 主方向において、N個の破線を挟む二つの破線間の距離をΔHとし、破線の長さをHとし、破線間のブランクの長さが破線の長さHと略同一であると仮定すると、以下の式(1)が成立する。
 ΔH=(2×N+1)×H   (1)
したがって、距離ΔHだけ離れた二つの破線の間には、以下の式(2)で算出されるN個の破線が存在する可能性がある。
 N=(ΔH/H-1)/2   (2)
そのため、破線検出部248は、二つの破線候補の間に第3連結領域が存在していた場合、その二つの破線候補の間に、式(2)で算出されるN個の破線が存在すると推定する。
 破線検出部248は、二つの破線候補の間に、推定した数の破線候補が存在するものとみなして、二つの破線候補と、推定した数の破線候補とから、相互に隣り合う破線候補ペアをさらに抽出する。即ち、破線検出部248は、複数の破線候補間の距離が所定距離より大きく且つ破線候補間に第4サイズを超える第3連結領域が存在していた場合、その破線候補間に他の破線候補が存在するものとみなす。
 図8Cに示す例では、文字826と連結する破線832と、文字827と連結する破線834とは、文字とみなされて第3連結領域から除去され、破線候補831、833、835が含まれる主破線候補グループに含まれない。しかしながら、破線候補831と破線候補833の間には、文字826及び破線832からなる第3連結領域が存在するため、破線候補が存在するとみなされる。同様に、破線候補833と破線候補835の間には、文字827及び破線834からなる第3連結領域が存在するため、破線候補が存在するとみなされる。したがって、この主破線候補グループから、破線候補831と推定された破線候補とのペア、推定された破線候補と破線候補833とのペア、破線候補833と推定された破線候補とのペア、推定された破線候補と破線候補835とのペアの5つのペアが抽出される。
 一方、破線検出部248は、各主破線候補グループ内で相互に隣り合う破線候補ペアの間の距離ΔHが所定距離より大きく且つその破線候補ペアの間に上記条件を充足する第3連結領域が存在しない場合、その破線候補ペアを抽出しない。破線検出部248は、抽出した破線候補ペアが連続して並ぶ数に基づいて連続性評価点を算出する。例えば、破線検出部248は、破線候補ペアが主方向に連続する連続数の最大数を連続性評価点として算出する。なお、破線検出部248は、算出した最大数を正規化した値、又は、算出した最大数を破線候補グループに含まれる破線候補ペアの数で除算した値を連続性評価点として算出してもよい。
 なお、破線検出部248は、対応するセル領域に複数行の文字が含まれか単数行の文字のみが含まれるかに応じて、連続性評価点を補正してもよい。破線検出部248は、グループ抽出部247と同様にして、セル領域に複数行の文字が含まれるか単数行の文字のみが含まれるかを推定する。破線検出部248は、単数行の文字のみが含まれるセル領域における連続性評価点に1より大きい所定の係数(例えば1.5)を乗算することにより、単数行の文字のみが含まれるセル領域における連続性評価点を増大させる。これにより、破線候補の数が少ないセル領域では、連続性評価点が高くなり、破線の検出抜けが抑制される。
 次に、破線検出部248は、主破線候補グループ毎に算出した連続性評価点を補正する(ステップS210)。
 破線検出部248は、副破線候補グループ毎に、各副破線候補グループに含まれる複数の破線候補間の距離に基づいて、各副破線候補グループに含まれる各破線候補の連続性に関する連続性評価点を算出する。破線検出部248は、各副破線候補グループにおいて相互に隣り合う破線候補ペアを特定する。破線検出部248は、特定した破線候補ペア毎に、各破線候補の主方向における各端部位置Y1、Y2及び副方向における中心位置Xを特定する。破線検出部248は、特定した破線候補ペアの中から、主方向における各端部位置Y1の間の距離L1及び各端部位置Y2の間の距離L2が第1距離閾値未満であり且つ副方向における中心位置Xの間の距離L3が第2距離閾値未満である破線候補ペアを抽出する。第1距離閾値は、例えば2画素に設定される。第2距離閾値は、例えば各破線候補の主方向のサイズの内の大きい方のサイズの所定倍(例えば2倍)に設定される。
 一方、破線検出部248は、主方向における各端部位置Y1の間の距離L1もしくは各端部位置Y2の間の距離L2が第1距離閾値以上である破線候補ペア、又は、副方向における中心位置Xの間の距離L3が第2距離閾値以上である破線候補ペアを抽出しない。破線検出部248は、抽出した破線候補ペアが連続して並ぶ数に基づいて連続性評価点を算出する。例えば、破線検出部248は、抽出した破線候補ペアが副方向に連続する連続数の最大数を連続性評価点として算出する。なお、破線検出部248は、算出した最大数を正規化した値、又は、算出した最大数を破線候補グループに含まれる破線候補ペアの数で除算した値を連続性評価点として算出してもよい。
 破線検出部248は、主破線候補グループに含まれる破線候補が含まれる副破線候補グループの連続性評価点に基づいて、主破線候補グループの連続性評価点を補正する。破線検出部248は、例えば、その主破線候補グループの評価点に、その副破線候補グループの連続性評価点を加算、乗算、重み付き加算又は重み付き乗算することにより、主破線候補グループの評価点を補正する。即ち、破線検出部248は、その副破線候補グループの連続性評価点が高い程、高くなるように、その主破線候補グループの連続性評価点を補正する。これにより、破線検出部248は、複数方向の連続性に基づいて、精度良く破線を検出することができる。
 図8Cに示す例では、破線候補831、833及び835の主破線候補グループの連続性評価点は、破線候補836及び831、破線候補838及び833、破線候補840及び835の各副破線候補グループの連続性評価点に基づいて補正される。同様に、破線候補836~840の主破線候補グループの連続性評価点は、破線候補836及び831、破線候補838及び833、破線候補840及び835の各副破線候補グループの連続性評価点に基づいて補正される。
 次に、破線検出部248は、主破線候補グループ毎に、各主破線候補グループの大きさ評価点、端部評価点及び連続性評価点に基づいて、各主破線候補グループに含まれる各破線候補の破線らしさを示す評価点を算出する(ステップS211)。破線検出部248は、大きさ評価点、端部評価点及び連続性評価点の加算値、乗算値、重み付き加算値又は重み付き乗算値を評価点として算出する。即ち、破線検出部248は、大きさ評価点、端部評価点及び連続性評価点が高い程、高くなるように評価点を算出する。
 破線検出部248は、主破線候補グループ毎に、各主破線候補グループの評価点が評価閾値以上であるか否かを判定する(ステップS212)。
 破線検出部248は、評価点が評価閾値以上である場合、その主破線候補グループに含まれる複数の破線候補を破線として検出する(ステップS213)。一方、破線検出部248は、評価点が評価閾値未満である場合、その主破線候補グループに含まれる複数の破線候補は破線でないと判定する。評価閾値は、事前の実験により、破線を含む主破線候補グループについて算出された評価点と、破線を含まない主破線候補グループについて算出された評価点との間の値に設定される。このように、破線検出部248は、セル領域の一端から他端まで連続しない直線成分として、破線を検出する。以下では、セル領域の一端から他端まで連続しない直線成分を不連続直線成分と称する場合がある。
 なお、グループ抽出部247は、主破線候補グループとして、セル領域の枠と平行な方向に延伸する破線候補のグループを抽出している。そのため、破線検出部248は、セル領域の枠と略平行な方向に延伸する破線のみを検出している。これにより、セル領域の枠に対して斜め方向に延伸する文字、記号等が、セル領域内で各文字を領域分けする破線として誤って検出されることが抑制される。
 次に、近似直線検出部249は、二値画像から抽出された各セル領域内で近似直線を検出する(ステップS214)。近似直線検出部249は、ハフ変換を用いて、各セル領域内で所定の黒色画素を通る直線を近似直線として検出する。なお、近似直線検出部249は、最小二乗法を用いて、各セル領域内で所定の黒色画素の近傍を通る直線を近似直線として検出してもよい。また、近似直線検出部249は、セル領域検出部244による直線抽出処理と同様に、モロフォジー変換を用いて、直線を検出してもよい。また、近似直線検出部249は、黒色画素の連結領域の内、短手方向の長さに対する長手方向の長さの比率が所定比率(例えば2)以上である矩形領域を近似直線として検出してもよい。
 各セル領域は、黒色画素により白色画素が囲まれた領域である。そのため、各セル領域内で検出される近似直線は、破線、点線、又は、かすれ等により途切れた直線等のように、不連続直線成分である。
 なお、近似直線検出部249は、セル領域の枠と略平行な方向に延伸する直線成分のみを検出してもよい。その場合、近似直線検出部249は、検出した直線の内、セル領域の枠(セル領域を囲む何れかの実線)との角度が所定角度(例えば3°)を超える直線を除去し、セル領域の枠との角度が所定角度以下の直線を近似直線として検出する。これにより、セル領域の枠に対して斜め方向に延伸する文字、記号等が、セル領域内で各文字を領域分けする破線として誤って検出されることが抑制される。
 図9A及び図9Bは、他の二値画像について説明するための模式図である。
 図9A及び図9Bは、それぞれ他の二値画像の一部の画像900、910を示す。各画像900、910は、それぞれセル領域901、911を示す。図9Aに示すセル領域901には、各項目の数値等を示す文字902と、垂直方向に延伸し且つセル領域901内の各文字902を領域分けするための点線903とが含まれる。点線903は一定間隔で配置された点により形成されており、点線903の内の一部904は繋がっているが、点線903はセル領域901の一端から他端まで連続していない。画像900において、点線903は、近似直線として検出される。
 図9Bに示すセル領域911には、各項目の数値等を示す文字912と、水平方向に延伸し且つセル領域911内の各文字912を領域分けするための直線913とが含まれている。直線913の一部914は、かすれ等により途切れており、直線913はセル領域911の一端から他端まで連続していない。画像910において、直線913は、近似直線として検出される。
 次に、マスク領域設定部250は、不連続直線成分(破線及び近似直線)を入力画像又は二値画像から除去するために使用するマスク領域を設定する(ステップS215)。マスク領域設定部250は、直線成分検出部245により検出された不連続直線成分を含み且つその不連続直線成分の延伸方向においてセル領域の一端から他端まで延伸する矩形領域をマスク領域として設定する。
 図10A、図10B及び図10Cは、マスク領域について説明するための模式図である。
 図10Aは、図8Cに示すセル領域821に対して設定されたマスク領域1000を示す。図10Aでは、マスク領域1000として、セル領域821の破線831、833、835及び836~840を含み且つ各破線が延伸する垂直方向においてセル領域821の一端843から他端844まで延伸する矩形領域が設定されている。
 図10Bは、図9Aに示すセル領域901に対して設定されたマスク領域1010を示す。図10Bでは、マスク領域1010として、セル領域901の点線903を含み且つ各点線903が延伸する垂直方向においてセル領域901の一端905から他端906まで延伸する矩形領域が設定されている。
 図10Cは、図9Bに示すセル領域911に対して設定されたマスク領域1020を示す。図10Cでは、マスク領域1020として、セル領域911の直線913を含み且つ直線913が延伸する水平方向においてセル領域911の一端915から他端916まで延伸する矩形領域が設定されている。
 次に、補正画像生成部251は、マスク領域設定部250により設定されたマスク領域に基づいて、二値画像から不連続直線成分を除去した補正画像を生成する(ステップS216)。補正画像は、入力画像又は二値画像から破線検出部248が検出した破線を除去した破線除去画像の一例である。補正画像生成部251は、二値画像内でマスク領域内の画素を白色画素に置換することにより補正画像を生成する。
 図11A、図11B及び図11Cは、補正画像について説明するための模式図である。
 図11Aは、図8Cに示す画像820に対応する補正画像の一部の画像1100を示す。図11Aに示すように、画像1100では、画像820内の文字822~825を残しつつ、画像820において破線候補として抽出された各破線831、833、835及び836~840が除去されている。さらに、画像1100では、画像820内の文字826及び827を残しつつ、文字826と連結する破線832及び文字827と連結する破線834も除去されている。
 図11Bは、図9Aに示す画像900に対応する補正画像の一部の画像1110を示す。図11Bに示すように、画像1110では、画像900内の各文字902を残しつつ、点線903の繋がっている部分904だけでなく、点線903の全体が除去されている。
 図11Cは、図9Bに示す画像910に対応する補正画像の一部の画像1120を示す。図11Cに示すように、画像1120では、画像910内の各文字912を残しつつ、直線913の繋がっている部分だけでなく、直線913の全体が除去されている。
 なお、補正画像生成部251は、多値画像である入力画像から補正画像を生成してもよい。補正画像生成部251は、入力画像内でマスク領域に対応する画素を、その周辺に位置する周辺画素で補間することにより補正画像を生成する。補正画像生成部251は、公知のインペインティング技術(画像補間技術)を利用して、各画素を補間する。なお、補正画像生成部251は、入力画像内でマスク領域に対応する領域と隣接する画素を用いて、マスク領域に対応する画素に対して一次元の線形補間を行うことにより、各画素を補間してもよい。補正画像生成部251は、各画素を周辺画素で補間することにより、不連続直線成分又はその延伸部分に文字がまたがっている場合でも、不連続直線成分とともに文字の一部を除去してしまうことを防止できる。
 図12A、図12B、図12C及び図12Dは、入力画像から生成された補正画像について説明するための模式図である。
 図12Aは、他の入力画像の一部の画像1200を示す。画像1200にはセル領域1201が含まれ、セル領域1201には文字1202と破線1203とが含まれる。図12Bは、画像1200から生成された二値画像の一部の画像1210を示す。画像1210では、セル領域1211内で、文字1202に対応する画素1212と、破線1203に対応する画素1213とが黒色画素として抽出されている。図12Cは、画像1210に含まれるセル領域1211に対して設定されたマスク領域1220を示す。図12Cでは、マスク領域1220として、画像1210の破線1213を含み且つ各破線1213が延伸する垂直方向においてセル領域1211の一端1214から他端1215まで延伸する矩形領域が設定されている。
 図12Dは、画像1200に対応する補正画像の一部の画像1230を示す。画像1230では、画像1200内の文字1202を残しつつ、各破線1203が除去されている。但し、画像1200では、文字1202に対応する画素が、マスク領域1220に対応する領域と隣接しており、画像1230では、文字1202に対応する画素を用いて補間された画素にノイズ1231が発生している。
 補正画像生成部251は、入力画像内で二値画像内の黒色画素及びマスク領域の両方に対応する画素を周辺画素で補間することにより、補正画像を生成してもよい。補正画像生成部251は、公知のインペインティング技術(画像補間技術)を利用して、入力画像内で二値画像内の黒色画素及びマスク領域の両方に対応する領域と隣接する画素を用いて、各画素を補間する。また、補正画像生成部251は、入力画像内で二値画像内の黒色画素及びマスク領域の両方に対応する領域と隣接する画素を用いて、その領域に対応する画素に対して二次元の線形補間(バイリニア補間)を行うことにより、各画素を補間してもよい。
 この場合、マスク領域に対応する画素であっても、黒色画素に対応しない画素であれば、補間のための周辺画素として利用される。即ち、補正画像生成部251は、補間対象領域に対してより近い位置に存在する周辺画素を利用して各画素を補間することができる。また、補正画像生成部251は、マスク領域の延伸方向と直交する方向において補間対象の領域に隣接する画素だけでなく、マスク領域の延伸方向において補間対象の領域に隣接する画素も利用して各画素を補間することができる。したがって、補正画像生成部251は、より良好に各画素を補間することができる。
 図13A及び図13Bは、入力画像から生成された補正画像について説明するための模式図である。
 図13Aは、図12Bの画像1210内の黒色画素1212、1213及び図12Cのマスク領域1220の両方に対応する画素1300を示す。図13Bは、画像1200に対応する補正画像の一部の画像1310を示す。画像1310では、画像1200内の文字1202を残しつつ、各破線1203が除去されている。また、画像1310では、破線1203に対応する画素は、マスク領域1220に対応する領域内で破線1203に対応しない画素も用いて補間されるため、ノイズ1311は、図12Dのノイズ1231と比較して十分に小さい。
 なお、補正画像生成部251は、補正画像において、各セル領域の枠を構成する直線をさらに除去してもよい。例えば、マスク領域設定部250は、ハフ変換又は最小二乗法を用いて、各セル領域の枠を構成する直線を検出する。マスク領域設定部250は、検出した各直線を含み且つ各直線の延伸方向において各セル領域の一端から他端まで延伸する領域をマスク領域として設定する。補正画像生成部251は、各セル領域の枠を構成する直線に対応する画素を、各セル領域内の直線成分を除去する場合と同様にして、置換又は補間することにより除去する。
 次に、文字検出部252は、補正画像から文字を検出する(ステップS217)。文字検出部252は、公知のOCR(Optical Character Recognition)技術を利用して、補正画像から文字を検出する。
 次に、出力制御部253は、検出された文字を表示装置203に表示し(ステップS218)、一連のステップを終了する。なお、出力制御部253は、検出された文字に関する情報として、検出された文字に代えて又は加えて、補正画像を表示装置203に表示してもよい。また、出力制御部253は、検出された文字又は補正画像を不図示の通信装置を介して不図示のサーバ等に送信してもよい。このように、出力制御部253は、補正画像を用いて生成した情報を出力する。
 なお、ステップS212、S213において、破線検出部248は、評価点に基づいて破線を検出する代わりに、大きさ評価点、端部評価点及び連続性評価点のそれぞれに基づいて破線を検出してもよい。例えば、破線検出部248は、大きさ評価点、端部評価点及び連続性評価点のそれぞれが大きさ閾値、端部閾値及び連続性閾値以上であるか否かを判定する。破線検出部248は、大きさ評価点、端部評価点及び連続性評価点の内の所定数の評価点が各閾値以上である場合に、その主破線候補グループに含まれる複数の破線候補を破線として検出する。所定数は、1以上の値に設定される。各閾値は、事前の実験により、破線を含む主破線候補グループについて算出された各評価点と、破線を含まない主破線候補グループについて算出された各評価点との間の値に設定される。
 この場合、破線検出部248は、主破線候補グループの連続性評価点が主連続性閾値以上であり且つ副破線候補グループの連続性評価点が副連続性閾値以上である場合に、連続性評価点が連続性閾値以上であるとみなしてもよい。主連続性閾値及び副連続性閾値は、各値が連続性閾値より小さく、且つ、各値の合計が連続性閾値以上の値になるように設定される。例えば、連続性閾値が3に設定され、主連続性閾値及び副連続性閾値が2に設定されている場合、破線候補ペアが主方向に連続する連続数及び副方向に連続する連続数が2であるときは、連続性評価点が連続性閾値以上であるとみなされる。これにより、破線検出部248は、複数方向の連続性に基づいて、精度良く破線を検出することができる。
 また、ステップS210において、破線検出部248は、各主破線候補グループの連続性評価点を補正する代わりに、各主破線候補グループの評価点又は連続性評価点と比較するための評価閾値又は連続性閾値を補正してもよい。その場合、破線検出部248は、破線検出部248は、各副破線候補グループの連続性評価点が高い程、低くなるように、対応する主破線候補グループの評価閾値又は連続性閾値を補正する。この場合も、破線検出部248は、複数方向の連続性に基づいて、精度良く破線を検出することができる。なお、破線検出部248は、ステップS210の補正処理を省略してもよい。
 また、破線検出部248は、大きさ評価点、端部評価点及び連続性評価点に基づいて評価点を算出するのでなく、大きさ評価点、端部評価点及び連続性評価点の内の少なくとも一つに基づいて評価点を算出してもよい。
 また、破線検出部248は、表のセル領域から破線を検出するのでなく、二値画像全体から破線を検出してもよい。その場合、マスク領域設定部250は、直線成分検出部245により検出された不連続直線成分を含み且つその不連続直線成分の延伸方向において二値画像の一端から他端まで延伸する領域をマスク領域として設定する。
 また、情報処理装置200は、セル領域毎に各線の検出及び除去を行うのでなく、表全体に対して各線の検出及び除去を行ってもよい。その場合、セル領域検出部244は、相互に隣接するセル領域を結合して表全体を抽出する。直線成分検出部245は、抽出した表内で、破線及び近似直線を検出する。なお、直線成分検出部245は、表の一端から他端まで連続する直線成分も検出してもよい。マスク領域設定部250は、直線成分検出部245により検出された直線成分を含み且つその直線成分の延伸方向において表の一端から他端まで延伸する領域をマスク領域として設定する。補正画像生成部251は、設定されたマスク領域に基づいて補正画像を生成する。なお、所定のセル領域内の直線成分を他のセル領域に延伸させた場合、延伸させた直線成分が他のセル領域内の文字と重複する可能性がある。そのため、補正画像生成部251は、直線成分の延伸部分と重複する文字の一部を除去しないように、補正対象の画素を周辺画素で補間することが望ましい。
 以上詳述したように、図4に示したフローチャートに従って動作することによって、情報処理装置200は、文字と結合した破線候補を除去した上で一方向に並ぶ破線候補をグループ化し、破線候補グループ内の破線候補の間に所定の大きさを超える黒色画素の連結成分が存在する場合は、その間に破線候補が存在するとみなして破線を検出する。これにより、情報処理装置200は、画像からより精度良く破線を検出することが可能となった。
 また、情報処理装置200は、不連続直線成分を検出し、その不連続直線成分を含み且つセル領域の一端から他端まで延伸する領域をマスク領域として設定し、マスク領域に基づいてセル領域内でその不連続直線成分を除去する。これにより、情報処理装置200は、画像からより良好に破線を除去することが可能となった。
 特に、帳票では、表及び表内の破線が事前に印刷された用紙に、文字又は数値が後から印字される場合がある。このような場合、事前に印刷された破線に対して、文字又は数値が印字される位置がずれてしまい、文字に破線が接触する可能性がある。情報処理装置200は、破線の一部が文字と接触している場合でも、精度良く破線を検出し、良好に破線を除去することが可能となる。
 また、情報処理装置200は、不連続直線成分を検出した場合、その不連続直線成分を含み且つセル領域の一端から他端まで延伸する領域内でその不連続直線成分を除去する。表内の破線又は点線等は、セル領域の一端から他端まで延伸している可能性が高いため、情報処理装置200は、セル領域内の破線又は点線等を完全に除去しつつ、セル領域外の文字等を誤って除去してしまうことを防止できる。
 図14は、他の実施形態に係る情報処理装置における処理装置280の概略構成を示すブロック図である。
 処理装置280は、処理装置260の代わりに使用され、第2CPU240の代わりに、認識処理を実行する。処理装置280は、取得回路281、エッジ画像生成回路282、二値画像生成回路283、セル領域検出回路284、直線成分検出回路285、マスク領域設定回路290、補正画像生成回路291、文字検出回路292及び出力制御回路293等を有する。直線成分検出回路285には、破線候補抽出回路286、グループ抽出回路287、破線検出回路288及び近似直線検出回路289等が含まれる。
 取得回路281は、取得部の一例であり、取得部241と同様の機能を有する。取得回路281は、第2インタフェース装置201を介して画像読取装置100から入力画像を取得し、第2記憶装置220に保存する。
 エッジ画像生成回路282は、エッジ画像生成部の一例であり、エッジ画像生成部242と同様の機能を有する。エッジ画像生成回路282は、第2記憶装置220から入力画像を読み出し、入力画像からエッジ画像を生成し、第2記憶装置220に保存する。
 二値画像生成回路283は、二値画像生成部の一例であり、二値画像生成部243と同様の機能を有する。二値画像生成回路283は、第2記憶装置220から入力画像を読み出し、入力画像から二値画像を生成し、第2記憶装置220に保存する。
 セル領域検出回路284は、セル領域検出部の一例であり、セル領域検出部244と同様の機能を有する。セル領域検出回路284は、第2記憶装置220からエッジ画像又は二値画像を読み出し、セル領域を検出し、検出結果を第2記憶装置220に保存する。
 直線成分検出回路285は、直線成分検出部の一例であり、直線成分検出部245と同様の機能を有する。直線成分検出回路285は、第2記憶装置220から、二値画像とセル領域の検出結果とを読み出し、検出結果に基づいて二値画像から不連続直線成分を検出し、検出結果を第2記憶装置220に保存する。
 破線候補抽出回路286は、破線候補抽出部の一例であり、破線候補抽出部246と同様の機能を有する。破線候補抽出回路286は、セル領域の検出結果に基づいて二値画像から破線候補を抽出し、抽出結果を第2記憶装置220に保存する。
 グループ抽出回路287は、グループ抽出部の一例であり、グループ抽出部247と同様の機能を有する。グループ抽出回路287は、第2記憶装置220から破線候補の抽出結果を読み出し、抽出結果から破線候補グループを抽出し、抽出結果を第2記憶装置220に保存する。
 破線検出回路288は、破線検出部の一例であり、破線検出部248と同様の機能を有する。破線検出回路288は、第2記憶装置220から破線候補グループの抽出結果を読み出し、抽出結果から破線を検出し、検出結果を第2記憶装置220に保存する。
 近似直線検出回路289は、近似直線検出部の一例であり、近似直線検出部249と同様の機能を有する。近似直線検出回路289は、セル領域の検出結果に基づいて二値画像から近似直線を検出し、検出結果を第2記憶装置220に保存する。
 マスク領域設定回路290は、マスク領域設定部の一例であり、マスク領域設定部250と同様の機能を有する。マスク領域設定回路290は、第2記憶装置220から不連続直線成分の検出結果を読み出し、検出結果に基づいてマスク領域を設定し、第2記憶装置220に保存する。
 補正画像生成回路291は、補正画像生成部の一例であり、補正画像生成部251と同様の機能を有する。補正画像生成回路291は、第2記憶装置220から二値画像又は入力画像とマスク領域とを読み出し、読み出した各情報から補正画像を生成し、第2記憶装置220に保存する。
 文字検出回路292は、文字検出部の一例であり、文字検出部252と同様の機能を有する。文字検出回路292は、第2記憶装置220から補正画像を読み出し、読み出した画像から文字を検出し、検出結果を第2記憶装置220に保存する。
 出力制御回路293は、出力制御部の一例であり、出力制御部253と同様の機能を有する。出力制御回路293は、第2記憶装置220から文字の検出結果又は補正画像を読み出し、読み出した情報を表示装置203に出力する。
 以上詳述したように、情報処理装置は、処理装置280を用いる場合も、画像からより精度良く破線を検出することが可能となるとともに、画像からより良好に破線を除去することが可能となった。
 以上、好適な実施形態について説明してきたが、実施形態はこれらに限定されない。例えば、画像読取装置100と情報処理装置200の機能分担は、図1に示す画像処理システム1の例に限られず、画像読取装置100及び情報処理装置200の各部を画像読取装置100と情報処理装置200の何れに配置するかは適宜変更可能である。または、画像読取装置100と情報処理装置200を一つの装置で構成してもよい。
 例えば、画像読取装置100の第1記憶装置110が、情報処理装置200の第2記憶装置220に記憶された各プログラムを記憶し、画像読取装置100の第1CPU120が、情報処理装置200の第2CPU120により実現される各部として動作してもよい。また、画像読取装置100が、情報処理装置200の処理装置280と同様の処理装置を有してもよい。
 その場合、画像読取装置100は表示装置203と同様の表示装置を有する。認識処理は画像読取装置100で実行されるため、ステップS102、S201の入力画像の送受信処理は省略される。ステップS202~S218の各処理は、画像読取装置100の第1CPU120又は処理装置によって実行される。これらの処理の動作は、情報処理装置200の第2CPU240又は処理装置280によって実行される場合と同様である。
 また、画像処理システム1において、第1インタフェース装置101と第2インタフェース装置201は、インターネット、電話回線網(携帯端末回線網、一般電話回線網を含む)、イントラネット等のネットワークを介して接続してもよい。その場合、第1インタフェース装置101及び第2インタフェース装置201に、接続するネットワークの通信インタフェース回路を備える。また、その場合、クラウドコンピューティングの形態で画像処理のサービスを提供できるように、ネットワーク上に複数の情報処理装置を分散して配置し、各情報処理装置が協働して、認識処理等を分担するようにしてもよい。これにより、画像処理システム1は、複数の画像読取装置が読み取った入力画像について、効率よく認識処理を実行できる。
 1 画像処理システム、200 情報処理装置、203 表示部、241 取得部、242 エッジ画像生成部、243 二値画像生成部、244 セル領域検出部、245 直線成分検出部、246 破線候補抽出部、247 グループ抽出部、248 破線検出部、250 マスク領域設定部、251 補正画像生成部

Claims (9)

  1.  入力画像を取得する取得部と、
     前記入力画像を二値化した二値画像を生成する二値画像生成部と、
     前記二値画像から所定の大きさ以下の破線候補を抽出する破線候補抽出部と、
     前記破線候補の中から、所定方向に並んでいる複数の破線候補を破線候補グループとして抽出するグループ抽出部と、
     前記破線候補グループに含まれる複数の破線候補間の距離に基づいて、前記破線候補グループに含まれる複数の破線候補を破線として検出する破線検出部と、
     前記入力画像又は前記二値画像から前記破線検出部が検出した破線を除去した破線除去画像を生成する破線除去画像生成部と、
     前記破線除去画像又は前記破線除去画像を用いて生成した情報を出力する出力部と、を有し、
     前記破線検出部は、前記破線候補グループに含まれる複数の破線候補間の距離が所定距離より大きく且つ破線候補間に前記所定の大きさを超える黒色画素の連結成分が存在していた場合、破線候補が存在するものとみなして破線を検出する、
     ことを特徴とする画像処理装置。
  2.  前記破線検出部は、前記破線候補グループに含まれる複数の破線候補間の距離に基づいて、前記破線候補グループの評価点を算出し、前記評価点に基づいて、前記破線を検出する、請求項1に記載の画像処理装置。
  3.  前記破線検出部は、
      前記破線候補グループ内で相互に隣り合い且つ破線候補間の距離が前記所定距離以下である破線候補ペアを抽出し、前記抽出した破線候補ペアが連続して並ぶ数に基づいて、前記評価点を算出し、
      相互に隣り合う二つの破線候補の間の距離が前記所定距離より大きく且つ当該二つの破線候補の間に前記連結成分が存在していた場合、当該二つの破線候補の間の距離に基づいて、当該二つの破線候補の間に存在する破線候補の数を推定し、当該二つの破線候補と当該推定した数の破線候補とから破線候補ペアをさらに抽出する、請求項2に記載の画像処理装置。
  4.  前記破線検出部は、さらに、前記破線候補グループに含まれる複数の破線候補の大きさの差に基づいて、前記評価点を算出する、請求項2または3に記載の画像処理装置。
  5.  前記入力画像からエッジ画素を抽出し、前記入力画像をエッジ画素と非エッジ画素に二値化したエッジ画像を生成するエッジ画像生成部と、
     前記エッジ画像内でエッジ画素により非エッジ画素が囲まれた領域に対応する前記二値画像内の領域をセル領域として検出するセル領域検出部と、をさらに有し、
     前記破線候補抽出部は、前記抽出されたセル領域から前記破線候補を抽出する、請求項2~4の何れか一項に記載の画像処理装置。
  6.  前記破線検出部は、さらに、前記セル領域の端部から第2所定距離内に破線候補が存在するか否かに基づいて、前記評価点を算出する、請求項5に記載の画像処理装置。
  7.  前記グループ抽出部は、さらに、前記破線候補の中から、前記所定方向と直交する方向に並んでいる複数の破線候補を第2破線候補グループとして抽出し、
     前記破線検出部は、さらに、
      前記第2破線候補グループに含まれる複数の破線候補間の距離に基づいて、前記第2破線候補グループの評価点を算出し、
      前記破線候補グループに含まれる破線候補が含まれる第2破線候補グループの評価点に基づいて、前記破線候補グループの評価点又は前記破線候補グループの評価点と比較するための閾値を補正する、請求項2~6の何れか一項に記載の画像処理装置。
  8.  出力部を有する画像処理装置の制御方法であって、前記画像処理装置が、
     入力画像を取得し、
     前記入力画像を二値化した二値画像を生成し、
     前記二値画像から所定の大きさ以下の破線候補を抽出し、
     前記破線候補の中から、所定方向に並んでいる複数の破線候補を破線候補グループとして抽出し、
     前記破線候補グループに含まれる複数の破線候補間の距離に基づいて、前記破線候補グループに含まれる複数の破線候補を破線として検出し、
     前記入力画像又は前記二値画像から検出した破線を除去した破線除去画像を生成し、
     前記破線除去画像又は前記破線除去画像を用いて生成した情報を前記出力部から出力する、ことを含み、
     前記検出において、前記破線候補グループに含まれる複数の破線候補間の距離が所定距離より大きく且つ破線候補間に前記所定の大きさを超える黒色画素の連結成分が存在していた場合、破線候補が存在するものとみなして破線を検出する、
     ことを特徴とする制御方法。
  9.  出力部を有するコンピュータの制御プログラムであって、
     入力画像を取得し、
     前記入力画像を二値化した二値画像を生成し、
     前記二値画像から所定の大きさ以下の破線候補を抽出し、
     前記破線候補の中から、所定方向に並んでいる複数の破線候補を破線候補グループとして抽出し、
     前記破線候補グループに含まれる複数の破線候補間の距離に基づいて、前記破線候補グループに含まれる複数の破線候補を破線として検出し、
     前記入力画像又は前記二値画像から検出した破線を除去した破線除去画像を生成し、
     前記破線除去画像又は前記破線除去画像を用いて生成した情報を前記出力部から出力する、ことを前記コンピュータに実行させ、
     前記検出において、前記破線候補グループに含まれる複数の破線候補間の距離が所定距離より大きく且つ破線候補間に前記所定の大きさを超える黒色画素の連結成分が存在していた場合、破線候補が存在するものとみなして破線を検出する、
     ことを特徴とする制御プログラム。
PCT/JP2019/003489 2019-01-31 2019-01-31 画像処理装置、制御方法及び制御プログラム WO2020157937A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/003489 WO2020157937A1 (ja) 2019-01-31 2019-01-31 画像処理装置、制御方法及び制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/003489 WO2020157937A1 (ja) 2019-01-31 2019-01-31 画像処理装置、制御方法及び制御プログラム

Publications (1)

Publication Number Publication Date
WO2020157937A1 true WO2020157937A1 (ja) 2020-08-06

Family

ID=71842020

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/003489 WO2020157937A1 (ja) 2019-01-31 2019-01-31 画像処理装置、制御方法及び制御プログラム

Country Status (1)

Country Link
WO (1) WO2020157937A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08221576A (ja) * 1994-12-12 1996-08-30 Toshiba Corp 文字列における直線検出方式、直線除去方式および宛名領域判別装置
JPH1027208A (ja) * 1996-07-10 1998-01-27 N T T Data Tsushin Kk 帳票照合方法及び装置
JPH11242716A (ja) * 1998-02-25 1999-09-07 Ricoh Co Ltd 画像処理方法および記録媒体
JP2000082110A (ja) * 1998-07-02 2000-03-21 Ricoh Co Ltd 罫線消去装置および文字画像抽出装置および罫線消去方法および文字画像抽出方法および記録媒体
JP2008059298A (ja) * 2006-08-31 2008-03-13 Fujitsu Ltd 罫線抽出プログラム、罫線抽出装置、罫線抽出方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08221576A (ja) * 1994-12-12 1996-08-30 Toshiba Corp 文字列における直線検出方式、直線除去方式および宛名領域判別装置
JPH1027208A (ja) * 1996-07-10 1998-01-27 N T T Data Tsushin Kk 帳票照合方法及び装置
JPH11242716A (ja) * 1998-02-25 1999-09-07 Ricoh Co Ltd 画像処理方法および記録媒体
JP2000082110A (ja) * 1998-07-02 2000-03-21 Ricoh Co Ltd 罫線消去装置および文字画像抽出装置および罫線消去方法および文字画像抽出方法および記録媒体
JP2008059298A (ja) * 2006-08-31 2008-03-13 Fujitsu Ltd 罫線抽出プログラム、罫線抽出装置、罫線抽出方法

Similar Documents

Publication Publication Date Title
JP6970835B2 (ja) 画像処理装置、制御方法及び制御プログラム
JP5701182B2 (ja) 画像処理装置、画像処理方法及びコンピュータプログラム
US8861854B2 (en) Character recognition apparatus, method, and computer-readable, non-transitory medium
US9177218B2 (en) System and method, and computer program product for detecting an edge in scan data
US9092869B2 (en) Image processing apparatus, region determining method, and computer-readable, non-transitory medium
US10827099B2 (en) Image processing apparatus for determining a threshold for extracting an edge pixel based on a region corresponding to a surface facing an imaging device
KR101172399B1 (ko) 화상형성장치 및 그 화질 개선 방법
US20200167588A1 (en) Image processing apparatus for placing a character recognition target region at a position of a predetermined region in an image conforming to a predetermined format
JP6021665B2 (ja) 画像処理装置、画像処理方法及びコンピュータプログラム
JP6970834B2 (ja) 画像処理装置、制御方法及び制御プログラム
JP2021149452A (ja) 画像処理装置、制御方法及び制御プログラム
WO2020157937A1 (ja) 画像処理装置、制御方法及び制御プログラム
WO2020157938A1 (ja) 画像処理装置、制御方法及び制御プログラム
US11620736B2 (en) Image processing device, control method, and control program
JP7106672B2 (ja) 画像処理装置、制御方法及び制御プログラム
CN110502950B (zh) 一种光照不均的qr码快速自适应二值化方法
JP7282257B2 (ja) 画像処理装置、制御方法及び制御プログラム
JP7478628B2 (ja) 画像処理装置、制御方法及び制御プログラム
JP2021149459A (ja) 画像処理装置、制御方法及び制御プログラム
JP2023026170A (ja) 画像処理装置、画像処理システム、画像処理方法、及びプログラム
JP6194677B2 (ja) 画像処理装置およびプログラム
JP2011070327A (ja) 画像属性判定装置、画像属性判定方法および画像属性判定プログラム
WO2016151706A1 (ja) 画像処理装置、領域決定方法及びコンピュータプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19912646

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19912646

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP