Information processing system, information processing method, and program

The information processing system effectively detects missing lines in printed characters by setting inspection areas and performing edge detection, improving the identification of defective printed matter.

JP2025104763APending Publication Date: 2025-07-10CANON MARKETING JAPAN INC +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023222806
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-12-28
Publication Date
2025-07-10

AI Technical Summary

Technical Problem

Existing technologies struggle to detect narrow missing lines in printed characters, making it difficult to identify defective printed matter visually.

Method used

An information processing system and method that acquires an image, sets an inspection area, detects edges, and determines the presence of missing lines using edge detection and approximate line calculations.

Benefits of technology

Enables accurate detection of missing lines in printed characters, ensuring non-defective products are identified.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025104763000001_ABST
    Figure 2025104763000001_ABST
Patent Text Reader

Abstract

To provide a mechanism that can detect linear omission.SOLUTION: An information processing apparatus comprises: acquisition means that acquires an image to be inspected; setting means that sets an inspection area from the image to be inspected acquired by the acquisition means; detection means that detects an edge from the inspection area set by the setting means; and determination means that determines if linear omission occurs in the image to be inspected by using the edge detected by the detection means.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing system, an information processing method, and a program.

Background Art

[0002] As a technique for inspecting whether printed characters are properly printed, Patent Document 1 discloses a technique of creating a density histogram of printed characters and determining whether there is a missing line from the density histogram.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Disclosure of the Invention

Problems to be Solved by the Invention

[0004] Due to malfunctions of the printing device or the like, missing lines (occurrence of areas not printed in a line) may occur in the printed characters, and printed matter with missing lines needs to be treated as defective. However, it is difficult to visually detect especially when the width of the missing line is narrow.

[0005] Therefore, an object of the present invention is to provide a mechanism capable of detecting missing lines.

Means for Solving the Problems

[0006] An acquisition means for acquiring an image to be inspected, A setting means for setting an inspection area from the image to be inspected acquired by the acquisition means, A detection means for detecting an edge from the inspection area set by the setting means, A determination means for determining whether a missing line has occurred in the image to be inspected using the edge detected by the detection means, An information processing apparatus characterized by comprising

Advantages of the Invention

[0007] According to the present invention, it becomes possible to detect a missing line.

Brief Description of the Drawings

[0008]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Modes for Carrying Out the Invention

[0009] FIG. 1 is a diagram showing an example of the system configuration of the information processing system according to the present invention. As shown in FIG. 1, a server device 101, a client terminal 102, and an imaging device 103 are communicably connected (the imaging device 103 may not be communicably connected).

[0010] The imaging device 103 has a function of photographing an inspection target (for example, characters printed on a cardboard box, etc.) based on a user's operation. The photographed image is acquired by the server device 101 or the client terminal 102 by a method such as via a communication line.

[0011] The client terminal 102 has a function of receiving operations from the user and a function of giving various notifications to the user. Further, it may have a function of executing the processing in the present invention (the processing shown in the flowcharts of FIGS. 3 and 8).

[0012] The server device 101 has a function of executing the processing in the present invention (the processing shown in the flowcharts of FIGS. 3 and 8) based on the user's operation on the client terminal 102.

[0013] As described above, regarding the processing shown in the flowcharts of FIGS. 3 and 8, it may be executed by the server device 101 or may be executed by the client terminal 102. Also, the processing may be appropriately distributed and executed by the server device 101 and the client terminal 102.

[0014] FIG. 2 is a block diagram showing an example of the hardware configuration of an information processing apparatus applicable as the server device 101 and the client terminal 102 of the present invention.

[0015] As shown in FIG. 2, an information processing apparatus has a CPU (Central Processing Unit) 201, a ROM (Read Only Memory) 202, a RAM (Random Access Memory) 203, a storage device 204, an input controller 205, an audio controller 206, a video controller 207, a memory controller 208, and a communication I / F controller 209 connected via a system bus 200.

[0016] The CPU 201 comprehensively controls each device and controller connected to the system bus 200.

[0017] The ROM 202 or the external memory 213 holds a BIOS (Basic Input / Output System), an OS (Operating System), which are control programs executed by the CPU 201, a computer-readable executable program for implementing this information processing method, and various necessary data (including data tables).

[0018] The RAM 203 functions as the main memory, work area, etc. of the CPU 201. When executing a process, the CPU 201 loads a program etc. necessary for the execution from the ROM 202 or the external memory 213 into the RAM 203, and realizes various operations by executing the loaded program.

