IMAGE PROCESSING SYSTEM CAPABLE OF READING INFORMATION FROM INFORMATION CODE, AND INFORMATION CODE READING METHOD
20230162462 · 2023-05-25
Inventors
Cpc classification
G06V10/12
PHYSICS
G06V10/248
PHYSICS
G06V10/243
PHYSICS
International classification
Abstract
An image processing system includes a detection processing portion, a first correction processing portion, and a reading processing portion. The detection processing portion detects an outline of an information code included in a captured image. The first correction processing portion corrects a shape of the information code based on the outline of the information code detected by the detection processing portion. The reading processing portion reads information included in the information code from the information code after correction by the first correction processing portion.
Claims
1. An image processing system, comprising: a detection processing portion configured to detect an outline of an information code included in a captured image; a first correction processing portion configured to correct a shape of the information code based on the outline of the information code detected by the detection processing portion; and a reading processing portion configured to read information included in the information code from the information code after correction by the first correction processing portion.
2. The image processing system according to claim 1, wherein the first correction processing portion corrects the shape of the information code based on part of the outline of the information code.
3. The image processing system according to claim 1, further comprising: a reception processing portion configured to display a reception screen including the information code and receive a predetermined correction operation on the reception screen in a case where reading of the information from the information code after correction by the first correction processing portion fails; a second correction processing portion configured to correct the shape of the information code according to the correction operation; and a display control portion configured to reflect the information code after correction by the second correction processing portion on the reception screen; wherein the reading processing portion reads the information from the information code after correction by the second correction processing portion in a case where reading of the information from the information code after correction by the first correction processing portion fails.
4. The image processing system according to claim 3, wherein the correction operation includes a touch operation on the reception screen.
5. The image processing system according to claim 3, wherein the reception processing portion causes the reception screen including one of the information code before correction by the first correction processing portion and the information code after correction by the first correction processing portion selected by a predetermined selection operation to be displayed.
6. The image processing system according to claim 1, further comprising an output processing portion configured to output the information code used for reading the information in a case where the information is successfully read by the reading processing portion.
7. An information code reading method comprising: a detection step of detecting an outline of an information code included in a captured image; a correction step of correcting a shape of the information code based on the outline of the information code detected by the detection step; and a reading step of reading information included in the information code from the information code after correction by the correction step.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
DETAILED DESCRIPTION
[0017] Embodiments according to the present disclosure will be described below with reference to the accompanying drawings. Note that the following embodiments are examples of implementing techniques according to the present disclosure and do not limit the technical scope of the present disclosure.
[0018] [Image Processing System 100]
[0019] First, an image processing system 100 of an embodiment according to the present disclosure will be described with reference to
[0020] The image processing system 100 reads information included in an information code (hereinafter referred to as “reading target information”) from a captured image of the information code.
[0021] For example, the information code is a QR code. Note that the information code may be a two-dimensional code different from a QR code. In addition, the information code may be a one-dimensional code such as a bar code. Further, the information code may be a multidimensional code including the reading target information.
[0022] As shown in
[0023] [Hardware Configuration of Image Processing System 100]
[0024] Next, a hardware configuration of the image processing system 100 will be described with reference to
[0025] The mobile terminal 10 is a device having a camera function for acquiring a captured image of a subject. For example, the mobile terminal 10 is a smartphone or a tablet terminal. Note that the mobile terminal 10 may be a digital camera or the like.
[0026] As shown in
[0027] The control portion 11 performs overall control of the mobile terminal 10. As shown in
[0028] The operation display portion 12 is a user interface of the mobile terminal 10. The operation display portion 12 has a display portion and an operation portion. The display portion displays various types of information according to control instructions from the control portion 11. For example, the display portion is a liquid crystal display. The operation portion inputs various types of information to the control portion 11 according to user operations. For example, the operation portion is a touch panel.
[0029] The communication portion 13 is a communication interface that performs wired or wireless data communication with an external communication device such as the image forming apparatus 20 via the communication network 30.
[0030] The storage portion 14 is a non-volatile storage device. For example, the storage portion 14 is a non-volatile memory such as a flash memory.
[0031] The imaging portion 15 achieves a camera function. The imaging portion 15 includes a camera for capturing an image of a subject. The imaging portion 15 outputs image data representing a captured image of a subject. Image data output from the imaging portion 15 is input to the control portion 11.
[0032] The image forming apparatus 20 is an apparatus having a printing function that forms an image based on image data. For example, the image forming apparatus 20 is a multifunction peripheral having multiple functions including the printing function. Note that the image forming apparatus 20 may be a printer, a facsimile machine, a copier, or the like.
[0033] As shown in
[0034] The control portion 21 performs overall control of the image forming apparatus 20. As shown in
[0035] The ADF 22 conveys a document sheet whose image is to be read by the image reading portion 23. The ADF 22 includes a document sheet setting portion, a plurality of conveying rollers, a document sheet holder, and sheet discharge portion.
[0036] The image reading portion 23 reads image data of a document sheet. The image reading portion 23 includes a document sheet table, a light source, a plurality of mirrors, an optical lens, and a CCD.
[0037] The image forming portion 24 achieves the printing function. For example, the image forming portion 24 forms an image on a sheet supplied by the sheet feed portion 25 using an electrophotographic method. For example, the image forming portion 24 includes a plurality of image forming units, a laser scanning unit, an intermediate transfer belt, a secondary transfer roller, a fixing device, and a sheet discharge tray.
[0038] The sheet feed portion 25 supplies sheets to the image forming portion 24. The sheet feed portion 25 includes a sheet feed cassette, a manual feed tray, and a plurality of conveying rollers.
[0039] The operation display portion 26 is a user interface of the image forming apparatus 20. For example, the operation display portion 26 has the same configuration as the operation display portion 12 of the mobile terminal 10.
[0040] The communication portion 27 is a communication interface that performs wired or wireless data communication with an external communication device such as the mobile terminal 10 via the communication network 30.
[0041] The storage portion 28 is a non-volatile storage device. For example, the storage portion 28 is a storage device such as a solid state drive (SSD) or a hard disk drive (HDD).
[0042] [Functional Configuration of Image Processing System 100]
[0043] Next, a functional configuration of the image processing system 100 will be described with reference to
[0044] In the image processing system 100, the mobile terminal 10 is used for capturing an image of the information code and reading the reading target information from the captured information code.
[0045] More specifically, as shown in
[0046] For example, the storage portion 14 of the mobile terminal 10 stores in advance a first information code reading program for causing the control portion 11 to function as each of the above-described portions. The CPU 11A of the control portion 11 functions as each of the above-described portions by executing the first information code reading program. Note that part or all of the imaging processing portion 41, the first reading processing portion 42, and the transmission processing portion 43 may be achieved by an electronic circuit such as an ASIC.
[0047] The imaging processing portion 41 causes the imaging portion 15 to output a captured image of a subject, and causes the operation display portion 12 to display the captured image.
[0048] More specifically, the imaging processing portion 41 causes the imaging portion 15 to output a captured image of a subject and causes the operation display portion 12 to display the captured image at a predetermined output interval.
[0049] Here,
[0050] The QR code X11 includes three positioning markers X12. Each positioning marker X12 is an image composed of a black square and a square-shaped black frame surrounding the square. The three positioning markers X12 are arranged at three of the four corners of the QR code X11 (upper right corner, upper left corner, lower left corner). The three positioning markers X12 are used to identify the position and orientation of the QR code X11 in the captured image of the QR code X11. Note that, in
[0051] The first reading processing portion 42 executes a first reading process of reading the reading target information included in the information code based on the captured image of the information code output from the imaging portion 15.
[0052] For example, in a case where a captured image of a subject is output from the imaging portion 15, the first reading processing portion 42, based on a detection result of the positioning markers X12 (see
[0053] In some cases the information code may be attached to a cylindrical object such as a plastic bottle or a utility pole. When the information code is attached to a cylindrical object, the shape of the information code may become distorted, and reading of the reading target information from the captured image of the information code may fail. In addition, a similar problem also occurs in a case where the information code is attached to a spherical object.
[0054] Here,
[0055] On the other hand, in the image processing system 100 of this embodiment according to the present disclosure, it is possible to read the reading target information included in the information code from the distorted information code as will be described below.
[0056] The transmission processing portion 43 transmits the captured image output from the imaging portion 15 to the image forming apparatus 20.
[0057] For example, the transmission processing portion 43 transmits the captured image output from the imaging portion 15 to the image forming apparatus 20 when a predetermined transmission operation is performed. For example, the transmission operation is an operation on predetermined soft keys or hard keys.
[0058] For example, the transmission processing portion 43 transmits the captured image (still image) output from the imaging portion 15 at timing when the transmission operation is performed.
[0059] In the image processing system 100, the image forming apparatus 20 is used to correct the shape of the information code transmitted from the mobile terminal 10, and to read the reading target information from the information code after shape correction has been performed.
[0060] More specifically, as shown in
[0061] For example, the storage portion 28 of the image forming apparatus 20 stores in advance a second information code reading program for causing the control portion 21 to function as each of the above-described portions. The CPU 21A of the control portion 21 functions as each of the above-described portions by executing the second information code reading program. Note that a part or all of the detection processing portion 51, the first correction processing portion 52, the second reading processing portion 53, the reception processing portion 54, the second correction processing portion 55, the display control portion 56, and the output processing portion 57 may be achieved by an electronic circuit such as an ASIC.
[0062] The detection processing portion 51 detects an outline of the information code included in the captured image.
[0063] More specifically, the detection processing portion 51 detects the outline of the information code included in the captured image transmitted from the mobile terminal 10.
[0064] For example, the detection processing portion 51 detects three distorted positioning markers X12 (see
[0065] The detection processing portion 51 detects the outline of the QR code X11 (see the two-dot chain line in
[0066] The first correction processing portion 52 corrects the shape of the information code based on the outline of the information code detected by the detection processing portion 51.
[0067] More specifically, the first correction processing portion 52 corrects the shape of the information code based on part of the outline of the information code.
[0068] For example, the first correction processing portion 52 calculates mathematical expressions representing curved lines for each of two partial curved portions C11 and C12 (see
[0069] Note that a plurality of sample images each showing the outline of the information code and having different degrees of distortion may be stored in advance in the storage portion 28. In this case, the first correction processing portion 52 may use correction data corresponding to the sample image of the plurality of sample images having the highest matching rate with the outline of the information code detected by the detection processing portion 51, and correct the shape of the information code so that the information code has a rectangular shape. In addition, the first correction processing portion 52 may use a known algorithm to correct the shape of the information code so that the information code has a rectangular shape.
[0070] The second reading processing portion 53 executes a second reading process of reading the reading target information included in the information code from the information code after correction by the first correction processing portion 52. The second reading processing portion 53 is an example of a reading processing portion according to the present disclosure.
[0071] The second reading process may be a process having the same content as the first reading process.
[0072] In a case where reading of the reading target information from the information code after correction by the first correction processing portion 52 fails, the reception processing portion 54 displays a reception screen including the information code, and receives a predetermined correction operation on the reception screen.
[0073] More specifically, the reception processing portion 54 displays the reception screen including the information code selected by a predetermined selection operation of selecting one of the information code before correction by the first correction processing portion 52 and the information code after correction by the first correction processing portion 52.
[0074] For example, in a case where reading of the reading target information from the information code after correction by the first correction processing portion 52 fails, the reception processing portion 54 causes the operation display portion 26 to display a predetermined selection screen. On the selection screen, the information code before correction by the first correction processing portion 52 and the information code after correction by the first correction processing portion 52 are displayed in a selectable manner. An operation of selecting one of the information codes on the selection screen is the selection operation.
[0075] In a case where the selection operation is received on the selection screen, the reception processing portion 54 causes the operation display portion 26 to display the reception screen including the information code selected by the selection operation.
[0076] Here,
[0077] A message to the user of the image processing system 100 is displayed in the message display field Y11.
[0078] A captured image including the QR code X11 selected by the selection operation is displayed in the captured image display field Y12. The correction operation is received in captured image display field Y12.
[0079] For example, the correction operation is a pinch-out operation and a pinch-in operation in the captured image display field Y12. Note that the correction operation may be another touch operation in the captured image display field Y12. In addition, the correction operation is not limited to an operation performed in the captured image display field Y12, and may include any operation capable of transforming the shape of the information code included in the reception screen.
[0080] The operation key Y13 is an operation key used for an end operation for ending reception of the correction operation by the reception processing portion 54.
[0081] The second correction processing portion 55 corrects the shape of the information code according to the correction operation.
[0082] For example, it is presumed that in the captured image display field Y12 shown in
[0083] In addition, it is presumed that in the captured image display field Y12 shown in
[0084] The display control portion 56 reflects the information code after correction by the second correction processing portion 55 on the reception screen.
[0085] In a case where reading of the reading target information from the information code after correction by the first correction processing portion 52 fails, the second reading processing portion 53 executes a third reading process for reading the reading target information from the information code after correction by the second correction processing portion 55.
[0086] For example, the second reading processing portion 53 executes the third reading process in a case where an operation to the operation key Y13 is received on the reception screen Y10.
[0087] The third reading process may be a process having the same content as the first reading process.
[0088] In a case where reading of the reading target information by the second reading processing portion 53 is successful, the output processing portion 57 outputs the information code used for reading the information.
[0089] For example, the output processing portion 57 uses the image forming portion 24 to print the information code used for reading the reading target information. Note that printing of the information code may be executed according to a predetermined output operation.
[0090] Note that the output processing portion 57 may transmit an e-mail including the information code used for reading the reading target information to a predetermined destination. In addition, the output processing portion 57 may cause the operation display portion 26 to display the information code used for reading the reading target information.
[0091] [First Information Code Reading Process]
[0092] An example of a procedure of the first information code reading process executed by the control portion 11 of the mobile terminal 10 in the image processing system 100 will be described below with reference to
[0093] <Step S11>
[0094] First, in step S11, the control portion 11 causes the imaging portion 15 to output a captured image of a subject and starts an imaging process for displaying the captured image on the operation display portion 12. Here, the processing in step S11 is executed by the imaging processing portion 41 of the control portion 11.
[0095] More specifically, the control portion 11 causes the imaging portion 15 to output the captured image of the subject and causes the operation display portion 12 to display the captured image at the output interval.
[0096] <Step S12>
[0097] In step S12, the control portion 11 determines whether or not the transmission operation was performed during execution of the imaging process.
[0098] Here, when the control portion 11 determines that the transmission operation has been performed (Yes in S12), the control portion 11 causes the processing to proceed to step S16. In addition, when the transmission operation has not been performed (No in S12), the control portion 11 causes the processing to proceed to step S13.
[0099] <Step S13>
[0100] In step S13, based on the captured image of the information code output from the imaging portion 15, the control portion 11 executes the first reading process of reading the reading target information included in the information code. Here, the processing in step S13 is executed by the first reading processing portion 42 of the control portion 11.
[0101] More specifically, the control portion 11 identifies the QR code X11 (see
[0102] <Step S14>
[0103] In step S14, the control portion 11 divides the process into branches depending on whether reading of the reading target information in the first reading process executed in step S13 succeeds or fails. More specifically, in a case where the reading target information is successfully read (Yes in S14), the control portion 11 causes the processing to proceed to step S15. In addition, in a case where reading of the reading target information fails (No in S14), the control portion 11 causes the processing to proceed to step S12. Thus, the imaging process is continued until the transmission operation is performed or the reading target information is successfully read.
[0104] <Step S15>
[0105] In step S15, the control portion 11 executes processing based on the reading target information read from the information code.
[0106] For example, in a case where the reading target information read from the information code is a URL, the control portion 11 ends the imaging process and causes the operation display portion 12 to display a website corresponding to the URL.
[0107] Note that the control portion 11 may cause the operation display portion 12 to display the reading target information read from the information code. In this case, the control portion 11 may cause the processing to proceed to step S12 and continue execution of the first information code reading process.
[0108] <Step S16>
[0109] In step S16, the control portion 11 executes a transmission process for transmitting the captured image output from the imaging portion 15 to the image forming apparatus 20. Here, the processing in step S16 is executed by the transmission processing portion 43 of the control portion 11.
[0110] More specifically, the control portion 11 transmits the captured image (still image) output from the imaging portion 15 at the timing when the transmission operation is performed.
[0111] [Second Information Code Reading Process]
[0112] Next, with reference to
[0113] <Step S21>
[0114] First, in step S21, the control portion 21 detects an outline of the information code included in the captured image transmitted from the mobile terminal 10. Here, the processing in step S21 is an example of a detection step according to the present disclosure, and is executed by the detection processing portion 51 of the control portion 21.
[0115] More specifically, the control portion 21 detects three distorted positioning markers X12 (see
[0116] <Step S22>
[0117] In step S22, the control portion 21 executes a first correction process for correcting a shape of the information code based on the outline of the information code detected in step S21. Here, the processing in step S22 is an example of a correction step according to the present disclosure, and is executed by the first correction processing portion 52 of the control portion 21.
[0118] For example, the control portion 21 calculates mathematical expressions representing curved lines for each of two partial curved portions C11 and C12 (see
[0119] <Step S23>
[0120] In step S23, the control portion 21 executes the second reading process of reading the reading target information included in the information code from the information code after the processing in step S22. Here, the processing in step S23 is an example of a reading step according to the present disclosure, and is executed by the second reading processing portion 53 of the control portion 21.
[0121] <Step S24>
[0122] In step S24, the control portion 21 divides the process into branches depending on whether reading of the reading target information in the second reading process executed in step S23 succeeds or fails. More specifically, in a case where the reading target information is successfully read (Yes in S24), the control portion 21 causes the processing to proceed to step S25. In addition, in a case where reading of the reading target information fails (No in S24), the control portion 21 causes the processing to proceed to step S26.
[0123] <Step S25>
[0124] In step S25, the control portion 21 executes processing based on the reading target information read from the information code.
[0125] For example, in a case where the reading target information read from the information code is a URL, the control portion 21 ends the imaging process and causes the operation display portion 12 to display a website corresponding to the URL.
[0126] Note that, in a case where the processing in step S25 is executed, the control portion 21 may print the information code used for reading the reading target information in accordance with the output operation. Thus, even an image processing system different from the image processing system 100, it is possible to read the reading target information. Here, the process of printing the information code is executed by the output processing portion 57 of the control portion 21.
[0127] <Step S26>
[0128] In step S26, the control portion 21 executes a third information code reading process described below.
[0129] [Third Information Code Reading Process]
[0130] Next, the third information code reading process executed in step S26 of the second information code reading process will be described with reference to
[0131] <Step S31>
[0132] First, in step S31, the control portion 21 causes the operation display portion 26 to display the selection screen including the information code before the processing in step S22 and the information code after the processing in step S22.
[0133] <Step S32>
[0134] In step S32, the control portion 21 determines whether or not the selection operation of selecting any of the information codes has been received on the selection screen displayed in step S31.
[0135] Here, when the control portion 21 determines that the selection operation has been received (Yes in S32), the control portion 21 causes the processing to proceed to step S33. In addition, when the selection operation has not been received (No in S32), the control portion 21 waits for the selection operation to be received in step S32.
[0136] Thus, on the reception screen, the user is able to display the information code of the information code before and after the correction that has been determined to require less operation for correction.
[0137] <Step S33>
[0138] In step S33, the control portion 21 causes the operation display portion 26 to display the reception screen. Here, the processing from step S31 to step S33 is executed by the reception processing portion 54 of the control portion 21.
[0139] <Step S34>
[0140] In step S34, the control portion 21 determines whether or not the correction operation has been performed on the reception screen displayed in step S33.
[0141] Here, when the control portion 21 determines that the correction operation has been performed (Yes in S34), the control portion 21 causes the processing to proceed to step S35. In addition, when the correction operation has not been performed (No in S34), the control portion 21 causes the processing to proceed to step S37.
[0142] <Step S35>
[0143] In step S35, the control portion 21 executes a second correction process for correcting the shape of the information code according to the correction operation. Here, the processing in step S35 is executed by the second correction processing portion 55 of the control portion 21.
[0144] Here, the correction operation is a touch operation on the captured image display field Y12. Thus, the user is able to correct the shape of the information code with an intuitive operation.
[0145] <Step S36>
[0146] In step S36, the control portion 21 reflects the information code after correction by the second correction process executed in step S35 on the reception screen. Here, the processing in step S36 is executed by the display control portion 56 of the control portion 21
[0147] Thus, the user is able to adjust the operation amount of the correction operation so that the information code displayed on the reception screen has a desired shape.
[0148] <Step S37>
[0149] In step S37, the control portion 21 determines whether or not the end operation has been performed on the reception screen displayed in step S33.
[0150] Here, when the control portion 21 determines that the end operation has been performed (Yes in S37), the control portion 21 causes the processing to proceed to step S38. In addition, when the end operation has not been performed (No in S37), the control portion 21 causes the processing to proceed to step S34.
[0151] <Step S38>
[0152] In step S38, the control portion 21 executes the third reading process of reading the reading target information from the information code after the processing in step S35. Here, the processing in step S38 is executed by the second reading processing portion 53 of the control portion 21.
[0153] <Step S39>
[0154] In step S39, the control portion 21 divides the process into branches depending on whether reading of the reading target information in the third reading process executed in step S38 succeeds or fails. More specifically, in a case where the reading target information is successfully read (Yes in S39), the control portion 21 causes the processing to proceed to step S40. In addition, in a case where reading of the reading target information fails (No in S39), the control portion 21 causes the processing to proceed to step S41.
[0155] <Step S40>
[0156] In step S40, the control portion 21 executes processing based on the reading target information read from the information code, as in step S25 by the second information code reading process.
[0157] <Step S41>
[0158] In step S41, the control portion 21 notifies that reading of the reading target information from the information code has failed.
[0159] For example, the control portion 21 causes the operation display portion 26 to display a message indicating that reading of the reading target information from the information code has failed.
[0160] As described above, in the image processing system 100, the shape of the information code is corrected based on the outline of the information code before the reading target information is read from the information code included in the captured image. Thus, it is possible to read the reading target information included in the information code from the distorted information code.
[0161] Note that the mobile terminal 10 may also include a detection processing portion 51, a first correction processing portion 52, a second reading processing portion 53, a reception processing portion 54, a second correction processing portion 55, a display control portion 56, and an output processing portion 57. The mobile terminal 10 including these portions is another example of the image processing system according to the present disclosure.
[0162] In addition, the image processing system 100 does not have to include the mobile terminal 10. In this case, the image forming apparatus 20 may be regarded as the image processing system according to the present disclosure.
[0163] It is to be understood that the embodiments herein are illustrative and not restrictive, since the scope of the disclosure is defined by the appended claims rather than by the description preceding them, and all changes that fall within metes and bounds of the claims, or equivalence of such metes and bounds thereof are therefore intended to be embraced by the claims.