WO2010090159A1 - Dispositif de lecture d'informations optiques et procédé de lecture d'informations optiques - Google Patents
Dispositif de lecture d'informations optiques et procédé de lecture d'informations optiques Download PDFInfo
- Publication number
- WO2010090159A1 WO2010090159A1 PCT/JP2010/051365 JP2010051365W WO2010090159A1 WO 2010090159 A1 WO2010090159 A1 WO 2010090159A1 JP 2010051365 W JP2010051365 W JP 2010051365W WO 2010090159 A1 WO2010090159 A1 WO 2010090159A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- code symbol
- symbol data
- color information
- information
- binarized
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 87
- 230000003287 optical effect Effects 0.000 title claims description 33
- 230000008859 change Effects 0.000 claims description 38
- 238000012545 processing Methods 0.000 claims description 24
- 238000001579 optical reflectometry Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 76
- YUGZHQHSNYIFLG-HXUWFJFHSA-N [(2R)-2-(phenylcarbamoyloxy)-3-piperidin-1-ylpropyl] N-phenylcarbamate Chemical compound C([C@@H](CN1CCCCC1)OC(=O)NC=1C=CC=CC=1)OC(=O)NC1=CC=CC=C1 YUGZHQHSNYIFLG-HXUWFJFHSA-N 0.000 description 23
- 238000010586 diagram Methods 0.000 description 21
- 238000006243 chemical reaction Methods 0.000 description 11
- 239000000284 extract Substances 0.000 description 8
- 230000004069 differentiation Effects 0.000 description 7
- 230000003321 amplification Effects 0.000 description 6
- 238000003199 nucleic acid amplification method Methods 0.000 description 6
- 239000003086 colorant Substances 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 230000006866 deterioration Effects 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 241000872198 Serjania polyphylla Species 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/12—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using a selected wavelength, e.g. to sense red marks and ignore blue marks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10712—Fixed beam scanning
- G06K7/10722—Photodetector array or CCD scanning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10821—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
- G06K7/10851—Circuits for pulse shaping, amplifying, eliminating noise signals, checking the function of the sensing device
Definitions
- the present invention relates to an optical information reading apparatus and an optical information reading method for reading information to be read composed of portions having different light reflectivities such as bar codes and two-dimensional codes.
- an optical information reader such as a bar code scanner, projects a laser beam or the like on a bar code image composed of a black bar (or simply a bar) and a white bar (or a space) and reflects the reflected light.
- the code information is read by receiving the light and performing electrical processing.
- This barcode scanner is a light source that emits a barcode, an optical system and a light receiving element that captures diffusely reflected light from the barcode, a circuit that digitizes the output signal from the light receiving element, and a circuit that performs arithmetic processing on the digital signal and decodes it Etc.
- a black and white inflection point of the barcode is obtained from the acquired waveform of the electric signal (binarization), and a barcode that matches the width information of the inflection point is searched (decode). Bar code can be read. For this reason, detection of white and black inflection points is an important factor in barcode reading.
- the barcode cannot be read.
- the main factors that make it impossible to detect the inflection point include lens performance (aberration and diffraction), sampling rate (or number of pixels), noise, and the like.
- the S / N ratio (Signal-to-Noise-ratio) decreases significantly on the far side, making reading difficult.
- barcode scanners using line sensors such as CCD (Charge-Coupled Device) and CMOS (Complementary-Metal-Oxide-Semiconductor) may be difficult to read mainly due to lens performance limitations and the number of pixels.
- Patent Document 1 discloses a barcode scanner.
- the amplitude value of the differential waveform in the signal obtained by irradiating the barcode is assigned to one of the three values “1, 0, ⁇ 1”, and the differential waveform is ternarized. To do. Synthesis is performed so that the interval between the peak of the positive ternary signal indicating the value “1” and the peak of the negative ternary signal indicating the value “ ⁇ 1” is an integral multiple of the basic width of the barcode. As a result, since the thick black portion of the barcode can be removed, the barcode can be corrected to the correct barcode width.
- the present invention solves such a problem related to the conventional example, and makes it possible to correctly recognize a code symbol from a signal waveform of a code symbol such as a deteriorated barcode or a two-dimensional code, It is an object of the present invention to provide an optical information reading apparatus and an optical information reading method capable of improving the reading accuracy of the information.
- an optical information reading apparatus differentiates a read signal indicating the intensity of reflected light of light irradiated toward a code symbol composed of portions having different light reflectivities.
- a differential processing unit that obtains a differential signal, and a binarization that detects an inflection point from the differential signal and obtains a binary code symbol data indicating a width length between the inflection points and a change amount of the inflection point.
- binarized code symbol data is converted into first color information with high reflected light intensity, second color information with low reflected light intensity, and first color.
- the third color information is classified into the third color information indicating the approximate middle between the information and the second color information.
- the binary code symbol data indicated broadcast and requests the code symbol information divided by binary code symbol data of the minimum width by dividing the binary code symbol data of the color information of the third.
- the optical information reading apparatus includes an image capturing unit that captures an image and converts the image into image data represented by a digital luminance value, and image data converted by the image capturing unit.
- a brightness histogram creating means for measuring a brightness value of each line to create a brightness histogram, and detecting an inflection point from the brightness histogram created by the brightness histogram creating means to indicate a width length between the inflection points
- the code symbol information of the image data is obtained based on the binarized code symbol data and the amount of change of the inflection point.
- the code symbol information is obtained by dividing the binary code symbol data of the third color information by dividing by the binary code symbol data.
- an optical information reading method differentiates a read signal indicating the intensity of reflected light of light irradiated toward a code symbol composed of portions having different light reflectivities. Obtaining a differential signal, detecting an inflection point from the differential signal, obtaining binarized code symbol data indicating the width between the inflection points, and a change amount of the inflection point, Obtaining level information indicating the intensity of the signal between the points; binarized code symbol data based on the level information; first color information with high reflected light intensity; second color with low reflected light intensity Information, a step of classifying the first color information and the third color information that is substantially in the middle of the second color information, and binarized code symbol data indicated by the third color information into a binary having a minimum width The binary code symbol of the third color information divided by the coded code symbol data And has a determining a code symbol information by dividing the over data.
- the optical information reading method includes a step of capturing an image and converting the image into image data represented by a digital luminance value, and measuring the luminance value of the converted image data for each line. Creating a luminance histogram; detecting inflection points from the created luminance histogram; obtaining binarized code symbol data indicating a width between the inflection points; and a change amount of the inflection points; Obtaining level information indicating the strength of the signal between the inflection points; binarized code symbol data based on the level information; first color information having a high luminance value; second color information having a low luminance value; And the step of classifying the first color information into the third color information indicating substantially the middle of the second color information, and the binarized code symbol data indicated by the third color information into the binarized code having the minimum width
- the third color divided by the symbol data And has a determining a code symbol information by dividing the binary code symbol data distribution.
- the differential processing unit obtains a differential signal by differentiating the read signal indicating the intensity of the reflected light of the light irradiated toward the code symbol.
- the binarized code symbol data calculation unit detects an inflection point from the differential signal, and obtains a binarized code symbol data indicating a width length between the inflection points and a change amount of the inflection point.
- the calculation unit obtains level information indicating the intensity of the signal between the inflection points, and based on the level information, binarized code symbol data is obtained from the first color information having the high reflected light intensity and the intensity of the reflected light.
- the color information is classified into low second color information, and third color information indicating approximately the middle between the first color information and the second color information.
- the calculation unit divides the binarized code symbol data of the third color information by dividing the binarized code symbol data indicated by the third color information by the binarized code symbol data having the minimum width.
- gray binarized code symbol data indicating a substantially middle color between white and black can be recognized. Accordingly, the code symbol can be correctly recognized from the signal waveform of the deteriorated code symbol.
- the image capturing means captures an image and converts the image into image data represented by a digital luminance value.
- the brightness histogram creation means creates a brightness histogram by measuring the brightness value of the image data converted by the image capture means for each line.
- An inflection point is detected from the luminance histogram created by the luminance histogram creation means, and binarized code symbol data indicating a width length between the inflection points and a change amount of the inflection point are obtained.
- the calculation unit obtains level information indicating the intensity of the signal between the inflection points, and binarized code symbol data based on the level information, the first color information having a high luminance value, and the second color having a low luminance value.
- Classification is made into color information and third color information which is approximately halfway between the first color information and the second color information.
- the calculation unit divides the binarized code symbol data of the third color information by dividing the binarized code symbol data indicated by the third color information by the binarized code symbol data having the minimum width.
- gray binarized code symbol data indicating a substantially middle color between white and black can be recognized. Accordingly, the code symbol can be correctly recognized from the signal waveform of the deteriorated code symbol.
- level information indicating the intensity of a signal between inflection points is obtained, and binarized code symbol data is converted into reflected light based on the level information.
- the binarized code symbol data indicated by the third color information is divided by the binarized code symbol data having the minimum width to divide the binarized code symbol data of the third color information to obtain the code symbol information.
- FIG. 1 is a block diagram illustrating a configuration example of a barcode scanner 100 according to a first embodiment.
- FIG. 3 is a block diagram illustrating a configuration example of a binarization prediction unit 150.
- FIG. It is a figure which shows an example of barcode BC1 and BC2. It is a figure which shows the reading example of barcode BC1 and BC2. It is a wave form diagram of the output signal which read bar code BC1 and was output. It is a wave form diagram of the output signal which read bar code BC2 and was output. It is a figure which shows the comparative example of the reading depth of the barcode scanner 100 which concerns on 1st Embodiment, and the conventional barcode scanner.
- 4 is a flowchart illustrating an operation example of the barcode scanner 100.
- the barcode scanner 100 is described in the first embodiment
- the code scanner 200 is described in the second embodiment.
- FIG. 1 is a block diagram illustrating a configuration example of a barcode scanner 100 according to the first embodiment.
- the barcode scanner 100 includes a signal conversion unit 110 that receives an optical signal and converts it into an analog electrical signal, an amplification unit 120 that amplifies the electrical signal converted by the signal conversion unit 110, A low-pass filter 130 that passes and outputs only a low-frequency component signal having a frequency equal to or lower than a predetermined frequency among the electric signals amplified by the amplifying unit 120, and the amplification unit 120 performs amplification in accordance with the output signal output from the low-pass filter 130 An automatic gain control (AGC) unit 140 that controls the gain and a binarization prediction unit 150 that predicts the inflection points of the bar code white and black with respect to the deteriorated output signal.
- AGC automatic gain control
- the optical signal input to the signal conversion unit 110 is a signal indicating the intensity of reflected light of light emitted from the light source such as an LED (not shown) or a laser beam generator toward the barcode.
- the signal conversion unit 110 includes a photoelectric conversion element 111 and a current / voltage conversion unit (hereinafter referred to as an I / V conversion unit 112).
- the photoelectric conversion element 111 includes a photodiode (PD) that receives an optical signal and converts it into a current signal.
- the I / V converter 112 converts the current signal into a voltage signal.
- the amplification unit 120 includes a pre-amplification unit 121 and a variable gain amplifier (hereinafter referred to as AGC amplifier 122).
- the preamplifier 121 is used to amplify a small voltage signal.
- the AGC amplifier 122 feeds back the output signal level and adjusts the gain to be in an appropriate range with respect to the input signal level.
- the gain of the AGC amplifier 122 changes according to the control signal Sc generated by the automatic gain control unit 140.
- the automatic gain control unit 140 is a closed-loop control system that branches from the output unit of the low-pass filter 130 and feeds back to the AGC amplifier 122, and includes a peak value detector 141, a comparator 142, and a reference level setting circuit 143. .
- the peak value detector 141 detects and holds the peak voltage (peak value Vp) of the amplitude of the output signal of the low-pass filter 130.
- the reference level setting circuit 143 sets a reference voltage value (hereinafter referred to as a reference voltage value Vs).
- the comparator 142 compares the reference voltage value Vs set by the reference level setting circuit 143 with the peak value Vp held by the peak value detector 141, and outputs a control signal Sc corresponding to the comparison result to output AGC.
- the gain of the amplifier 122 is controlled.
- the comparator 142 in this case has a function of a differential amplifier, outputs a control signal Sc corresponding to the difference between the peak value Vp and the reference voltage value Vs, and inputs it to the control terminal of the AGC amplifier 122.
- the AGC amplifier 122 varies the amplification gain so as to be inversely proportional to the control signal Sc. That is, when the amplitude of the output signal decreases, the peak value Vp becomes smaller than the reference voltage value Vs, so the control signal Sc becomes negative and the gain of the AGC amplifier 122 increases.
- the binarization prediction unit 150 receives the output signal output from the low-pass filter 130, and when the output signal is deteriorated, predicts the inflection point of the white and black of the barcode and outputs the digital 2 Generate a digitized signal. This binarized signal is decoded by a decoding circuit (not shown) in the subsequent stage and read as a bar code symbol.
- FIG. 2 is a block diagram illustrating a configuration example of the binarization prediction unit 150.
- the binarization prediction unit 150 includes an analog first memory (hereinafter referred to as a first memory 151) and an analog second memory (hereinafter referred to as a second memory 152). , Differentiation processing unit 153, inflection point detection unit 154, linear interpolation unit 155, BBD calculation unit 156, first digital memory (hereinafter referred to as first memory 157), second digital memory (hereinafter referred to as first memory 157). , A second memory 158) and a CPU 159.
- the binarization prediction unit 150 switches between the first memory 157 and the second memory 158. This is because the process of reading the barcode and the process of calculating are performed in parallel to improve the throughput.
- the differentiation processing unit 153 first-order differentiates the analog data shown in FIG. 9A stored in the first memory 151 or the second memory 152, and first-order differentiates it as shown in FIG. 9B. Determine the signal waveform. Further, the differentiation processing unit 153 second-order differentiates the analog data stored in the first memory 151 or the second memory 152 to obtain a second-order differentiated signal waveform shown in FIG.
- the inflection point detection unit 154 detects an inflection point from the first-order differentiated signal waveform and the second-order differentiated signal waveform.
- the linear interpolation unit 155 linearly complements the second-order differential value. Thereby, the position of the inflection point can be read more accurately.
- the BBD calculation unit 156 has an absolute value of the first derivative shown in FIG. 9B larger than the specific slice lines L1 and L2 (for example, in FIG. 9B, the value of the first derivative is a slice line).
- the inflection point is a point that crosses the line where the value of the second derivative shown in FIG. 9C is zero (a place above L1 and a place below slice line L2). To detect.
- the BBD calculation unit 156 stores the inflection point direction (change amount) as a code in IO [Ad] of the table TB1 illustrated in FIG. Further, the BBD calculation unit 156 stores the width length between the inflection points in the BBD [Ad] of the table TB1 shown in FIG.
- the table TB1 is stored in the first memory 157 or the second memory 158.
- the inflection point detection unit 154, the linear interpolation unit 155, and the BBD calculation unit 156 are examples of a binarized code symbol data calculation unit.
- the CPU 159 is an example of an arithmetic unit, and generates a binarized signal with reference to the table TB1 stored in the first memory 157 or the second memory 158.
- FIG. 3 is a diagram showing an example of a barcode.
- the barcode BC1 has a plurality of black bars with different widths printed on a medium such as white paper.
- the barcode BC1 has a start margin SM, an end margin EM, one-value width bars SBr1, SBr2, and multi-value (including binary) width bars LBr1, LBr2.
- the shade level information of the start margin SM and end margin EM is only white.
- the gray level information of the single-value bars SBr1 and SBr2 and the multi-value bars LBr1 and LBr2 is white and black. That is, the single width bar is composed of a black single width bar SBr1 and a white single width bar SBr2.
- the multi-value width bar is composed of a black multi-value width bar LBr1 and a white multi-value width bar LBr2.
- the bar code BC1 starts with a start margin SM and is composed of various combinations of the single-value width bars SBr1 and SBr2 and the multi-value width bars LBr1 and LBr2, and ends with the end margin EM.
- the barcode BC2 has the same configuration as the barcode BC1 shown in FIG. That is, the barcode BC2 has a start margin SM, an end margin EM, one-value width bars SBr1, SBr2, and multi-value width bars LBr1, LBr2.
- the bar code BC2 shows a state in which the images of the single-value width bar SBr1 and the multi-value width bar LBr1 printed on the medium have the same color as the background color.
- the same color of the barcode BC2 depends on, for example, the material to be printed and the deterioration of printing.
- the material to be printed is, for example, a green printed circuit board, and when a barcode is printed on the surface of the printed circuit board with a laser marker, the same color is likely to occur compared to printing a black barcode on a white background. .
- the barcode is in various printing states depending on the material to be printed and the deterioration of printing.
- FIG. 4 is a figure which shows the example of reading barcode BC1.
- a black and white inflection point of the barcode BC1 is obtained from the waveform of the output signal, and is adapted to the width information of the inflection point.
- the barcode B1 can be read by searching for the barcode. That is, the barcode BC1 can be classified into the start margin SM, the end margin EM, the one-value width bars SBr1 and SBr2, and the multi-value width bars LBr1 and LBr2.
- FIG. 4B is a diagram showing an example of reading the barcode BC2.
- the binarization prediction unit 150 shown in FIG. 2 adds the level information indicating the intensity of the signal between the inflection points, thereby converting the one-value width bars SBr1 and SBr2 of the barcode BC2 into white and black intermediate colors. It is determined as a gray bar Br3.
- the binarization predicting unit 150 converts the binarized barcode data of the barcode BC2 into white (first color information), black (second color) based on the level information indicating the intensity of the signal between the inflection points. Information) and gray (third color information) are classified into three values, and the gray bar Br3 is discriminated as a set of a black single width bar SBr1 and a white single width bar SBr2.
- the binarization prediction unit 150 predicts and divides the black single-value width bar SBr1 and the white single-value width bar SBr2 by comparing the gray bar Br3 with the feature (array pattern) of the barcode BC2. For example, the binarization predicting unit 150 divides the gray bar Br3 by dividing the binarized bar code data of the gray bar Br3 by the binarized bar code data having the minimum width.
- the binarization predicting unit 150 obtains the width length of the gray bar Br3a shown in FIG. 4B, and divides the width length of the bar Br3a by the width length of the black single width bar SBr1, for example. .
- the number of black single-width bars SBr1 or white single-width bars SBr2 contained in the gray bar Br3a is known.
- the number of single value bars SBr1 and SBr2 included in the bar Br3a is four.
- the binarization prediction unit 150 divides the gray bar Br3a into a black one-value bar SBr1 and a white one-value bar SBr2 from the black and white array pattern of the barcode BC2.
- the arrangement pattern of the barcode BC2 is configured such that white follows a black color, and a black bar follows a white color. That is, if the white and black bars are not arranged alternately, the barcode is not established.
- the arrangement pattern of the bars Br3a is white from the left in the drawing.
- the black single-value bar SBr1 and the white single-value bar SBr2 can be discriminated.
- the waveform of the output signal shown in (A) of FIG. 5 is the waveform of the output signal output by reading the barcode BC1 shown in (C) of FIG.
- the signal level is set on the vertical axis of FIG. 5A, and the pixel position is set on the horizontal axis.
- all inflection points I of the output signal are detected.
- a barcode BC3 shown in FIG. 5B can be generated. This bar code BC3 is the same as the bar code BC1 shown in FIG.
- the waveform of the output signal shown in FIG. 6A is the waveform of the output signal output by reading the barcode BC2 in FIG. 6C that is the same color as the background color.
- the vertical axis indicates the signal level
- the horizontal axis indicates the pixel position.
- the output signal shown in FIG. 6A only a part of the inflection point I of the output signal is detected. In this example, the inflection point for discriminating between the black single width bar SBr1 and the white single width bar SBr2 is not detected.
- the binarization prediction unit 150 shown in FIG. 2 adds the level information indicating the strength of the signal between the inflection points, thereby converting the single-value width bars SBr1 and SBr2 of the barcode BC2 into white and black intermediate colors. It is determined as a gray bar Br3.
- the binarization prediction unit 150 classifies the barcode BC2 into three values of white, black, and gray from the width information based on the inflection point I and the level information indicating the intensity of the signal between the inflection points. Then, the gray bar Br3 is discriminated as a set of a black single width bar SBr1 and a white single width bar SBr2. The binarization prediction unit 150 predicts and divides the black single-value width bar SBr1 and the white single-value width bar SBr2 by comparing the gray bar Br3 with the arrangement pattern of the barcode BC2. Thereby, even when the barcode BC2 in FIG. 6C, which is the same color as the background color, is read, it can be read accurately.
- the reading depth is the difference between the minimum distance and the maximum distance at which the barcode can be read by the barcode scanner.
- a barcode with a module width of JAN (Japanese Article Number) of 0.33mm and a barcode with a fine bar of code39 of 0.25mm are set as an example of the barcode. Is set to a reading depth (mm).
- the conventional barcode scanner has a minimum reading distance of about 60 mm, a maximum reading distance of about 120 mm, and a reading depth of about 60 mm.
- the minimum reading distance is about 60 mm
- the maximum reading distance is about 200 mm
- the reading depth is about 140 mm. Therefore, the barcode scanner 100 according to the present invention has a reading depth improved by about 80 mm compared to the conventional barcode scanner.
- the minimum reading distance is about 60 mm
- the maximum reading distance is about 138 mm
- the reading depth is about 78 mm.
- the minimum reading distance is about 60 mm
- the maximum reading distance is about 238 mm
- the reading depth is about 178 mm. Therefore, the barcode scanner 100 according to the present invention has a reading depth improved by about 100 mm compared to the conventional barcode scanner.
- FIG. 8 is a flowchart showing an operation example of the barcode scanner 100.
- the image of the single-value bar SBr1 and multi-value bar LBr1 printed on the medium is made the same color as the background color due to the material to be printed or the deterioration of printing.
- a case where the barcode BC2 is read will be described.
- the barcode scanner 100 takes in the line data of the barcode and detects an inflection point.
- the photoelectric conversion element 111 in FIG. 1 functioning as an area sensor of the barcode scanner 100 receives an optical signal reflected and reflected from a barcode by an unillustrated LED, converts it into a current signal, and converts it into an I / V.
- the data is output to the conversion unit 112.
- the I / V converter 112 converts this current signal into a voltage signal.
- This voltage signal is amplified to a predetermined voltage by the amplifying unit 120 and output to the binarization predicting unit 150 through the low-pass filter 130. Note that by extracting only specific line data from the area data received by the photoelectric conversion element 111 and adding the line data, line data with less noise shown in FIG. 9A can be obtained.
- FIG. 9 is a diagram showing a signal waveform of line data when the barcode BC2 having the same color as the background color as shown in (B) of FIG. 3 is read.
- FIG. 9B is a diagram showing a signal waveform obtained by first-order differentiation of the signal waveform of FIG.
- FIG. 9C is a diagram showing a signal waveform obtained by second-order differentiation of the signal waveform of FIG.
- the vertical axis indicates the signal level
- the horizontal axis indicates the pixel position.
- the binarization predicting unit 150 detects the inflection point of the signal waveform shown in FIG. 9A
- the absolute value of the first derivative shown in FIG. 9B is the specific slice line L1, L2.
- a point that is larger and crosses a line having a second-order differential value shown in FIG. 9C of zero is detected as an inflection point.
- the position of the inflection point can be read more accurately by linearly complementing the second-order differential value by the linear interpolation unit 155.
- the slice level is necessary to distinguish from the noise, and the inflection point that does not exceed this slice level (inflection point between the slice line L1 and the slice line L2 in FIG. 9B) is Treat as noise.
- the binarization prediction unit 150 stores the width between inflection points as binarized barcode data in BBD [Ad] of the table TB1 shown in FIG.
- the binarization prediction unit 150 Is stored in IO [Ad] of the table TB1 shown in FIG. 10 as plus (+).
- the first-order differential value indicating the direction of the inflection point is negative (the signal waveform in FIG. 9B is convex downward), it is expressed as minus ( ⁇ ) as IO [Ad] in the table TB1 shown in FIG. Save to.
- FIG. 10 is a diagram showing a configuration example of a table TB1 having binarized barcode data BBD [Ad] and IO [Ad] indicating the inflection point direction.
- the table TB1 shown in FIG. 10 includes addresses “Ad”, BBD [Ad], and IO [Ad].
- the address “Ad” is an address for referring to the BBD.
- BBD [Ad] stores binary barcode data indicating the width between inflection points.
- IO [Ad] stores a primary differential value (+ -sign) indicating the direction (change amount) of the inflection point.
- the table TB1 shown in FIG. 10 stores the BBD and inflection point direction of the signal waveform shown in FIG. For example, “128” is stored in BBD [Ad] and “ ⁇ ” is stored in IO [Ad] at “0” of the address “Ad” indicating the start margin SM. Further, “15” is stored in BBD [1] indicating the first binarized barcode data, and “ ⁇ ” is stored in IO [1].
- step ST2 of the flowchart shown in FIG. 8 the binarization prediction unit 150 calculates the level between the inflection points.
- FIG. 11 is a diagram illustrating the level of an analog signal for each BBD in the line data (analog data) in FIG. “0” to “20” of the address “Ad” shown in FIG. 11 correspond to “0” to “20” of the address “Ad” of the table TB1 of FIG.
- the level of the analog signal of BBD [1] of the table TB1 is displaced between about 35 and about 47.
- FIG. 12A shows level information POW [Ad] indicating the intensity of the binary barcode data from IO [Ad] and IO [Ad-1] indicating the direction (change amount) of the inflection point. It is a figure which shows the conditions which calculate
- CASE “A” shown in FIG. 12A is a case where the primary differential value indicating the direction of the inflection point is both plus (+) or both minus ( ⁇ ). In this case, since the primary differential value indicating the direction of the inflection point has the same sign, BBD [Ad] is binarized barcode data indicating gray. Since CASE “A” is binarized barcode data indicating gray, the intermediate value of two points with the smallest change in the extracted analog data is used as the level information POW in the table TB2 of FIG. Set to [Ad].
- CASE “B” is the case where the primary differential value indicating the direction of the inflection point is IO [Ad ⁇ 1] minus ( ⁇ ) and IO [Ad] plus (+).
- BBD [Ad] is binarized barcode data indicating black. Since CASE “B” is binarized barcode data indicating black with low reflected light intensity, the minimum value in the extracted analog data is set to level information POW [ Ad].
- CASE “C” is a case where the primary differential value indicating the direction of the inflection point is determined that IO [Ad ⁇ 1] is plus (+) and IO [Ad] is minus ( ⁇ ). In this case, since the primary differential value indicating the direction of the inflection point is displaced from plus to minus, BBD [Ad] is binarized barcode data indicating white. Since CASE “C” is binary barcode data indicating white with high intensity of reflected light, the maximum value among the extracted analog data is set to level information POW [ Ad].
- FIG. 13 is a flowchart showing an example of calculating the level information POW [Ad] indicating the intensity of the binarized barcode data, and is for explaining the processing contents of step ST2 in FIG. 8 in detail.
- the binarization predicting unit 150 initializes the address “Ad” of the table TB2 in FIG. 12B by setting “0”. Subsequently, the process proceeds to step ST201.
- step ST201 the binarization predicting unit 150 extracts analog data belonging to the width of the binarized barcode data (BBD) at the address set in the address “Ad” of the table TB1. For example, the binarization prediction unit 150 extracts the analog data in FIG. 11 in which the address “Ad” belongs to “0”. Subsequently, the process proceeds to step ST202.
- BBD binarized barcode data
- the binarization prediction unit 150 refers to IO [Ad], IO [Ad-1] of the table TB1 indicating the direction (change amount) of the inflection point, and refers to the direction (change amount) of the inflection point. Whether IO [Ad] indicating IO [Ad ⁇ 1] is equal is determined. As shown in FIG. 12A, when the primary differential value indicating the direction of the inflection point is both plus (+) or both minus ( ⁇ ) (in CASE “A” in FIG. 12A). If applicable, it is determined that IO [Ad] is equal to IO [Ad-1], and the process proceeds to step ST203.
- step ST203 the binarization prediction unit 150 detects two values with the smallest amount of change in the analog data extracted in step ST201 described above, and proceeds to step ST204.
- step ST204 the binarization prediction unit 150 obtains an intermediate value from the two values with the smallest amount of change detected in step ST203 described above, and stores the intermediate value in POW [Ad] of the table TB2 shown in FIG.
- the intermediate value is set as level information indicating the signal strength between the inflection points. For example, an intermediate value “35” is set in POW [5] of this table TB2 as level information indicating the signal strength between inflection points. Subsequently, the process proceeds to step ST208.
- step ST202 if IO [Ad] indicating the inflection point direction (change amount) is not equal to IO [Ad-1], the process proceeds to step ST205.
- step ST205 the binarization predicting unit 150 determines whether IO [Ad] indicating the direction of the inflection point is plus (+). As shown in FIG. 12A, when the first derivative value indicating the direction of the inflection point is IO (Ad-1) minus ( ⁇ ) and IO [Ad] plus (+) (FIG. 12). 12 (A) CASE “B”), the process proceeds to step ST206.
- step ST206 the binarization prediction unit 150 detects the minimum value from the analog data extracted in step ST201 described above, and stores the minimum value in POW [Ad] of the table TB2 shown in FIG. Is set as level information indicating the intensity of the signal between the inflection points. For example, the minimum value “31” is set in the POW [2] of the table TB2 as level information indicating the signal strength between the inflection points. Subsequently, the process proceeds to step ST208.
- step ST205 the binarization predicting unit 150 determines that the inflection point IO [Ad] indicating the inflection point direction is not plus (+), that is, as illustrated in FIG. In the case where it is determined that IO [Ad-1] is positive (+) and IO [Ad] is negative ( ⁇ ) (corresponding to CASE “C” in FIG. 12A). ), The process proceeds to step ST207.
- step ST207 the binarization prediction unit 150 detects the maximum value from the analog data extracted in step ST201 described above, and sets the maximum value in POW [Ad] of the table TB2 shown in FIG. Is set as level information indicating the intensity of the signal between the inflection points. For example, the maximum value “35” is set in POW [3] of the table TB2 as level information indicating the signal strength between the inflection points. Subsequently, the process proceeds to step ST208.
- step ST208 the binarization predicting unit 150 changes the address “Ad” of the BBD in the table TB1 shown in FIG. 10 from the current address to the next address, and proceeds to step ST209.
- step ST209 the binarization predicting unit 150 determines whether there is a BBD of the next address in the table TB1 illustrated in FIG. If it is determined that the BBD of the next address exists, the process returns to step STST201. If it is determined that the BBD of the next address does not exist, the process proceeds to step ST3 of the flowchart shown in FIG. In this way, the level between inflection points is calculated.
- the table TB2 in FIG. 12B includes a CASE “A” that represents the relationship between IO [Ad] and IO [Ad-1] indicating the direction of the inflection point in order to facilitate understanding of the description. To CASE “C”.
- step ST3 of the flowchart shown in FIG. 8 the binarization predicting unit 150 performs margin calculation and clipping processing. Referring to BBD [Ad] and IO [Ad] of table TB3 shown in FIG. 14A, the start margin and end margin are detected and the margins are cut out.
- IO [Ad] is negative and BBD [Ad] is more than a predetermined multiple (for example, six times) of the minimum value of the binarized barcode data in a predetermined range.
- IO [Ad] is negative and BBD [Ad] is more than a predetermined multiple (for example, six times) of the minimum value of the binarized barcode data in a predetermined range.
- BBD [Ad] is larger than a predetermined multiple (for example, 12 times) of the minimum value of the binarized barcode data in the predetermined range, or the BBD data is in an effective range. It is assumed that the last is satisfied.
- FIG. 15 is a flowchart showing an example of processing for performing margin calculation and cut-out processing, and is for explaining the processing contents of step ST3 in FIG. 8 in detail.
- step ST300 shown in FIG. 15 the binarization predicting unit 150 initializes the address “Ad” of BBD [Ad] of the table TB3 shown in FIG. 14A by setting “0”. Subsequently, the process proceeds to step ST301.
- step ST301 the binarization prediction unit 150 refers to the table TB3 shown in FIG. 14A and determines whether IO [Ad] indicating the direction of the inflection point is negative ( ⁇ ). To do. When it is determined that IO [Ad] is minus ( ⁇ ), the process proceeds to step ST302.
- step ST302 the binarization predicting unit 150 detects the minimum value of the binarized barcode data between BBD [Ad + 1] and BBD [Ad + 12] in the table TB3, and proceeds to step ST303.
- step ST303 the binarization prediction unit 150 compares a value obtained by multiplying the minimum BBD value obtained in step ST302 by a predetermined value with the binarized barcode data of BBD [Ad], and BBD [Ad]. If the binarized barcode data is large, the process proceeds to step ST304. In this example, the minimum value of BBD is multiplied by six.
- step ST304 the binarization prediction unit 150 sets information indicating the start margin in BBD [0] of the table TB3 in FIG. For example, as shown in the table TB4 in FIG. 14B, “st_margin” indicating the start margin is set in BBD [ ⁇ ]. After “st_margin” indicating the start margin is set, the address of BBD [Ad] is shifted as shown in the table TB4 of FIG. For example, “15” indicating the first binarized barcode data is set in BBD [0] of FIG. Subsequently, the process proceeds to step ST305.
- step ST305 the binarization predicting unit 150 changes the BBD address “Ad” of the table TB3 in FIG. 14A from the current address to the next address, and proceeds to step ST306.
- step ST306 the binarization predicting unit 150 determines whether there is a BBD of the next address in the table TB3 in FIG. If it is determined that the BBD of the next address does not exist, the process proceeds to step ST307.
- step ST307 the binarization predicting unit 150 sets “ed_margin” indicating an end margin in BBD [Ad] indicated by the current address of the table TB3, and proceeds to step ST311.
- step ST306 if the binarization predicting unit 150 determines that the BBD of the next address in the table TB3 in FIG. 14A exists, the binarization prediction unit 150 proceeds to step ST308.
- step ST308 the binarization predicting unit 150 compares a value obtained by multiplying the minimum value of the BBD obtained in step ST302 by a predetermined value with the binarized barcode data of the current BBD [Ad], and BBD [ If the binarized barcode data of [Ad] is large, the process proceeds to step ST309. In this example, the minimum value of BBD is multiplied by 12.
- step ST309 the binarization prediction unit 150 sets “ed_margin” indicating an end margin to BBD [ ⁇ ] as illustrated in the table TB4 of FIG. 14B, and proceeds to step ST310.
- step ST310 the binarization prediction unit 150 changes the BBD address “Ad” of the table TB3 in FIG. 14A from the current address to the next address, and proceeds to step ST311.
- step ST311 the binarization predicting unit 150 extracts BBD, IO, and POW from the start margin to the end margin with reference to the table TB3 in FIG. 14A, and shows in FIG. 14B.
- the table TB4 is created and the process proceeds to step ST312.
- step ST312 the binarization predicting unit 150 determines whether there is a BBD of the next address in the table TB3 in FIG. If it is determined that the BBD of the next address exists, the process returns to step ST301. If it is determined that the BBD of the next address does not exist, the process proceeds to step ST4 of the flowchart shown in FIG. In this way, margin calculation and cut-out processing are performed.
- step ST4 in the flowchart shown in FIG. 8 the binarization predicting unit 150 calculates white, black, and gray boundary lines.
- FIG. 17 is a flowchart showing an example of processing for calculating white, black, and gray boundary lines, and is for explaining the processing content of step ST4 in FIG. 8 in detail.
- step ST400 illustrated in FIG. 17 the binarization prediction unit 150 refers to the table TB4 illustrated in FIG. 14B and refers to IO [Ad] and IO [Ad ⁇ 1] indicating the direction of the inflection point. Extract only POW data indicating the same sign.
- FIG. 16 is a diagram illustrating an example of extracting POW data. “POW_A” illustrated in FIG. 16 is obtained by extracting only POW data in which IO [Ad] and IO [Ad ⁇ 1] in FIG. 14B indicate the same sign, “39”, “35”, “34”, “36”, “36” and “44”. Subsequently, the process proceeds to step ST401.
- step ST401 the binarization prediction unit 150 determines whether or not POW_A in which IO [Ad] and IO [Ad-1] indicate the same sign exists. When it determines with POW_A existing, it transfers to step ST402.
- step ST402 the binarization predicting unit 150 extracts only POW data in which IO [Ad] and IO [Ad-1] indicate different codes.
- “POW_B” illustrated in FIG. 16 is obtained by extracting only POW data in which IO [Ad] and IO [Ad-1] in FIG. 14B indicate different codes, such as “31” and “35”. There is. Subsequently, the process proceeds to step ST403.
- step ST403 the binarization prediction unit 150 detects the maximum value from the POW_B data, and sets the maximum value to the value of the white boundary line (W_LINE). For example, according to POW_B in FIG. 16, this W_LINE is “58”. Subsequently, the process proceeds to step ST404.
- W_LINE white boundary line
- step ST404 the binarization predicting unit 150 detects the minimum value from the POW_B data, and sets the minimum value to the value of the black boundary line (B_LINE). For example, according to POW_B in FIG. 16, this B_LINE is “29”. Subsequently, the process proceeds to step ST405.
- step ST405 the binarization predicting unit 150 obtains an intermediate value between the third largest value and the smallest value from the POW_A data, and calculates the intermediate value as a gray boundary value (G_LINE).
- G_LINE gray boundary value
- the third largest value is “36”
- the smallest value is “34”
- G_LINE is “35”.
- the reason why the third largest value is selected from the data of POW_A is to cut data in the vicinity of the start margin and the end margin that tend to increase in level. Subsequently, the process proceeds to step ST406.
- step ST406 the binarization prediction unit 150 obtains the value of the white and gray boundary line (WG_LINE) from the following equation (1).
- WG_LINE G_LINE + (W_LINE ⁇ G_LINE) ⁇ 0.25 (1)
- WG_LINE is rounded off to the nearest “41”. Subsequently, the process proceeds to step ST407.
- step ST407 the binarization prediction unit 150 obtains the value of the black and gray boundary line (GB_LINE) from the following equation (2).
- step ST401 when the binarization predicting unit 150 determines that there is no POW_A in which IO [Ad] and IO [Ad-1] indicate the same code, the process proceeds to step ST408.
- step ST408 the binarization prediction unit 150 detects the maximum value from all the POW data shown in FIG. 14B, and sets the maximum value to the value of the white boundary line (W_LINE). Then, the process proceeds to step ST409.
- step ST409 the binarization prediction unit 150 detects the minimum value from all the POW data shown in FIG. 14B, and sets the minimum value to the value of the black boundary line (B_LINE). Then, the process proceeds to step ST410.
- step ST410 the binarization prediction unit 150 obtains an intermediate value between W_LINE set in step ST408 and B_LINE set in step ST409, and calculates the intermediate value as a gray boundary value (G_LINE). Subsequently, the process proceeds to step ST406. In this way, when there is no POW_A in which IO [Ad] and IO [Ad-1] indicate the same sign, white, black, and gray boundary lines are obtained.
- step ST ⁇ b> 5 shown in FIG. 8 the binarization predicting unit 150 performs calculation for distributing colors between inflection points.
- IO [Ad] indicating the direction of the inflection point
- level information POW [Ad] indicating the intensity of the binarized barcode data
- white and gray boundary line values (WG_LINE) indicating the intensity of the binarized barcode data
- WG_LINE white and gray boundary line values
- black and gray Color distribution is performed using the boundary line value (GB_LINE).
- FIG. 18 is a diagram showing a table TB5 showing an example of color distribution.
- “even gray (EG)” indicating that there is an even number of single-value bars is set in COLOR [Ad] indicating color distribution.
- IO [Ad-1] and IO [Ad] satisfy the same sign. .
- FIG. 19 is a diagram illustrating conditions of a color distribution example.
- IO [Ad] is plus (+) and POW [Ad] is larger than WG_LINE
- G an odd number of grays
- IO [18] is plus (+)
- POW [18] is “50”
- OG odd gray
- FIG. 19A when [IO [Ad] is plus (+) and POW [Ad] is between WG_LINE and GB_LINE, “odd gray (OG)” is obtained. .
- FIG. 20 is a flowchart showing an example of a process for performing a calculation for allocating colors between inflection points, and is for explaining in detail the processing content of step ST5 in FIG.
- the binarization predicting unit 150 initializes the address “Ad” of BBD [Ad] of the table TB4 illustrated in FIG. 14B by setting “0”. Subsequently, the process proceeds to step ST501.
- step ST501 the binarization prediction unit 150 refers to IO [Ad], IO [Ad-1] of the table TB4 indicating the direction of the inflection point. It is determined whether IO [Ad] indicating the direction of the inflection point is equal to IO [Ad-1]. When it is determined that IO [Ad] and IO [Ad-1] are equal, the process proceeds to step ST511.
- step ST511 the binarization predicting unit 150 sets “even gray (EG)” to COLOR [Ad] indicating the color distribution in the table TB6 in FIG. 19B, and proceeds to step ST509.
- step ST501 If the binarization prediction unit 150 determines that IO [Ad] and IO [Ad-1] are not equal in step ST501 described above, the process proceeds to step ST502.
- step ST502 the binarization predicting unit 150 determines whether IO [Ad] indicating the direction of the inflection point is plus (+). When it determines with IO [Ad] being plus (+), it transfers to step ST503.
- step ST503 the binarization predicting unit 150 determines whether or not POW [Ad] indicating the intensity of the binarized barcode data signal is smaller than the black and gray boundary line value (GB_LINE). When it determines with POW [Ad] being smaller than GB_LINE, it transfers to step ST504.
- step ST504 the binarization predicting unit 150 sets “black (B)” to COLOR [Ad] indicating the color distribution in the table TB6 in FIG. 19B, and proceeds to step ST509.
- step ST503 when the binarization predicting unit 150 determines that POW [Ad] indicating the signal strength of the binarized barcode data is equal to or higher than GB_LINE, the process proceeds to step ST505.
- step ST505 the binarization predicting unit 150 sets “odd gray (OG)” to COLOR [Ad] indicating the color distribution in the table TB6 in FIG. 19B, and proceeds to step ST509.
- step ST502 when the binarization predicting unit 150 determines that IO [Ad] indicating the direction of the inflection point is not plus (+), the process proceeds to step ST506.
- step ST506 the binarization predicting unit 150 determines whether or not POW [Ad] indicating the intensity of the binarized barcode data signal is larger than the value of the boundary line between white and gray (WG_LINE). When it determines with POW [Ad] being larger than WG_LINE, it transfers to step ST507.
- step ST507 the binarization predicting unit 150 sets “white (W)” to COLOR [Ad] indicating the color distribution in the table TB6 in FIG. 19B, and proceeds to step ST509.
- step ST506 when the binarization predicting unit 150 determines that POW [Ad] indicating the signal strength of the binarized barcode data is equal to or less than WG_LINE, the binarization prediction unit 150 proceeds to step ST508.
- step ST508 the binarization predicting unit 150 sets “odd gray (OG)” to COLOR [Ad] indicating the color distribution in the table TB6 in FIG. 19B, and proceeds to step ST509.
- step ST509 the binarization prediction unit 150 changes the address “Ad” of the BBD in the table TB4 shown in FIG. 14B from the current address to the next address, and moves to step ST510.
- step ST510 the binarization predicting unit 150 determines whether there is a BBD of the next address in the table TB4 shown in FIG. If it is determined that the BBD of the next address exists, the process returns to step STST501. If it is determined that the BBD of the next address does not exist, the process proceeds to step ST6 of the flowchart shown in FIG. In this way, the colors between the inflection points are distributed.
- step ST6 of the flowchart shown in FIG. 8 the binarization predicting unit 150 refers to the table TB4 in FIG. 14B and calculates the reference minimum width.
- FIG. 21A shows a list of BBD_A extracted from the table TB4 of FIG. 14B, where BBD_A is “15”, “14”, “14”, “13”, “23”. And “12”.
- BBD_A is data in which only an even number of white and black of the reference minimum width (single-value width bar) exist, a plurality of minimum BBD_A has one white and black one-value width bar. Therefore, when a plurality of minimum BBD_A is averaged to obtain one minimum BBD_A and the averaged minimum BBD_A is halved, a reference single-value width bar can be obtained.
- FIG. 21A is a diagram listing BBD_B extracted from the table TB4 of FIG. 14B, where BBD_B is “13”, “7”, or the like.
- BBD_B has various bars such as a one-value width bar and a multi-value width bar.
- the minimum BBD_B has one white or black one-value width bar. Accordingly, a plurality of minimum BBD_B can be averaged to obtain a reference single-value width bar.
- the thinnest BBD_A has two single-value width bars, and the next thin BBD_A has four single-value width bars, so it has twice the thickness. Therefore, when obtaining the minimum BBD_A, the BBD_A having the minimum width is detected from the data of BBD_A. Since the next thin BBD_A is twice or more thick, in order not to detect this, data up to a value obtained by multiplying the minimum width BBD_A by 1.5 is extracted. The extracted result is shown as BBD_A in FIG. According to FIG. 21B, the values of BBD_A are “15”, “14”, “14”, “13”, and “12”.
- the thinnest BBD_B has one single-width bar, and the next narrowest BBD_B is a set of single-width bars or a multi-value width bar, so it is more than double Have thickness. Therefore, when obtaining the minimum BBD_B, the BBD_B having the minimum width is detected from the data in the BBD_B in FIG. Since the next thin BBD_B is twice or more thick, in order not to detect this, data up to a value obtained by multiplying the minimum width BBD_B by 1.5 is extracted. The extracted result is shown as BBD_B in FIG. According to FIG. 21B, the values of BBD_B are “7”, “7”, and “8”.
- BBD_ref_A the average value of BBD_A is “13.6”, and two single-value width bars are included. Therefore, the half value “6.8” is the reference minimum width (BBD_ref_A).
- BBD_ref_B the average value of BBD_B is “7.3”, and one single-value width bar is included. Therefore, this value “7.3” is the reference minimum width (BBD_ref_B).
- BBD_ref_A is approximately twice BBD_ref_B. It becomes the value of. In this case, when the condition of BBD_ref_A> BBD_ref_B ⁇ 1.5 is satisfied, BBD_ref_B is used as the reference minimum width.
- BBD_ref_B is approximately twice the value of BBD_ref_A. In this case, when the condition of BBD_ref_B> BBD_ref_A ⁇ 1.5 is satisfied, BBD_ref_A is used as the reference minimum width.
- the minimum width of BBD_A includes two single width bars and the minimum width of BBD_B is one single width bar, both values are valid, but if the thickness of white and black is different, BBD_ref_B The reliability becomes low. For this reason, BBD_ref_A is used. Therefore, the minimum width based on BBD_ref_B is set only when BBD_ref_A> BBD_ref_B ⁇ 1.5 is satisfied, and the minimum width based on BBD_ref_A is set otherwise. In this example, since BBD_ref_A> BBD_ref_B ⁇ 1.5 is not satisfied, the reference minimum width is “6.8” of BBD_ref_A.
- FIG. 22 is a flowchart showing an example of processing for calculating the reference minimum width, and is for explaining the processing content of step ST6 in FIG. 8 in detail.
- the binarization predicting unit 150 uses the codes IO [Ad] and IO [Ad-1] indicating the directions of the inflection points in the table TB4 shown in FIG. Only equal binary barcode data (BBD_A) is detected, and the process proceeds to step ST601.
- step ST601 the binarization predicting unit 150 determines whether there is binary barcode data (BBD_A) in which the codes of IO [Ad] and IO [Ad-1] are equal. When it determines with BBD_A existing, it transfers to step ST602.
- BBD_A binary barcode data
- step ST the binarization predicting unit 150 detects binarized barcode data (BBD_B) having different signs of IO [Ad] and IO [Ad-1] indicating the direction of the inflection point, and proceeds to step ST603. Transition.
- BBD_B binarized barcode data
- step ST603 the binarization prediction unit 150 detects the minimum width BBD_A from the extracted BBD_A data. For example, the minimum width “12” is detected from the data “BBD_A” shown in FIG. Subsequently, the process proceeds to step ST604.
- step ST604 the binarization predicting unit 150 extracts up to data having a value obtained by multiplying the minimum width BBD_A by 1.5 (for example, 18 that is 1.5 times the minimum width 12). For example, according to FIG. 21B, the values of BBD_A are “15”, “14”, “14”, “13”, and “12”. Subsequently, the process proceeds to step ST605.
- the binarization predicting unit 150 calculates a reference minimum width from BBD_A.
- the value of BBD_A shown in FIG. 21B is averaged to obtain the minimum BBD_A, and the averaged minimum BBD_A is halved to calculate a reference single value width bar.
- the reference minimum width (BBD_ref_A) is “6.8”.
- BBD_ref_A may be calculated by other methods.
- the maximum width may be obtained from BBD_A shown in FIG. 21B, and the maximum width BBD_A and the minimum width BBD_A in step ST603 may be obtained by averaging. Subsequently, the process proceeds to step ST606.
- step ST606 the binarization prediction unit 150 detects the BBD_B having the minimum width from the BBD_B data extracted in step ST602 described above. For example, the minimum width “7” is detected from the data “BBD_B” shown in FIG. Subsequently, the process proceeds to step ST607.
- step ST607 the binarization predicting unit 150 extracts up to data having a value obtained by multiplying the minimum width BBD_B by 1.5 (for example, 10.5 that is 1.5 times the minimum width 7). For example, according to (B) of FIG. 21, the values of BBD_B are “7”, “7”, and “8”. Subsequently, the process proceeds to step ST608.
- the binarization prediction unit 150 calculates a reference minimum width from BBD_B.
- the value of BBD_B shown in FIG. 21B is averaged to obtain the minimum BBD_B, and the reference single-value width bar is calculated.
- the reference minimum width (BBD_ref_B) is “7.3”.
- BBD_ref_B may be calculated by other methods.
- the maximum width may be obtained from BBD_B shown in FIG. 21B, and the maximum width BBD_B and the minimum width BBD_B in step ST606 may be obtained by averaging. Subsequently, the process proceeds to step ST609.
- step ST609 the binarization prediction unit 150 determines whether or not the condition of BBD_ref_A> BBD_ref_B ⁇ 1.5 is satisfied.
- the process proceeds to step ST610.
- step ST610 the binarization prediction unit 150 sets BBD_ref_B as the reference minimum width. Also, in step ST609 described above, the binarization prediction unit 150 proceeds to step ST611 when the condition of BBD_ref_A> BBD_ref_B ⁇ 1.5 is not satisfied. In step ST611, the binarization prediction unit 150 sets BBD_ref_A as the reference minimum width.
- step ST601 when the binarization prediction unit 150 determines that there is no binarized barcode data (BBD_A) in which the codes of IO [Ad] and IO [Ad-1] are equal, the process proceeds to step ST612. To do.
- BBD_A binarized barcode data
- step ST612 the binarization predicting unit 150 detects a BBD having the minimum width from all the binarized barcode data (BBD), and proceeds to step ST613.
- step ST613 the binarization predicting unit 150 extracts data up to a value obtained by multiplying the minimum width BBD by 1.5, and proceeds to step ST614.
- step ST614 the binarization prediction unit 150 calculates a reference minimum width from the BBD extracted in step ST613. For example, the maximum width is obtained from the extracted BBDs, and the reference minimum width (BBD_ref) is calculated by averaging the maximum width BBD and the minimum width BBD of step ST612. Subsequently, the process proceeds to step ST615. In step ST615, the binarization prediction unit 150 sets BBD_ref as the reference minimum width, and proceeds to step ST7 of the flowchart shown in FIG. In this way, the reference minimum width is calculated.
- BBD_ref the reference minimum width
- step ST7 shown in FIG. 8 the binarization prediction unit 150 performs a gray bar division process.
- gray bar division processing is performed.
- COLOR [Ad] indicating the color distribution of the table TB6 is “white (W)” and “black (B)”, no division is performed.
- COLOR [Ad] is “Even Gray (EG)”, it is divided into an even number.
- COLOR [Ad] is “odd gray (OG)”, it is divided into odd numbers.
- FIG. 23 is a figure which shows the example which divides
- FIG. 23 is a diagram illustrating an example in which BBD [Ad] indicating gray is divided into even numbers.
- FIG. 24A shows an example of a table TB7 showing an example of gray bar division. As shown in the table TB7 of FIG. 24A, the division number Div_n [Ad] of BBD [Ad] in which COLOR [Ad] indicates “even gray (EG)” or “odd gray (OG)” is obtained.
- FIG. 24 is a table TB8 indicating the divided binary barcode data F_BBD.
- F_BBD of the table TB8 shown in FIG. 24B is obtained by dividing the binarized barcode data BBD [Ad] by the division number Div_n [Ad]. For example, “15” of BBD [0] of the table TB8 is divided by the division number Div_n [2] to obtain the value “7.5” of F_BBD.
- F_BBD of BBD [Ad] in which COLOR [Ad] indicates “even gray (EG)” or “odd gray (OG)” is obtained.
- FIG. 25 is a table TB9 in which the minimum resolution of the divided binary barcode data F_BBD is normalized to “1”. According to table TB9 shown in FIG. 25, “reference” is set to “1.0” indicating a one-value width bar or “2.5” indicating a multi-value width bar, and a barcode is reproduced.
- FIG. 26 is a flowchart for carrying out the gray bar dividing process, and is for explaining in detail the processing content of step ST7 in FIG.
- the binarization prediction unit 150 initializes the address “Ad” of the table TB6 in FIG. 19B by setting “0”. Subsequently, the process proceeds to step ST701.
- step ST701 the binarization predicting unit 150 refers to the table TB6 in FIG. 19B and determines whether or not COLOR [Ad] indicating the color distribution is white (W). When it determines with COLOR [Ad] not being white (W), it transfers to step ST702.
- the binarization predicting unit 150 refers to the table TB6 in FIG. 19B and determines whether or not COLOR [Ad] indicating the color distribution is black (B). When it determines with COLOR [Ad] not being black (B), it transfers to step ST703.
- step ST703 the binarization prediction unit 150 refers to the table TB6 in FIG. 19B and determines whether or not COLOR [Ad] indicating the color distribution is an even gray (EG). . If it is determined that COLOR [Ad] is an even gray (EG), the process proceeds to step ST704.
- step ST706 the binarization predicting unit 150 advances the address of the binarized barcode data to the next address, and proceeds to step ST707.
- step ST707 the binarization prediction unit 150 divides the binarized barcode data BBD [Ad] by the division number Div_n [Ad] to calculate the divided binarized barcode data F_BBD. For example, “15” of BBD [0] in the table TB8 in FIG. 24B is divided by the division number Div_n [2] to calculate the value “7.5” of F_BBD. Subsequently, the process proceeds to step ST708.
- step ST708 the binarization prediction unit 150 determines whether there is a BBD of the next address in the table TB6 illustrated in FIG. When it is determined that the BBD of the next address exists, the process returns to step STST701.
- step ST703 the binarization predicting unit 150 refers to the table TB6 in FIG. 19B and determines that COLOR [Ad] indicating the color distribution is an odd gray (OG). The process proceeds to step ST709.
- the binarization prediction unit 150 refers to the table TB6 in FIG. 19B, and COLOR [Ad] indicating the color distribution is white (W) or black (B). When it determines with there, it transfers to step ST711.
- step ST711 since the binarized prediction unit 150 does not divide the binarized barcode data BBD, “1” is set to the division number Div_n [Ad] of the table TB7 shown in FIG. Move on to ST706.
- step ST708 if the binarization predicting unit 150 determines that there is no BBD of the next address in the table TB6 shown in FIG. 19B, the process proceeds to step ST8 shown in FIG.
- step ST8 of FIG. 8 a decoding process is performed.
- the information represented by the barcode is decoded from “reference” in the table TB9 shown in FIG.
- the level information indicating the intensity of the signal between the inflection points is obtained, and the binarized bar code is based on the level information.
- the code data is classified into white having a high intensity of reflected light, black having a low intensity of reflected light, and gray indicating approximately halfway between white and black. Then, the binarized bar code data indicated by gray is divided by the binarized bar code data having the minimum width to divide the gray binarized bar code data to obtain bar code information.
- FIG. 27 is a block diagram illustrating a configuration example of the code scanner 200 according to the second embodiment.
- the code scanner 200 includes an optical head unit 201 which is an example of an image capturing unit and a binarization prediction unit 204 having a luminance histogram creation unit.
- the optical head unit 201 includes a lens 202 and a CMOS image sensor (hereinafter referred to as a CMOS 203) which is an example of a solid-state imaging device.
- CMOS 203 CMOS image sensor
- the lens 202 is an optical lens, for example, and includes a PDF 417 shown in FIG. 28A, a QR code (registered trademark) shown in FIG. 28B, and RSS) Expanded shown in FIG.
- the image data of the dimension code is taken into the optical head unit 201.
- the lens 202 is provided with a CMOS 203.
- the CMOS 203 captures the image data taken in by the lens 202, converts the captured image data from analog image data to image data represented by digital luminance values, and outputs it to the binarization prediction unit 204 as an output signal. Output.
- the binarization prediction unit 204 measures the luminance value of the image data included in the output signal output from the CMOS 203 for each vertical and horizontal line.
- the binarization prediction unit 204 creates a luminance histogram shown in FIG. 29 from a luminance value measured for each line by a luminance histogram creation unit (not shown).
- FIG. 29 is a diagram showing an example of a luminance histogram when the vertical axis is the luminance value and the horizontal axis is the position x.
- the binarization prediction unit 204 detects the inflection points I1, I2, and I3 of the two-dimensional code from the luminance histogram created by the luminance histogram creation unit, and obtains level information indicating the signal strength between the inflection points. Based on the level information, the binarized code data is classified into white having a high luminance value, black having a low luminance value, and gray indicating a substantially intermediate between white and black. Then, the binarized code data indicated by gray is divided by the binarized code data having the minimum width to divide the gray binarized code data to obtain a binarized signal of the image data.
- the binarization prediction unit 204 obtains a binarized signal for the two-dimensional code by performing the above-described processing for each vertical and horizontal line. This binarized signal is decoded by a decoding circuit (not shown) in the subsequent stage and read as a code symbol of a two-dimensional code.
- the detailed configuration of the binarization prediction unit 204 is the same as that of the binarization prediction unit 150 except that a luminance histogram creation unit is provided instead of the differentiation processing unit 153 of the binarization prediction unit 150 described in FIG. Since there is, explanation is omitted.
- an image including a two-dimensional code is captured, and the image is converted into image data represented by a digital luminance value.
- a luminance histogram is created by measuring the luminance value of the data for each vertical and horizontal line.
- An inflection point is detected from the created luminance histogram, binarized code symbol data indicating the width between the inflection points and a change amount of the inflection point are obtained, and a signal intensity between the inflection points is indicated.
- Ask for level information Based on the obtained level information, the binarized code symbol data is classified into white having a high luminance value, black having a low luminance value, and gray indicating a substantially intermediate between white and black. Then, the binarized code symbol data indicated by the gray information is divided by the binarized code symbol data having the minimum width, and the binarized code symbol data of the gray information is divided to obtain the code symbol information.
- the present invention is extremely suitable for application to a code scanner that receives reflected light of light irradiated toward a barcode or a two-dimensional code and reads code information.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Character Input (AREA)
Abstract
L'objectif est de permettre la reconnaissance correcte d'un symbole de code à partir de la forme d'onde de signal d'un symbole de code dégradé, et d'améliorer la précision de lecture pour le symbole de code. Des informations de niveau indiquant l'intensité d'un signal entre des points d'inflexion sont obtenues, et des données de symbole de code de binarisation sont classées sur la base desdites informations de niveau en tant que couleur blanche avec une intensité élevée de lumière réfléchie, couleur noire avec une faible intensité de lumière réfléchie et couleur grise représentant le point milieu approximatif entre la couleur blanche et la couleur noire. Ensuite, les données de symbole de code de binarisation indiquées par la couleur grise sont divisées par des données de symbole de code de binarisation de largeur minimum pour classer les données de symbole de code de binarisation pour la couleur grise et obtenir des informations de symbole de code. Ainsi, les données de symbole de code de binarisation pour la couleur grise, qui représentent le point milieu approximatif entre la couleur blanche et la couleur noire, peuvent être reconnues. Par conséquent, un symbole de code peut être reconnu correctement à partir de la forme d'onde de signal d'un symbole de code dégradé.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010549459A JP5349504B2 (ja) | 2009-02-05 | 2010-02-01 | 光学的情報読取装置及び光学的情報読取方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009-025172 | 2009-02-05 | ||
JP2009025172 | 2009-02-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010090159A1 true WO2010090159A1 (fr) | 2010-08-12 |
Family
ID=42542053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/051365 WO2010090159A1 (fr) | 2009-02-05 | 2010-02-01 | Dispositif de lecture d'informations optiques et procédé de lecture d'informations optiques |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5349504B2 (fr) |
WO (1) | WO2010090159A1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013175063A (ja) * | 2012-02-24 | 2013-09-05 | Tac:Kk | 飲食店用券売機を用いた料理提供システム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02129776A (ja) * | 1988-11-10 | 1990-05-17 | Eastman Kodatsuku Japan Kk | バーコード読取装置 |
JP2000357205A (ja) * | 1999-06-14 | 2000-12-26 | Fujitsu Ltd | バーコード読取装置及びバーコード読取方法 |
WO2004093433A1 (fr) * | 2003-04-15 | 2004-10-28 | Fujitsu Limited | Dispositif et procede de reconnaissance de code |
JP2008535058A (ja) * | 2005-03-23 | 2008-08-28 | マイクロスキャン・システムズ・インコーポレーテッド | 高密度光学シンボルの2段階デコーディングのための装置とプロセス |
-
2010
- 2010-02-01 JP JP2010549459A patent/JP5349504B2/ja not_active Expired - Fee Related
- 2010-02-01 WO PCT/JP2010/051365 patent/WO2010090159A1/fr active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02129776A (ja) * | 1988-11-10 | 1990-05-17 | Eastman Kodatsuku Japan Kk | バーコード読取装置 |
JP2000357205A (ja) * | 1999-06-14 | 2000-12-26 | Fujitsu Ltd | バーコード読取装置及びバーコード読取方法 |
WO2004093433A1 (fr) * | 2003-04-15 | 2004-10-28 | Fujitsu Limited | Dispositif et procede de reconnaissance de code |
JP2008535058A (ja) * | 2005-03-23 | 2008-08-28 | マイクロスキャン・システムズ・インコーポレーテッド | 高密度光学シンボルの2段階デコーディングのための装置とプロセス |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013175063A (ja) * | 2012-02-24 | 2013-09-05 | Tac:Kk | 飲食店用券売機を用いた料理提供システム |
Also Published As
Publication number | Publication date |
---|---|
JP5349504B2 (ja) | 2013-11-20 |
JPWO2010090159A1 (ja) | 2012-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6073849A (en) | Electronic edge detection system using a second derivative signal processor | |
CN101874250A (zh) | 增强型虚拟扫描线处理 | |
EP2507741B1 (fr) | Dispositif de balayage à base d'imagerie comprenant une recherche de bordure pour acquisition d'image | |
US8718370B2 (en) | Optical information-reading apparatus and optical information-reading method | |
JP2004185058A (ja) | バーコード認識方法、および認識用デコード処理装置 | |
US20080277471A1 (en) | Bar-code reading apparatus and bar-code reading method | |
JP5676183B2 (ja) | バーコード読取装置およびバーコード読取方法 | |
US9262665B2 (en) | Decoding method and decoding processing device | |
JP5349504B2 (ja) | 光学的情報読取装置及び光学的情報読取方法 | |
US10460142B2 (en) | Barcode identification method for improving decoding reliability by correcting image distortion | |
EP1797521B1 (fr) | Generateur de signal de seuil et procede de determination de seuil permettant de detecter un bord fonde sur un signal de ligne de balayage egalise differencie | |
JP5121685B2 (ja) | バーコード読取装置、バーコード読取プログラム、バーコード読取方法 | |
JP5219943B2 (ja) | 二値化方法および二値化回路 | |
JP2008140255A (ja) | バーコード読取装置およびバーコード読取方法 | |
JP2011159178A (ja) | 光学的情報読取装置、光学的情報読取方法及びデジタルフィルタの作成方法 | |
JP2011191957A (ja) | バーコード情報読取方法及びバーコード情報読取装置 | |
WO2014091880A1 (fr) | Lecteur de code à barres, procédé de lecture de code à barres et programme de lecture de code à barres | |
JP5453594B2 (ja) | シンボル情報読取装置及びシンボル情報読取方法 | |
JP4107237B2 (ja) | 光学的情報読取装置の境界位置特定方法 | |
JP2015176425A (ja) | バーコード読取装置、バーコード読取方法及びバーコード読取プログラム | |
JP6083829B2 (ja) | バーコード読取装置、バーコード読取方法及びバーコード読取プログラム | |
JP5221671B2 (ja) | 設定可能な通信インターフェースのための方法およびシステム | |
JP5441200B1 (ja) | バーコード読取装置及びバーコード読取方法 | |
JP5284115B2 (ja) | バーコード読取装置 | |
JPH0668776B2 (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: 10738491 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2010549459 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10738491 Country of ref document: EP Kind code of ref document: A1 |