[0019] The input controller 205 controls inputs from input devices such as a keyboard 210 and a pointing device such as a mouse (not shown). When the input device is a touch panel, it is assumed that the user can give various instructions by pressing (touching with a finger etc.) in accordance with icons, cursors, buttons, etc. displayed on the touch panel.

[0020] Also, the touch panel may be a touch panel capable of detecting positions touched with multiple fingers, such as a multi-touch screen.

[0021] The video controller 207 controls the display to an external output device such as the display 212. The display is assumed to include the display of a notebook personal computer integrated with the main body. Note that the external output device is not limited to a display, and may be, for example, a projector. In addition, for the device capable of receiving the above-described touch operation, an input device is also provided.

[0022] Note that the video controller 207 can control a video memory (VRAM) for performing display control, and can use a part of the RAM 203 as a video memory area, or can separately provide a dedicated video memory.

[0023] The memory controller 208 controls access to the external memory 213. As the external memory, an external storage device (hard disk) that stores a boot program, various applications, font data, user files, edited files, and various data, a flexible disk (FD), or a compact flash (registered trademark) memory connected via an adapter to a PCMCIA card slot can be used.

[0024] The communication I / F controller 209 is connected to and communicates with an external device via a network, and executes communication control processing on the network. For example, communication using TCP / IP, a telephone line such as ISDN, and communication using a 4G line or 5G line of a mobile phone are possible.

[0025] Further, the CPU 201 enables display on the display 212 by executing an outline font expansion (rasterization) process on, for example, the display information area in the RAM 203. In addition, the CPU 201 enables a user instruction with a mouse cursor (not shown) on the display 212.

[0026] Next, an example (first embodiment) of the line dropout detection process will be described using the flowchart of FIG. 3.

[0027] The process shown in the flowchart of FIG. 3 is a process executed by the CPU 201 of the information processing apparatus 101 by reading a predetermined control program.

[0028] In step S101, an image to be inspected (target image) is acquired. In this embodiment, it is assumed that an image obtained by photographing a printed matter with an imaging device is acquired. As the target image, in this embodiment, as shown in FIG. 4, an image obtained by cutting out a printed character (one character) will be used for explanation.

[0029] In step S102, an opening process is performed on the target image to generate a reference image (an image of a normal character without line breaks). The opening process is one of the morphological processes and is a process of performing contraction and dilation on a binarized image, whereby it is possible to generate a reference image from an image in which line breaks have occurred. An example of the generated reference image is shown in FIG. 4(A).

[0030] In step S103, particle analysis is performed on the reference image generated in S102.

[0031] In step S104, the result of the particle analysis in S103 is acquired. Specifically, among the results obtained by the particle analysis, information related to chain pixels (a series of pixels indicating the boundary line of a particle or the boundary line of a hole inside a particle) (the position information (XY coordinates) and index of the chain pixels) is acquired. It is assumed that the characters related to the target image and the characters related to the reference image exist at the same coordinate positions. Therefore, the position of the chain pixels in the reference image is also the position of the chain pixels in the target image (excluding the areas where line breaks have occurred).

[0032] In step S105, 0 is set as the initial value for Index. Index is information indicating the chain pixels to be processed.

[0033] In step S106, an inspection area is set to determine the presence or absence of line breaks in the target image. The method of setting the inspection area will be described with reference to FIG. 5.

[0034] Figure 5 is an enlarged view of the image in Figure 4.

[0035] The pixel indicated by 501 is a chain pixel with Index = 0. A rectangular area of a preset size centered on this chain pixel is set as the inspection area 502.

[0036] In step S107, pixels constituting an edge are detected from within the inspection area. The pixels constituting the edge are pixels that form the boundary between the background and the object (characters in this embodiment). Here, it is assumed that the edge detection process in S107 is a process of detecting only one edge pixel per row. That is, if one edge pixel can be detected in a row, the process proceeds to the next row.

[0037] When the detection process of edge pixels is completed up to the last row, the process proceeds to step S108.

[0038] In step S108, an approximate line of the edge pixels detected in S107 is drawn. This will be described with reference to Figure 6.

[0039] Figure 6 is an enlarged view of the image in Figure 4 (an enlarged view of a different part from Figure 5). It can be seen that the edge pixels 601 detected in S106 are arranged in a vertical column. The approximate line 602 is the approximate line calculated in step S108. It can be seen that while the column of edge pixels 601 is interrupted at the missing line area 603, the approximate line 602 is drawn to the edge pixels below the missing line area without being interrupted even in the missing line area 603.

[0040] In step S109, a result determination process is performed. Specifically, it is determined whether the edges detected in S107 are missing with respect to the approximate line calculated in S108 (whether there is a portion on the approximate line where the edges do not exist continuously). Note that a criterion such as whether there is a portion on the approximate line where the edges do not exist over a predetermined length may also be used. In the example of Figure 6, since there is a missing line area 603, a missing occurs in that area.

[0041] If there is no omission (S109: OK), the process proceeds to step S110. If there is an omission (S109: NG), the process proceeds to S113, it is determined as a defective product (missing line), and a notification based on the fact that it is a defective product is made.

[0042] In step S110, the value of Index is increased in order to move the inspection area to the next area. It may be increased by 1, or it may be increased by a predetermined value such as 10 or 100 at a time.

[0043] FIG. 7 is an image diagram showing the movement of the inspection area. It shows that n is added to the value of Index, and an inspection area 702 centered on the chain pixel 701 specified by the added value of Index is set.

[0044] In step S111, it is determined whether the value of Index has exceeded the total number of chain pixels obtained in S104 (that is, whether the processing for the entire target image has been completed).

[0045] If the value of Index has exceeded the total number of chain pixels obtained in S104 (S111: YES), the process proceeds to S112. In this case, since the processing for the target image has been completed without detecting a missing line, the determination result is that it is a non-defective product (there is no missing line).

[0046] If the value of Index has not exceeded the total number of chain pixels obtained in S104 (S111: NO), the process proceeds to S106, and a new inspection area is set based on the value of Index set in S110. Then, the processing after S107 is performed to inspect the presence or absence of a missing line.

[0047] By the above processing, the presence or absence of a missing line is detected.

[0048] Next, an example (second embodiment) of the missing line detection process will be described using the flowchart of FIG. 8.

[0049] The process shown in the flowchart of FIG. 8 is a process executed by the CPU 201 of the information processing apparatus 101 by reading a predetermined control program.

[0050] Note that since the processes of steps S201 to S204 are the same as the processes of steps S101 to S104 in the first embodiment (the flowchart of FIG. 3), the description here is omitted.

[0051] In step S205, an inspection area is set (initialized). The setting process of the inspection area will be described with reference to FIGS. 9 to 11.

[0052] First, a method for specifying the position of the inspection area in the Y-axis direction will be described. Among the chain pixels acquired in S204, a pixel having the maximum Y coordinate (901 in FIG. 9) is specified. That is, the chain pixel located at the bottom most is specified. Then, from the Y coordinate of the specified pixel, a position (902 in FIG. 9) obtained by moving downward by half of the length of the inspection area in the Y direction (assumed to be set in advance) is set as the lower side of the inspection area. Regarding the upper side, since the length in the Y direction is set in advance as described above, it can be calculated and obtained from the position of the lower side. Note that the length in the Y direction may be dynamically controlled so as to be shorter than the thickness of the character (thickness in the Y direction).

[0053] Next, a method for specifying the position and size of the inspection area in the X-axis direction will be described.

[0054] Among the character areas (black areas in FIG. 10) between the upper side and the lower side of the inspection area, the length 1001 in the X direction at the lower end, the length 1002 in the X direction at the center, and the length 1003 in the X direction at the upper end are respectively acquired. The length and position obtained by adding a preset margin to the longest value among the acquired lengths are specified as the size and position of the inspection area in the X direction of the X inspection area. FIG. 11 is a diagram showing the specified inspection area.

[0055] Returning to the description of the flowchart of FIG. 8.

[0056] In step 206, edge pixels are detected from the set inspection area. The edge detection process here is different from that in the first embodiment. It is a process of detecting from the bottom to the top of the inspection area, and is a process of detecting pixels that constitute the boundary between the background and the object.

[0057] In step S207, the result of the detection process in S206 is determined. Specifically, the result is determined by whether two edges in the X direction are detected (whether two substantially parallel edges are detected). If not detected (S207: OK), the process proceeds to step S208. If detected (S207: NG), the process proceeds to step S211, and it is determined as a defective product (with a line missing), and a notification based on it being a defective product is made.

[0058] In step S208, it is determined whether the inspection has been completed up to the topmost part. If the inspection has been completed up to the topmost part, that is, if the processing for the entire target image has been completed (S208: YES), the process proceeds to step S210, and it is determined as a non-defective product. If the inspection has not been completed up to the topmost part (S208: NO), the process proceeds to step S209.

[0059] In step S209, the inspection area is moved. Specifically, as shown in FIG. 12, the current inspection area is moved in the Y direction (upward) by half of the length of the inspection area in the Y direction. Then, the size and position in the X direction are specified by the same process as in S205.

[0060] Then, the process returns to step S206, and edge detection processing is performed on the new inspection area after the movement.

[0061] FIG. 13 is a diagram showing the inspection result in the second embodiment. In FIG. 13A, only one edge is detected from the inspection area 1301, and at this point, no line missing is detected. On the other hand, in the inspection area 1302 in FIG. 13B, since two edges (the locations indicated by the arrows in FIG. 13) are detected, a line missing is detected.

[0062] Although the embodiments have been described above, the present invention can be implemented in embodiments such as a system, apparatus, method, program, or recording medium. Specifically, it may be applied to a system composed of a plurality of devices, or it may be applied to an apparatus consisting of a single device.

[0063] Also, the program in the present invention is a program that a computer can execute the processing method of the flowchart shown in FIG. 3, and the storage medium of the present invention stores a program that a computer can execute the processing method of FIG. 3. Note that the program in the present invention may be a program for each processing method of each device in FIG. 3.

[0064] Needless to say, the object of the present invention can also be achieved by supplying a recording medium recording a program that realizes the functions of the above-described embodiments to a system or apparatus, and having a computer (or CPU or MPU) of the system or apparatus read and execute the program stored in the recording medium.

[0065] In this case, the program itself read from the recording medium realizes the novel functions of the present invention, and the recording medium recording the program constitutes the present invention.

[0066] As the recording medium for supplying the program, for example, a flexible disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, DVD-ROM, magnetic tape, non-volatile memory card, ROM, EEPROM, silicon disk, etc. can be used.

[0067] Also, by executing the program read by the computer, not only the functions of the above-described embodiments are realized, but also based on the instructions of the program, an OS (operating system) or the like running on the computer performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing. This is included without saying.

[0068] Furthermore, after the program read from the recording medium is written into the memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, based on the instructions of the program code, a CPU or the like provided in the function expansion board or the function expansion unit performs part or all of the actual processing, and it goes without saying that the case where the functions of the above-described embodiments are realized by this processing is also included.

[0069] In addition, the present invention may be applied to a system composed of a plurality of devices or to an apparatus composed of a single device. Needless to say, the present invention is also applicable when it is achieved by supplying a program to a system or an apparatus. In this case, by reading out the recording medium storing the program for achieving the present invention to the system or the apparatus, the system or the apparatus can enjoy the effects of the present invention.

[0070] Furthermore, by downloading and reading out the program for achieving the present invention from a server, a database, etc. on the network by a communication program, the system or the apparatus can enjoy the effects of the present invention. Note that all configurations combining the above-described embodiments and their modifications are also included in the present invention.

Explanation of Reference Numerals

[0071] 101 Server device 102 Client terminal 103 Imaging device

Claims

1. An acquisition means for acquiring an image of an object to be inspected; A setting means for setting an inspection area from the image of the object to be inspected acquired by the acquisition means; A detection means for detecting an edge from the inspection area set by the setting means; A line break detection means for detecting a line break in the image of the object to be inspected by using the edge detected by the detection means; An information processing apparatus characterized by comprising the above.

2. Comprising a calculation means for calculating an approximate line of the edge detected by the detection means, The line break detection means detects the occurrence of a line break based on the edge detected by the detection means and the approximate line calculated by the calculation means. The information processing apparatus according to claim 1.

3. The line break detection means detects the occurrence of a line break based on the presence or absence of a portion where the edge does not exist in the approximate line. The information processing apparatus according to claim 2.

4. The line break detection means detects the occurrence of a line break based on whether or not two edges substantially parallel to each other are detected by the detection means in the inspection area. The information processing apparatus according to claim 1.

5. The line break detection means detects the occurrence of a line break based on whether or not two edges substantially parallel in the horizontal direction are detected by the detection means in the inspection area. The information processing apparatus according to claim 4.

6. The inspection area is set based on the position of the chain pixels in the image. The information processing apparatus according to claim 1.

7. An acquisition step in which the acquisition means of the information processing apparatus acquires an image of an object to be inspected; A setting step in which the setting means of the information processing apparatus sets an inspection area from the image of the object to be inspected acquired in the acquisition step; A detection step in which the detection means of the information processing apparatus detects an edge from the inspection area set in the setting step; A line break detection step in which the line break detection means of the information processing apparatus detects a line break in the image of the object to be inspected by using the edge detected in the detection step; An information processing method characterized by comprising the above.

8. A program for causing a computer to function as each means according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • JP92965A