JP2013045149A - Information code reader - Google Patents

Information code reader Download PDF

Info

Publication number
JP2013045149A
JP2013045149A JP2011180510A JP2011180510A JP2013045149A JP 2013045149 A JP2013045149 A JP 2013045149A JP 2011180510 A JP2011180510 A JP 2011180510A JP 2011180510 A JP2011180510 A JP 2011180510A JP 2013045149 A JP2013045149 A JP 2013045149A
Authority
JP
Japan
Prior art keywords
code
information
information code
angle
cell size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011180510A
Other languages
Japanese (ja)
Other versions
JP5601291B2 (en
Inventor
Kenichi Yoshida
賢一 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2011180510A priority Critical patent/JP5601291B2/en
Publication of JP2013045149A publication Critical patent/JP2013045149A/en
Application granted granted Critical
Publication of JP5601291B2 publication Critical patent/JP5601291B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To provide an information coder reader which rarely fails to read information from an information code in an image.SOLUTION: Corner detection processing is performed to a picked-up image (S12), and candidates for corners of an information code are extracted on the basis of edge line vectors and positions from a plurality of detected corners (S14). Furthermore, estimated cell size is calculated for each of information code corner candidates (S16). Then, two to four candidates are selected as information code corners from the information code corner candidates on the basis of degrees of similarity of the estimated cell size, and the code outer shape of an information code D is estimated on the basis of the information code corners (S18).

Description

本発明は、カメラによって情報コードを撮像して情報コードから情報を読み取る情報コード読み取り装置に関し、特に、撮像した画像における情報コードの位置を特定する技術に関する。   The present invention relates to an information code reader that captures an information code by a camera and reads information from the information code, and more particularly to a technique for specifying the position of the information code in a captured image.

カメラによって情報コードを撮像し、撮像した画像を解析することで情報コードから情報を読み取る情報コード読み取り装置が多数知られている。情報コード読み取り装置において画像を解析する場合には、処理の高速化を図るために、撮像した画像における情報コードの位置を特定し、情報コードの位置を含む画像の一部分に対してデコード処理を行なうことが多い。   There are many known information code readers that capture an information code with a camera and analyze the captured image to read information from the information code. When analyzing an image in an information code reader, in order to speed up the processing, the position of the information code in the captured image is specified, and a decoding process is performed on a part of the image including the position of the information code. There are many cases.

情報コードの位置を特定する方法としては、情報コードに含まれる特徴的なパターンを画像の全体から探す方法が広く知られている。たとえば、情報コードがQRコード(登録商標)である場合、QRコードは切り出しシンボル(ファインダパターン)を含んでいるので、まず、この切り出しシンボルを画像全体から探す処理を行なう。   As a method of specifying the position of the information code, a method of searching for a characteristic pattern included in the information code from the entire image is widely known. For example, when the information code is a QR code (registered trademark), since the QR code includes a cut-out symbol (finder pattern), first, processing for searching the cut-out symbol from the entire image is performed.

また、特許文献1には、二次元コード画像を取り囲む包絡線を作成することで、二次元コードの位置を特定する技術が開示されている。詳しくは、特許文献1では、二次元コード画像を二値化処理し、ノイズ取りをした後、二値化処理した画像において最も外周に存在する黒セルを見つけて、順次隣接する黒セル間を接続することで、包絡線を作成している(特許文献1の段落0016)。   Patent Document 1 discloses a technique for specifying the position of a two-dimensional code by creating an envelope surrounding a two-dimensional code image. Specifically, in Patent Document 1, after binarizing a two-dimensional code image and removing noise, a black cell existing at the outermost periphery is found in the binarized image, and a space between adjacent black cells is sequentially detected. By connecting, an envelope is created (paragraph 0016 of Patent Document 1).

2004−362053号公報2004-362053

特許文献1では、包絡線を作成するために、二次元コード画像の最も外周に存在する黒セルを見つけなければならないが、二次元コード画像の最も外周をどのようにして決定するかは記載されていない。実際には、二次元コードの位置を特定する前の段階で、黒色の部分がセルであるかどうかを判断することは困難である。   In Patent Document 1, in order to create an envelope, it is necessary to find a black cell that is present at the outermost periphery of the two-dimensional code image, but it is described how to determine the outermost periphery of the two-dimensional code image. Not. Actually, it is difficult to determine whether or not the black portion is a cell before the position of the two-dimensional code is specified.

また、QRコードにおけるファインダパターンなど、特徴的なパターンを画像の全体から探す方法では、汚れや鏡面反射などにより特徴的なパターンを探し出すことができなかった場合、情報コードの位置を特定することができない。従って、たとえば、鏡面反射が、ファインダパターン部分等の一部分のみであり、デコード可能な画像であっても、ファインダパターンが検出できないことによって、情報が読み取れない結果となってしまう。   In addition, in the method of searching for a characteristic pattern such as a finder pattern in the QR code from the entire image, if the characteristic pattern cannot be found due to dirt or specular reflection, the position of the information code may be specified. Can not. Therefore, for example, the specular reflection is only a part of the finder pattern portion and the like, and even if the image is decodable, the finder pattern cannot be detected, resulting in a result that information cannot be read.

本発明は、この事情に基づいて成されたものであり、その目的とするところは、画像内における情報コードから情報が読み取れないことが少ない情報コード読み取り装置を提供することにある。   The present invention has been made based on this situation, and an object of the present invention is to provide an information code reading apparatus in which information cannot be read from an information code in an image.

その目的を達成するための請求項1記載の発明は、
(A)カメラを備え、前記カメラにより情報コードの画像を撮像し、撮像した画像に基づいて情報コードから情報を読み取る情報コード読み取り装置であって、
(B)前記カメラで撮影した画像から、コーナーを少なくとも含む特徴点を検出する特徴点検出手段と、
(C)前記特徴点検出手段で検出した特徴点から、特徴点を通るエッジ線ベクトルおよび特徴点の位置に基づいて、前記情報コードの角の候補となる情報コード角候補を抽出する情報コード角候補抽出手段と、
(D)抽出した情報コード角候補の周囲の所定範囲の輝度変化に基づいて、推定セルサイズを、情報コード角候補毎に算出する角候補情報算出手段と、
(E)前記角候補情報算出手段で算出した推定セルサイズの類似の程度に基づいて、情報コード角候補から2〜4つの候補を情報コード角として選択し、選択した情報コード角に基づいて、前記情報コードの外形となる四角形状のコード外形を推定する外形推定手段と、
(F)その外形推定手段で推定したコード外形の内部の複数の点においてエッジ角度を決定し、決定した複数のエッジ角度に基づいて、前記情報コードの基準角度であるコード軸角度を決定するコード軸角度決定手段と、
(G)前記外形推定手段で推定したコード外形の内部であって、且つ、互いに直交する線上での白黒変化数および白黒変化幅を算出し、算出した白黒変化数および白黒変化幅に基づいて、セルサイズを決定するセルサイズ決定手段と、
(H)前記外形推定手段で推定したコード外形、前記コード軸角度決定手段で決定したコード軸角度、前記セルサイズ決定手段で決定したセルサイズに基づいて、情報コードのデコードを行なうデコード処理手段と、を含むことを特徴とする。
In order to achieve the object, the invention according to claim 1
(A) An information code reading device that includes a camera, images an information code by the camera, and reads information from the information code based on the captured image,
(B) feature point detecting means for detecting a feature point including at least a corner from an image photographed by the camera;
(C) Information code angle for extracting information code angle candidates that are candidates for the information code corners based on the edge line vector passing through the feature points and the positions of the feature points from the feature points detected by the feature point detection means Candidate extraction means;
(D) Corner candidate information calculation means for calculating an estimated cell size for each information code angle candidate based on a luminance change in a predetermined range around the extracted information code angle candidate;
(E) Based on the degree of similarity of the estimated cell size calculated by the corner candidate information calculation means, 2 to 4 candidates are selected as information code angles from the information code angle candidates, and based on the selected information code angles, An outer shape estimating means for estimating a quadrangular code outer shape as an outer shape of the information code;
(F) A code that determines an edge angle at a plurality of points inside the code outline estimated by the outline estimation means, and determines a code axis angle that is a reference angle of the information code based on the determined plurality of edge angles Shaft angle determining means;
(G) Calculate the black and white change number and the black and white change width inside the code outline estimated by the external shape estimation means and on lines orthogonal to each other, and based on the calculated black and white change number and black and white change width, Cell size determining means for determining the cell size;
(H) decoding processing means for decoding an information code based on the code outer shape estimated by the outer shape estimating means, the code axis angle determined by the code axis angle determining means, and the cell size determined by the cell size determining means; , Including.

本発明では、情報コードの位置を特定するために、情報コード角候補抽出手段において、情報コードの角の候補(情報コード角候補)を抽出している。この情報コード角候補を抽出するために、カメラで撮像した画像から特徴点を検出する。そして、この特徴点を通るエッジ線ベクトルおよび特徴点の位置に基づいて情報コード角候補を抽出している。   In the present invention, in order to specify the position of the information code, the information code angle candidate extracting means extracts information code angle candidates (information code angle candidates). In order to extract the information code angle candidates, feature points are detected from the image captured by the camera. Information code angle candidates are extracted based on the edge line vectors passing through the feature points and the positions of the feature points.

画像から検出できる特徴点には、情報コードの外形を規定する角のみならず、情報コード内のセルによって形成される角や、角以外の部位も含まれる。しかし、情報コード角候補抽出手段では、エッジ線ベクトルおよび特徴点の位置に基づいて特徴点から情報コード角候補を抽出しているので、角以外の部位や、情報コード内の角は抽出されにくい。したがって、情報コード角候補は、ある程度の数に絞られることになる。   The feature points that can be detected from the image include not only corners that define the outer shape of the information code, but also corners formed by cells in the information code and parts other than the corners. However, since the information code angle candidate extracting means extracts the information code angle candidates from the feature points based on the edge line vectors and the positions of the feature points, it is difficult to extract a portion other than the corners or corners in the information code. . Therefore, the information code angle candidates are narrowed down to a certain number.

しかし、撮像範囲内に情報コード以外にも角形状を有する他の図形(文字など)が存在すれば、その図形上の角も、情報コード角候補として抽出される可能性がある。そこで、さらに、情報コード角候補の周囲の輝度変化に基づいて、情報コード角候補毎に推定セルサイズを算出する。情報コード角候補のうち、本当の情報コード角については、その周囲の輝度変化は、情報コードのセルサイズを反映している。一方、情報コード角候補として抽出されたが、実際には情報コード角ではない候補(たとえば、上述の図形の角など)については、その周囲の輝度変化は、情報コードのセルサイズを反映しているわけではないので、実際の情報コード角とは大きく異なる。したがって、情報コード角候補の周囲の輝度変化に基づいて算出する推定セルサイズは、情報コード角である場合と、そうでない場合とで大きく異なる。換言すれば、情報コード角候補のうち、同じ情報コードの外形を規定する角であるものについては、推定セルサイズは互いに類似する。そこで、外形推定手段では、推定セルサイズの類似の程度に基づいて、情報コード角候補から2〜4つの候補を情報コード角として選択する。そして、これをもとに情報コードの外形となる四角形状のコード外形を推定する。このように、本発明では、ファインダパターンなどの特徴パターンを検出することなく、コード外形を推定していることから、特徴パターンが検出できない画像であっても、コード外形を推定することができる。しかも、情報コード角を必ず4つ用いるのではなく、2つや3つの情報コード角であっても、それらからコード外形を推定する。これらのことにより、従来よりも、コード外形を決定できない場合が少なくなる。   However, if there is another figure (character or the like) having a corner shape in addition to the information code in the imaging range, the corner on the figure may be extracted as an information code corner candidate. Therefore, the estimated cell size is further calculated for each information code angle candidate based on the luminance change around the information code angle candidate. Among the information code angle candidates, for the real information code angle, the luminance change around it reflects the cell size of the information code. On the other hand, for candidates that are extracted as information code corner candidates but are not actually information code corners (for example, the corners of the above-mentioned figure), the luminance change around them reflects the cell size of the information code. Because it is not, it is very different from the actual information code angle. Accordingly, the estimated cell size calculated based on the luminance change around the information code angle candidate is greatly different between the case of the information code angle and the case of not being the information code angle. In other words, the estimated cell sizes of information code angle candidates that are the angles that define the outer shape of the same information code are similar to each other. Therefore, the outer shape estimation means selects 2 to 4 candidates as information code angles from the information code angle candidates based on the degree of similarity of the estimated cell sizes. Based on this, a quadrangular code outer shape that is the outer shape of the information code is estimated. As described above, in the present invention, the code outline is estimated without detecting a feature pattern such as a finder pattern. Therefore, the code outline can be estimated even for an image in which the feature pattern cannot be detected. In addition, four information code angles are not necessarily used, and the code outer shape is estimated from two or three information code angles. As a result, the number of cases in which the outer shape of the code cannot be determined is smaller than in the past.

さらに、コード軸角度およびセルサイズも、特徴パターンを利用せずに決定する。すなわち、コード軸角度は、コード外形の内部の複数の点においてエッジ角度を決定し、決定した複数のエッジ角度をもとにして決定している。また、セルサイズも、コード外形の内部の互いに直交する線上での白黒変化数および白黒変化幅に基づいて決定している。デコード処理手段では、このようにして決定したコード外形、コード軸角度、セルサイズに基づいてデコード処理を行なう。よって、特徴パターンの検出ができない画像であってもデコード処理が可能となるので、情報コードが読み取れないことが少なくなる。   Further, the code axis angle and the cell size are also determined without using the feature pattern. That is, the code axis angle is determined based on the determined edge angles at the plurality of points inside the code outer shape. The cell size is also determined based on the number of black and white changes and the black and white change width on mutually orthogonal lines inside the code outline. The decoding processing means performs decoding processing based on the code outline, code axis angle, and cell size determined in this way. Therefore, even if the image cannot detect the feature pattern, the decoding process can be performed, so that it is less likely that the information code cannot be read.

請求項2記載の発明では、前記コード軸角度決定手段で複数のエッジに対して決定したエッジ角度に基づいて定まるエッジ角度の度数分布が、一次元コードにおけるエッジ角度の度数分布および二次元コードにおけるエッジ角度の度数分布のいずれであるかを判定することにより、前記情報コードが一次元コードか二次元コードかを判定するコード種判定手段を備え、
前記デコード処理手段は、前記コード種判定手段の判定結果に基づいて、一次元コード用のデコードアルゴリズムおよび二次元コード用のデコードアルゴリズムのいずれを先に用いるかを決定することを特徴とする。
In the invention according to claim 2, the edge angle frequency distribution determined based on the edge angles determined for the plurality of edges by the code axis angle determination means is the edge angle frequency distribution in the one-dimensional code and the two-dimensional code. A code type determining means for determining whether the information code is a one-dimensional code or a two-dimensional code by determining which of the frequency distributions of the edge angle;
The decoding processing means determines which one of the one-dimensional code decoding algorithm and the two-dimensional code decoding algorithm to use first based on the determination result of the code type determining means.

一次元コードは、線が平行に一方向に並んでいるだけであるので、一次元コードにおけるエッジ角度の度数分布はある一つの角度範囲に度数が集中する。それに対して、二次元コードは、縦方向および横方向の2方向にセルが配置されていることから、二次元コードにおけるエッジ角度の度数分布は、度数が集中する角度範囲が少なくとも2つ存在する。従って、エッジ角度の度数分布を用いることで、コード種を判定することができる。この判定したコード種に基づいて、一次元コード用のデコードアルゴリズムおよび二次元コード用のデコードアルゴリズムのいずれを先に用いるかを決定するので、デコードを高速に行なうことができる。   Since the one-dimensional code has only lines arranged in one direction in parallel, the frequency distribution of edge angles in the one-dimensional code concentrates the frequency in one angle range. On the other hand, since the two-dimensional code has cells arranged in two directions, the vertical direction and the horizontal direction, the frequency distribution of edge angles in the two-dimensional code has at least two angular ranges in which the frequencies are concentrated. . Therefore, the code type can be determined by using the frequency distribution of the edge angle. Based on the determined code type, it is determined which one of the decoding algorithm for the one-dimensional code and the decoding algorithm for the two-dimensional code is used first, so that the decoding can be performed at high speed.

請求項3記載の発明では、前記カメラで撮影した画像から、画素情報を一定画素間隔で抽出した粗画像を作成する粗画像作成手段を備え、
前記特徴点検出手段および前記情報コード角候補抽出手段は、粗画像作成手段で作成した粗画像を用いて前記特徴点を検出するとともに、前記情報コード角候補を抽出することを特徴とする。
In invention of Claim 3, it comprises the rough image creation means which creates the rough image which extracted pixel information from the image photoed with the camera at fixed pixel intervals,
The feature point detection means and the information code angle candidate extraction means detect the feature points using the coarse image created by the coarse image creation means, and extract the information code angle candidates.

このように粗画像を用いて特徴点の検出を行うと、情報コードの内部の小さな特徴点など、不要な特徴点が検出されにくくなることから、情報コード角候補に含まれる不要な候補が少なくなる。その結果、情報コード角の選択が容易になる。   When feature points are detected using a coarse image in this way, unnecessary feature points such as small feature points inside the information code are difficult to detect, so there are few unnecessary candidates included in information code angle candidates. Become. As a result, the information code angle can be easily selected.

上記請求項3記載の発明において、粗画像の粗さは、請求項4、5のようにして決定することができる。請求項4では、情報コード読み取り時におけるセルサイズを記憶するセルサイズ記憶手段を備え、前記粗画像作成手段は、前記セルサイズ記憶手段に記憶されている前回の情報コード読み取り時におけるセルサイズに基づいて、作成する粗画像の粗さを決定する。請求項5では、ユーザがセルサイズを入力するためのセルサイズ入力手段を備え、前記粗画像作成手段は、前記セルサイズ入力手段に入力されたセルサイズに基づいて、作成する粗画像の粗さを決定する。   In the third aspect of the present invention, the roughness of the coarse image can be determined as in the fourth and fifth aspects. According to a fourth aspect of the present invention, cell size storage means for storing the cell size at the time of reading the information code is provided, and the coarse image creating means is based on the cell size at the time of reading the previous information code stored in the cell size storage means. The roughness of the rough image to be created is determined. In Claim 5, the cell size input means for a user to input a cell size is provided, The said rough image production | generation means is the roughness of the coarse image produced based on the cell size input into the said cell size input means. To decide.

請求項6記載の発明では、前記外形推定手段は、情報コード角候補から選択した情報コード角に基づいて推定したコード外形よりも、前記角候補情報算出手段で算出した推定セルサイズ分だけ大きい範囲を指定範囲として、前記推定セルサイズに基づいて定まる大きさの膨張フィルタをかけ、膨張フィルタをかけた後の上記指定範囲の画像を用いてコーナー検出を行なうことで、情報コードの外形を再決定することを特徴とする。   In the invention according to claim 6, the outer shape estimating means has a range larger than the code outer shape estimated based on the information code angle selected from the information code angle candidates by the estimated cell size calculated by the candidate angle information calculating means. Is used as a specified range, an expansion filter of a size determined based on the estimated cell size is applied, and corner detection is performed using the image of the specified range after the expansion filter is applied, thereby re-determining the outer shape of the information code It is characterized by doing.

このように、膨張フィルタをかけることにより、情報コード内は、原画像よりも塗りつぶされた状態に近い画像となり、情報コード内の小さなコーナーが減少する。この膨張フィルタをかけた後の画像を用いてコーナー検出を行うことから、情報コードの内の小さなコーナーが検出されにくくなり、精度良く、情報コードの外形を規定する4つのコーナーを検出することができ、ひいては、情報コードの読取精度が向上する。   In this way, by applying the expansion filter, the information code becomes an image that is closer to being filled than the original image, and small corners in the information code are reduced. Since corner detection is performed using the image after applying the expansion filter, it is difficult to detect small corners in the information code, and it is possible to accurately detect four corners that define the outer shape of the information code. As a result, the reading accuracy of the information code is improved.

前述のコード種判定手段は、たとえば、請求項7、8のようにして、一次元コードにおけるエッジ角度の度数分布および二次元コードにおけるエッジ角度の度数分布のいずれであるかを判定する。請求項7では、前記コード種判定手段は、前記エッジ角度の度数分布において、最大度数を中心とする所定角度範囲内の度数の割合が、予め設定した割合以上である場合に、その度数分布は一次元コードの度数分布であると判定する。また、請求項8では、前記コード種判定手段は、前記コード外形を垂直走査軸方向に横切り、前記コード外形の一方の端から他方の端までのエッジ角度の度数分布と、前記コード外形を水平走査軸方向に横切り、前記コード外形の一方の端から他方の端までのエッジ角度の度数分布との一致度が一定値以下である場合に、その度数分布は一次元コードの度数分布であると判定する。   For example, as described in claims 7 and 8, the above-described code type determination means determines whether the frequency distribution of the edge angle in the one-dimensional code or the frequency distribution of the edge angle in the two-dimensional code. According to a seventh aspect of the present invention, in the frequency distribution of the edge angle, the code type determining unit, when the frequency ratio within a predetermined angle range centered on the maximum frequency is equal to or higher than a predetermined ratio, It is determined that the frequency distribution is a one-dimensional code. According to another aspect of the present invention, the code type determination unit traverses the code outline in a vertical scanning axis direction, and a frequency distribution of edge angles from one end of the code outline to the other end, and the code outline horizontally When the degree of coincidence with the frequency distribution of the edge angle from one end to the other end of the code outer shape crosses in the scanning axis direction is a certain value or less, the frequency distribution is a frequency distribution of a one-dimensional code judge.

また、前記目的は、請求項9記載の発明でも達成することができる。その請求項9記載の発明は、
(A)カメラを備え、前記カメラにより情報コードの画像を撮像し、撮像した画像に基づいて情報コードから情報を読み取る情報コード読み取り装置であって、
(B)前記カメラで撮影した画像から、コーナーを少なくとも含む特徴点を検出する特徴点検出手段と、
(C)前記特徴点検出手段で検出した各特徴点に対して、それぞれ、エッジ強度およびエッジ線ベクトルの大きさのいずれか少なくとも一方である特徴情報を決定する特徴情報決定手段と、
(D)その特徴情報に基づいて、前記特徴点検出手段が検出した特徴点から、コーナーであって、且つ、他のコーナーと距離が近接するとともに、近接するコーナーと前記特徴情報も近似するコーナー群を決定するコーナー群決定手段と、
(E)前記コーナー群決定手段で決定したコーナー群の全体形状に基づいて情報コードの外形を推定する外形推定手段と、
(F)その外形推定手段で推定したコード外形の内部の複数の点においてエッジ角度を決定し、決定した複数のエッジ角度に基づいて、前記情報コードの基準角度であるコード軸角度を決定するコード軸角度決定手段と、
(G)前記外形推定手段で推定したコード外形の内部であって、且つ、互いに直交する線上での白黒変化数および白黒変化幅を算出し、算出した白黒変化数および白黒変化幅に基づいて、セルサイズを決定するセルサイズ決定手段と、
(H)前記外形推定手段で推定したコード外形、前記コード軸角度決定手段で決定したコード軸角度と、前記セルサイズ決定手段で決定したセルサイズに基づいて、情報コードのデコードを行なうデコード処理手段と、を含むことを特徴とする。
The object can also be achieved by the invention of claim 9. The invention according to claim 9 is
(A) An information code reading device that includes a camera, images an information code by the camera, and reads information from the information code based on the captured image,
(B) feature point detecting means for detecting a feature point including at least a corner from an image photographed by the camera;
(C) for each feature point detected by the feature point detection means, feature information determination means for determining feature information that is at least one of edge strength and edge line vector,
(D) Based on the feature information, from the feature point detected by the feature point detection means, the corner is a corner that is close to another corner and close to the corner and the feature information is also approximated A corner group determining means for determining a group;
(E) outer shape estimation means for estimating the outer shape of the information code based on the overall shape of the corner group determined by the corner group determination means;
(F) A code that determines an edge angle at a plurality of points inside the code outline estimated by the outline estimation means, and determines a code axis angle that is a reference angle of the information code based on the determined plurality of edge angles Shaft angle determining means;
(G) Calculate the black and white change number and the black and white change width inside the code outline estimated by the external shape estimation means and on lines orthogonal to each other, and based on the calculated black and white change number and black and white change width, Cell size determining means for determining the cell size;
(H) Decoding processing means for decoding an information code based on the code outline estimated by the outline estimation means, the code axis angle determined by the code axis angle determination means, and the cell size determined by the cell size determination means It is characterized by including these.

この請求項9に係る発明でも、カメラで撮影した画像から、コーナーを少なくとも含む特徴点を検出しており、且つ、各特徴点に対して、エッジ強度およびエッジ線ベクトルの大きさのいずれか少なくとも一方である特徴情報を決定している。さらに、コーナー群決定手段では、特徴点から、コーナーであって、且つ、他のコーナーと距離が近接するとともに、近接するコーナーと前記特徴情報も近似するコーナー群を決定している。同じ二次元コードに属しているコーナーであれば、特徴情報が互いに近似した値になり、且つ、他のコーナーとの距離も近い。したがって、コーナー群決定手段が決定したコーナー群は、二次元コードに含まれるコーナーの群であると考えることができる。そこで、外形推定手段では、コーナー群の全体形状に基づいて情報コードの外形を推定する。このように、本発明でも、ファインダパターンなどの特徴パターンを検出することなく、コード外形を推定していることから、特徴パターンが検出できないような画像であっても、コード外形を推定することができる。   Also in the invention according to claim 9, feature points including at least a corner are detected from an image photographed by a camera, and at least one of edge strength and edge line vector size is detected for each feature point. On the other hand, certain feature information is determined. Further, the corner group determining means determines a corner group that is a corner from a feature point and that is close in distance to other corners and that approximates the adjacent corner and the feature information. If the corners belong to the same two-dimensional code, the feature information is a value approximate to each other, and the distance to other corners is also short. Therefore, the corner group determined by the corner group determining means can be considered as a group of corners included in the two-dimensional code. Therefore, the outer shape estimation means estimates the outer shape of the information code based on the overall shape of the corner group. Thus, in the present invention, since the code outline is estimated without detecting a feature pattern such as a finder pattern, the code outline can be estimated even for an image in which the feature pattern cannot be detected. it can.

さらに、コード軸角度およびセルサイズも、特徴パターンを利用せずに決定する。すなわち、コード軸角度は、コード外形の内部の複数の点においてエッジ角度を決定し、決定した複数のエッジ角度をもとにコード軸角度を決定している。また、セルサイズも、コード外形の内部の互いに直交する線上での白黒変化数および白黒変化幅に基づいて決定している。デコード処理手段では、このようにして決定したコード外形、コード軸角度、セルサイズに基づいてデコード処理を行なう。よって、特徴パターンの検出ができなくてもデコード処理が可能となるので、情報コードが読み取れないことが少なくなる。   Further, the code axis angle and the cell size are also determined without using the feature pattern. That is, the code axis angle determines the edge angle at a plurality of points inside the code outline, and determines the code axis angle based on the determined plurality of edge angles. The cell size is also determined based on the number of black and white changes and the black and white change width on mutually orthogonal lines inside the code outline. The decoding processing means performs decoding processing based on the code outline, code axis angle, and cell size determined in this way. Therefore, since the decoding process can be performed even if the feature pattern cannot be detected, it is less likely that the information code cannot be read.

本発明の実施形態に係る情報コード読み取り装置10のハウジング11等の構成概要を示す部分縦断面図である。It is a fragmentary longitudinal cross-section which shows the structure outline | summary of the housing 11 grade | etc., Of the information code reader 10 which concerns on embodiment of this invention. 実施形態に係る光学情報読取装置10の回路部20の構成概要を示すブロック図である。It is a block diagram which shows the structure outline | summary of the circuit part 20 of the optical information reader 10 which concerns on embodiment. マーカ光投射器60の構成を示す説明図である。It is explanatory drawing which shows the structure of the marker light projector. 第1実施形態において、制御回路40が実行する情報読み取り処理を示すフローチャートである。3 is a flowchart illustrating an information reading process executed by a control circuit 40 in the first embodiment. エリアセンサ23が取り込んだ画像の一例を示す図である。It is a figure which shows an example of the image which the area sensor 23 took. エッジ角度の算出式を説明する図である。It is a figure explaining the calculation formula of an edge angle. (A)はエッジ角度のヒストグラムの一例であり、(B)は、(A)のヒストグラムを作成した二次元コード画像である。(A) is an example of a histogram of edge angles, and (B) is a two-dimensional code image in which the histogram of (A) is created. 第1実施形態の変形例2において、制御回路40が実行する情報読み取り処理を示すフローチャートである。10 is a flowchart illustrating an information reading process executed by a control circuit 40 in Modification 2 of the first embodiment. (A)は膨張フィルタ処理をする前の原画像、(B)は膨張フィルタ処理をした後の画像である。(A) is an original image before the expansion filter processing, and (B) is an image after the expansion filter processing. 第2実施形態において、制御回路40が実行する情報読み取り処理を示すフローチャートである。6 is a flowchart illustrating an information reading process executed by a control circuit 40 in the second embodiment.

(第1実施形態)
以下、本発明の実施形態を図面に基づいて説明する。図1は、本発明が適用された情報コード読み取り装置10の構成概要を示す図である。
(First embodiment)
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram showing a schematic configuration of an information code reading apparatus 10 to which the present invention is applied.

図1に示すように、情報コード読み取り装置10は、丸みを帯びた薄型のほぼ矩形箱状なすハウジング本体11と、このハウジング本体11の下面ほぼ中央後端寄りにハウジング本体11に一体に形成されるグリップ部12と、からなるガンタイプのハウジングを備えている。このグリップ部12は、作業者が片手で把持可能な程度の外径に設定されており、当該グリップ部12を握った作業者の人差し指が当接する部位に、後述する照明光Lfやマーカ光M1の出射を指示するトリガースイッチ14が設けられている。   As shown in FIG. 1, the information code reading device 10 is formed integrally with the housing body 11 in the shape of a round, thin, substantially rectangular box, and the lower surface of the housing body 11 approximately near the rear end of the center. And a gun-type housing comprising the grip portion 12. The grip portion 12 is set to have an outer diameter that allows an operator to hold the grip portion 12 with one hand, and an illumination light Lf and a marker light M1 described later are placed on a portion where the index finger of the operator holding the grip portion 12 abuts. A trigger switch 14 is provided for instructing the emission of light.

ハウジング本体11の内部には、後述する回路部20が収容されており、またハウジング本体11の先端部には、照明光Lfを出射可能、且つ、反射光Lrが入射可能な読取口11aが形成されている。ハウジング本体11内の読取口11aの付近には、マーカ光M1を投射するマーカ光投射器60が配置されている。また、図1には図示しないが、ハウジング本体11内の読取口11aの付近には、照明光Lfを照射する発光ダイオード21(図2参照)も配置されている。なお、図1には、回路部20を構成するプリント配線板15、16や、このプリント配線板16に実装されるエリアセンサ23、結像レンズ27等も図示されている。   A circuit unit 20 (to be described later) is accommodated in the housing main body 11, and a reading port 11a capable of emitting the illumination light Lf and receiving the reflected light Lr is formed at the tip of the housing main body 11. Has been. In the vicinity of the reading port 11a in the housing body 11, a marker light projector 60 that projects the marker light M1 is disposed. Although not shown in FIG. 1, a light emitting diode 21 (see FIG. 2) that irradiates illumination light Lf is also disposed near the reading port 11 a in the housing body 11. FIG. 1 also shows printed wiring boards 15 and 16 constituting the circuit unit 20, an area sensor 23 mounted on the printed wiring board 16, an imaging lens 27, and the like.

図2に示すように、回路部20は、主に、マーカ光投射器60、発光ダイオード21、エリアセンサ23、結像レンズ27等の光学系と、メモリ35、制御回路40、操作スイッチ42等のマイクロコンピュータ(以下「マイコン」という)系と、電源スイッチ41、電池49等の電源系と、から構成されており、前述したプリント配線板15、16に実装あるいはハウジング本体11内に内装されている。   As shown in FIG. 2, the circuit unit 20 mainly includes an optical system such as a marker light projector 60, a light emitting diode 21, an area sensor 23, and an imaging lens 27, a memory 35, a control circuit 40, an operation switch 42, and the like. Microcomputer system (hereinafter referred to as “microcomputer”), and a power supply system such as a power switch 41 and a battery 49, and mounted on the above-described printed wiring boards 15 and 16 or built in the housing body 11. Yes.

光学系は、前述のように、マーカ光投射器60、発光ダイオード21、エリアセンサ23、結像レンズ27等から構成されている。発光ダイオード21は、ハウジング本体11の読取口11aを介して読み取り面Rに向けて照明光Lfを照射可能に構成されている。なお、図2には、便宜上、発光ダイオード21を1つしか示していないが、発光ダイオード21は適宜複数備えられる。発光ダイオード21により照明される読み取り面Rには、一次元コードや二次元コードなどの情報コードDが記録されている。なお、記録形態としては、印刷、刻印等がある。   As described above, the optical system includes the marker light projector 60, the light emitting diode 21, the area sensor 23, the imaging lens 27, and the like. The light emitting diode 21 is configured to be able to irradiate the illumination light Lf toward the reading surface R through the reading port 11 a of the housing body 11. 2 shows only one light emitting diode 21 for the sake of convenience, a plurality of light emitting diodes 21 are provided as appropriate. An information code D such as a one-dimensional code or a two-dimensional code is recorded on the reading surface R illuminated by the light emitting diode 21. The recording form includes printing, engraving, and the like.

エリアセンサ23は、読み取り面Rに照射されて反射した反射光Lrを受光可能に構成されるもので、例えば、C−MOSやCCD等の固体撮像素子である受光素子を数10万から数100万個オーダでm行n列の2次元に配列して構成されている。エリアセンサ23の受光素子は、受光した光を電気信号に変換して出力する光電変換素子であり、以下では、画素と呼ぶこともある。各受光素子からは、その素子が受光した光を示す信号が出力される。なお、本実施形態では、エリアセンサ23は、モノクロのセンサであるとする。   The area sensor 23 is configured to be able to receive the reflected light Lr irradiated and reflected on the reading surface R. For example, the area sensor 23 includes a light receiving element that is a solid-state image pickup element such as a C-MOS or a CCD. It is arranged in two dimensions of m rows and n columns in the order of 10,000. The light receiving element of the area sensor 23 is a photoelectric conversion element that converts received light into an electrical signal and outputs the electric signal, and may be hereinafter referred to as a pixel. Each light receiving element outputs a signal indicating the light received by the element. In the present embodiment, the area sensor 23 is assumed to be a monochrome sensor.

このエリアセンサ23の受光面23aは、ハウジング本体11外から読取口11aを介して外観可能に位置しており、エリアセンサ23は、結像レンズ27を介して入射する入射光をこの受光面23aで受光可能にプリント配線板16に実装されている。   The light receiving surface 23a of the area sensor 23 is positioned so as to be visible from the outside of the housing body 11 through the reading port 11a. The area sensor 23 receives incident light incident through the imaging lens 27 as the light receiving surface 23a. It is mounted on the printed wiring board 16 so that it can receive light.

結像レンズ27は、外部から読取口11aを介して入射する入射光を集光してエリアセンサ23の受光面23aに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。本実施形態では、発光ダイオード21から照射された照明光Lfが情報コードDに反射して読取口11aに入射する反射光Lrを集光することにより、エリアセンサ23の受光面23aにコード像を結像可能にしている。   The imaging lens 27 functions as an imaging optical system capable of condensing incident light incident from the outside through the reading port 11a and forming an image on the light receiving surface 23a of the area sensor 23. It is comprised by the cylinder and the some condensing lens accommodated in this barrel. In the present embodiment, the illumination light Lf emitted from the light emitting diode 21 is reflected by the information code D, and the reflected light Lr incident on the reading port 11a is collected, whereby a code image is formed on the light receiving surface 23a of the area sensor 23. Imaging is possible.

図3は、マーカ光投射器60の構成を示す説明図である。マーカ光投射器60は、情報コードDの読み取り位置を示す位置決め用マーカ光Mを読み取り面Rに投射するもので、図3に示すように、レーザダイオード62とこのレーザダイオード62の出射側に設けられるコリメートレンズ64、位置決め用マーカ光Mのパターンを形成可能な回折格子プレート66、所定形状のスリットが設けられた視野絞り68等とから構成されている。   FIG. 3 is an explanatory diagram showing the configuration of the marker light projector 60. The marker light projector 60 projects the positioning marker light M indicating the reading position of the information code D onto the reading surface R, and is provided on the laser diode 62 and the emission side of the laser diode 62 as shown in FIG. A collimating lens 64, a diffraction grating plate 66 capable of forming a pattern of the marker light M for positioning, a field stop 68 provided with a slit having a predetermined shape, and the like.

視野絞り68は、種々のスリット形状のものに切り替え可能に構成されており、このスリット形状を切り替えることにより、位置決め用マーカ光Mのパターンを種々のパターンに切り替えることができる。なお、スリット形状を切り替えることにより位置決め用マーカ光Mのパターンを切り替えられることは特開2008−191999号公報に詳しく説明されているので、ここでの説明は省略する。なお、本実施形態では、位置決め用マーカ光Mの色は赤色とする。   The field stop 68 is configured to be switchable to various slit shapes, and by switching the slit shape, the pattern of the positioning marker light M can be switched to various patterns. Note that switching of the pattern of the positioning marker light M by switching the slit shape is described in detail in Japanese Patent Application Laid-Open No. 2008-191999, and thus the description thereof is omitted here. In this embodiment, the color of the positioning marker light M is red.

図2に戻り、次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、操作スイッチ42、LED43、ブザー44、通信インタフェース48等から構成されている。このマイコン系は、その名の通り、マイコン(情報処理装置)として機能し得る制御回路40およびメモリ35を中心に構成されるもので、前述した光学系によって撮像されたコード像の画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路40は、当該光学式情報読取装置10の全体システムに関する制御も行っている。   Returning to FIG. 2, the outline of the configuration of the microcomputer system will be described next. The microcomputer system includes an amplification circuit 31, an A / D conversion circuit 33, a memory 35, an address generation circuit 36, a synchronization signal generation circuit 38, a control circuit 40, an operation switch 42, an LED 43, a buzzer 44, a communication interface 48, and the like. Yes. As its name suggests, this microcomputer system is composed mainly of a control circuit 40 and a memory 35 that can function as a microcomputer (information processing device), and the image signal of the code image captured by the optical system described above is hardware. It can perform signal processing in terms of hardware and software. The control circuit 40 also performs control related to the entire system of the optical information reading apparatus 10.

光学系のエリアセンサ23から出力される画像信号(アナログ信号)は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号は、メモリ35に入力されて蓄積される。なお、同期信号発生回路38は、エリアセンサ23およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像信号の格納アドレスを発生可能に構成されている。   The image signal (analog signal) output from the area sensor 23 of the optical system is amplified by a predetermined gain by being input to the amplifier circuit 31, and then input from the analog signal when input to the A / D conversion circuit 33. Converted into a digital signal. The digitized image signal is input to the memory 35 and stored. The synchronization signal generation circuit 38 is configured to generate a synchronization signal for the area sensor 23 and the address generation circuit 36. The address generation circuit 36 is based on the synchronization signal supplied from the synchronization signal generation circuit 38. Thus, the storage address of the image signal stored in the memory 35 can be generated.

メモリ35は、半導体メモリ装置で、例えばRAM(DRAM、SRAM等)やROM(EPROM、EEPROM等)がこれに相当する。またROMには、画像処理プログラムの他、マーカ光投射器60発光ダイオード21、エリアセンサ23等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。   The memory 35 is a semiconductor memory device, and corresponds to, for example, a RAM (DRAM, SRAM, etc.) or a ROM (EPROM, EEPROM, etc.). In addition to the image processing program, the ROM stores in advance a system program that can control each hardware such as the marker light projector 60, the light emitting diode 21, and the area sensor 23.

制御回路40は、光学式情報読取装置10全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなるもので、メモリ35とともに情報処理装置を構成し得るもので情報処理機能を有する。情報処理機能としては、例えば、メモリ35に蓄積された画像信号を処理して、画像信号に含まれる情報コードから情報を読み取る情報読み取り処理がある。   The control circuit 40 is a microcomputer that can control the entire optical information reader 10 and includes a CPU, a system bus, an input / output interface, and the like. . As the information processing function, for example, there is an information reading process in which an image signal stored in the memory 35 is processed and information is read from an information code included in the image signal.

また、制御回路40は、内蔵された入出力インタフェースを介して種々の入出力装置(周辺装置)と接続可能に構成されており、電源スイッチ41、操作スイッチ42、LED43、ブザー44、通信インタフェース48、マーカ光投射器60等が接続されている。   Further, the control circuit 40 is configured to be connectable to various input / output devices (peripheral devices) via a built-in input / output interface, and includes a power switch 41, operation switch 42, LED 43, buzzer 44, and communication interface 48. The marker light projector 60 and the like are connected.

これにより、例えば、電源スイッチ41や操作スイッチ42の監視や管理、またインジケータとして機能するLED43の点灯・消灯、ビープ音やアラーム音を発生可能なブザー44の鳴動のオンオフ、外部機器とのシリアル通信を可能にする通信インタフェース48の通信制御、マーカ光投射器60からのマーカ光Mの投射制御等を可能にしている。なお、操作スイッチ42には、前述のトリガースイッチ14が含まれている。   Thereby, for example, monitoring and management of the power switch 41 and the operation switch 42, turning on / off the LED 43 functioning as an indicator, turning on / off the buzzer 44 capable of generating a beep sound and an alarm sound, and serial communication with an external device The communication control of the communication interface 48 enabling the control, the projection control of the marker light M from the marker light projector 60, and the like are enabled. The operation switch 42 includes the trigger switch 14 described above.

電源系は、電源スイッチ41、電池49等により構成されており、制御回路40により管理される電源スイッチ41のオンオフによって、上述した各装置や各回路に、電池49から供給される駆動電圧の導通や遮断が制御されている。なお、電池49は、所定の直流電圧を発生可能な2次電池で、例えば、リチウムイオン電池等がこれに相当する。   The power supply system includes a power switch 41, a battery 49, and the like. When the power switch 41 managed by the control circuit 40 is turned on and off, the conduction of the drive voltage supplied from the battery 49 to each device and each circuit described above is established. Or shut off is controlled. The battery 49 is a secondary battery that can generate a predetermined DC voltage, and corresponds to, for example, a lithium ion battery.

次に、制御回路40の情報読み取り処理を詳しく説明する。図4は、この情報読み取り処理を示すフローチャートである。この図4に示す処理は、読み取り面Rに表された情報コードDを含む画像をエリアセンサ23が撮像し、その画像を示す画像信号がメモリ35に蓄積される都度、実行する。   Next, the information reading process of the control circuit 40 will be described in detail. FIG. 4 is a flowchart showing this information reading process. The process shown in FIG. 4 is executed each time the area sensor 23 captures an image including the information code D represented on the reading surface R and an image signal indicating the image is accumulated in the memory 35.

まず、ステップS10では、メモリ35から画像信号を取り込み、エッジ検出処理を行なう。このエッジ検出処理は、画像信号から各画素の輝度値を判断し、その輝度値に基づいて画像上のエッジを検出するものであり、公知の種々のエッジ検出手法を用いることができる。   First, in step S10, an image signal is fetched from the memory 35 and edge detection processing is performed. In this edge detection process, the luminance value of each pixel is determined from the image signal, and an edge on the image is detected based on the luminance value. Various known edge detection methods can be used.

続くステップS12は、特許請求の範囲の特徴点検出手段に相当するものであり、ステップS10で検出したエッジをもとに、公知のコーナー検出手法を用い、画像上のコーナーを検出する。ここで検出できるコーナーは、エッジの交点であり、情報コードDの外形を規定する4つコーナー以外にも、種々のコーナーが検出される。また、コーナー以外にも、変曲点など、コーナー以外の特徴点が検出されてしまうこともある。さらには、情報コードDの外形を規定する4つコーナー(以下、情報コード角ともいう)の一部または全部が、この処理では検出されないこともある。図5は、エリアセンサ23が取り込んだ画像の一例を示す図であり、その画像に、○印にて、このステップS12で検出するコーナーを示してある。   The subsequent step S12 corresponds to the feature point detection means in the claims, and detects a corner on the image using a known corner detection method based on the edge detected in step S10. The corners that can be detected here are the intersections of the edges, and various corners are detected in addition to the four corners that define the outer shape of the information code D. In addition to corners, feature points other than corners such as inflection points may be detected. Furthermore, some or all of the four corners (hereinafter also referred to as information code corners) that define the outer shape of the information code D may not be detected by this processing. FIG. 5 is a diagram showing an example of an image captured by the area sensor 23, and the image shows the corner detected in step S12 with a circle.

続くステップS14は、特許請求の範囲の情報コード角候補抽出手段に相当するものであり、ステップS12で検出したコーナーから、上記情報コード角の候補となる情報コード角候補を抽出する。ここでの抽出処理においては、たとえば、ハフ変換を用いてエッジの長さを求める。また、抽出する条件としては、エッジ線ベクトルの条件と、コーナーの位置の条件の2つの条件があり、両条件を満たしたものを情報コード角候補として抽出する。エッジ線ベクトルの条件は、具体的には、エッジ線ベクトルの長さが所定長さ以上であり、且つ、コーナーにおいて交差する2本のエッジ線の交差角が略90度(90度±αの範囲)という条件である。一方、コーナー位置の条件は、具体的には、他のコーナーに対する位置であり、より具体的には、他のコーナーが存在する方向が、対象としているコーナーから見て略90度の範囲に集中している(他のコーナーの方向を算出したときに、90度の範囲に入るものが所定割合以上)という条件である。   The subsequent step S14 corresponds to the information code angle candidate extracting means in the claims, and extracts information code angle candidates that are candidates for the information code angle from the corner detected in step S12. In the extraction process here, for example, the length of the edge is obtained using Hough transform. Further, there are two conditions for extraction, an edge line vector condition and a corner position condition, and those satisfying both conditions are extracted as information code angle candidates. Specifically, the condition of the edge line vector is that the length of the edge line vector is not less than a predetermined length, and the intersection angle of two edge lines that intersect at the corner is approximately 90 degrees (90 degrees ± α). Range). On the other hand, the corner position condition is specifically a position with respect to another corner, and more specifically, the direction in which the other corner exists is concentrated in a range of about 90 degrees when viewed from the target corner. (When the direction of other corners is calculated, the range of 90 degrees falls within a predetermined ratio).

上記ステップS14を実行することで得られる情報コード角候補は、かなり少数になるが、それでも、情報コード角のみが抽出されるとは限らない。たとえば、直角に近い形状を含んだ文字が画像内に含まれている場合には、その形状が情報コード角候補として抽出される可能性がある。   The number of information code angle candidates obtained by executing step S14 is considerably small. However, only the information code angle is not always extracted. For example, when a character including a shape close to a right angle is included in the image, the shape may be extracted as an information code angle candidate.

そこで、さらに、続くステップS16において、ステップS14で抽出した情報コード角候補のそれぞれに対し、情報コード角と、候補となっているが情報コード角ではないものとで相違する角候補情報として、推定セルサイズを算出する。   Therefore, in the subsequent step S16, for each of the information code angle candidates extracted in step S14, the information code angle is estimated as the angle candidate information that is different from the candidate but not the information code angle. Calculate the cell size.

推定セルサイズの算出には、情報コード角候補を含みその周囲所定範囲のエッジ強度の変化を用いる。この範囲のエッジ強度の白黒変化数と白黒変化幅から、予め設定された条件に基づいて推定セルサイズを決定する。予め設定された条件とは、たとえば、白黒変化幅を横軸(階級)とし、白黒変化数を縦軸(度数)とするヒストグラムにおいて、最大度数となった変化幅をあるセル数(たとえば、1セルあるいは2セル)とし、そのヒストグラムから決定したセル数および白黒変化幅から推定セルサイズを決定する。このステップS16が特許請求の範囲の角候補情報算出手段に相当する。   For the calculation of the estimated cell size, a change in edge strength within a predetermined range including the information code angle candidate is used. The estimated cell size is determined based on a preset condition from the black and white change number and the black and white change width of the edge intensity in this range. The preset condition is, for example, in a histogram in which the black-and-white change width is the horizontal axis (class) and the black-and-white change number is the vertical axis (frequency), the change width having the maximum frequency is the number of cells (for example, 1 Cell or 2 cells), and the estimated cell size is determined from the number of cells determined from the histogram and the monochrome change width. This step S16 corresponds to corner candidate information calculation means in the claims.

そして、特許請求の範囲の外形推定手段に相当するステップS18では、ステップS16で算出した角候補情報(すなわち推定セルサイズ)が互いに類似する情報コード角候補を2〜4つ選択し、それらを情報コード角として決定する。推定セルサイズが互いに類似することの判断は、たとえば、それぞれの情報コード角候補に対して算出した推定セルサイズの互いの差や比が、所定差以内あるいは所定比率範囲内であることにより判断する。所定差以内あるいは所定比率に基づく絞り込みを用いても、情報コード角候補を2〜4つに絞り込めなかった場合には、他の候補との差あるいは比が最も大きい候補から順に除外する。   In step S18 corresponding to the outer shape estimation means in the claims, two to four information code corner candidates whose corner candidate information (ie, estimated cell size) calculated in step S16 is similar to each other are selected, and the information is selected. Determine as the chord angle. The determination that the estimated cell sizes are similar to each other is made, for example, by determining that the difference or ratio between the estimated cell sizes calculated for each information code angle candidate is within a predetermined difference or within a predetermined ratio range. . If the information code angle candidates cannot be narrowed down to 2 to 4 even if narrowing within a predetermined difference or based on a predetermined ratio, the candidates having the largest difference or ratio with other candidates are excluded in order.

ステップS18では、さらに、その決定した2〜4つの情報コード角を用いて、情報コードのコード外形を推定する。推定セルサイズを用いた上述の処理により、情報コード角を4つ決定した場合には、その4つの情報コード角を通る四角形をコード外形とする。一方、情報コード角が2つ、あるいは3つしか決定されなかった場合には、それらの情報コード角と、情報コードが矩形であることを利用してコード外形を推定する。なお、2つしか決定されなかった場合には、たとえば、その2つの情報コード角を結ぶ直線と、決定済みのコーナーとの位置関係から、2つの情報コードが対角の関係にあるか、同一の辺の両端であるかを判定する。すなわち、対角の関係にある場合には、2つの情報コード角を結ぶ線の両側にコーナーが分布するが、同一の辺の両端である場合には、2つの情報コード角を結ぶ線の一方の側にコーナーが集中する。これを用いて2つの情報コードが対角の関係にあるか、同一の辺の両端であるかを判定する。   In step S18, the code outer shape of the information code is further estimated using the determined two to four information code angles. When four information code angles are determined by the above-described processing using the estimated cell size, a quadrilateral passing through the four information code angles is set as a code outline. On the other hand, when only two or three information code angles are determined, the code outer shape is estimated using the information code angles and the information code being rectangular. If only two are determined, for example, the two information codes are in a diagonal relationship or the same, based on the positional relationship between the straight line connecting the two information code angles and the determined corner. It is determined whether it is at both ends of the side. That is, when there is a diagonal relationship, corners are distributed on both sides of a line connecting two information code angles, but when they are both ends of the same side, one of the lines connecting two information code angles The corners are concentrated on the side. Using this, it is determined whether the two information codes are in a diagonal relationship or both ends of the same side.

続くステップ20では、まず、ステップS18で推定したコード外形内の複数の点でエッジ角度を決定する。このエッジ角度は、エッジ点を中心とする3×3画素の輝度値から求めるものであり、下記式1から算出する。なお、下記式において「angle」がエッジ角度である。また、dx, dyは、それぞれ、図6に示す意味である。すなわち、dxは、エッジ点Eを挟む右3画素の合計輝度値と右3画素の合計輝度値との差であり、dyは、エッジ点Eを挟む下3画素の合計輝度値と上3画素の合計輝度値との差である。
(式1) angle = arctan(dx/dy)
上記式1を用いてコード外形内の複数の点において求めたエッジ角度を用い、所定角度幅(たとえば、1度、5度など)を1区間としてヒストグラムを作成する。そして、そのヒストグラムにおいて最も度数の多い角度を、コード軸角度とする。なお、上記複数の点は、コード外形のサイズによって変化するものであり、一例としては、コード外形内の所定画素毎の格子点を、エッジ角度を求める点とする。このステップS20が、特許請求の範囲のコード軸角度決定手段に相当する。
In the following step 20, first, an edge angle is determined at a plurality of points in the code outline estimated in step S18. This edge angle is obtained from the luminance value of 3 × 3 pixels centering on the edge point, and is calculated from the following equation 1. In the following formula, “angle” is an edge angle. Dx and dy have the meanings shown in FIG. That is, dx is a difference between the total luminance value of the right three pixels sandwiching the edge point E and the total luminance value of the right three pixels, and dy is the total luminance value of the lower three pixels sandwiching the edge point E and the upper three pixels. This is the difference from the total luminance value.
(Formula 1) angle = arctan (dx / dy)
A histogram is created by using edge angles obtained at a plurality of points in the code outline using the above equation 1 and a predetermined angle width (for example, 1 degree, 5 degrees, etc.) as one section. The angle having the highest frequency in the histogram is defined as the code axis angle. Note that the plurality of points change depending on the size of the code outline, and as an example, the lattice point for each predetermined pixel in the code outline is a point for obtaining the edge angle. This step S20 corresponds to the code axis angle determining means in the claims.

続くステップS22では、セルサイズを決定する。具体的には、ステップS18で推定したコード外形内において、互いに直交する1組の線であって、一方の線がステップS21で決定したコード軸と平行である1組の線に沿って走査していき、エッジ強度の白黒変化数と白黒変化幅を算出する。この白黒変化数と白黒変化幅を、上記1組の線をずらしつつ複数回算出してもよい。そして、算出した白黒変化数と白黒変化幅から、予め設定された条件に基づいてセルサイズを決定する。予め設定された条件とは、たとえば、白黒変化幅をある単位で区分して横軸とし、その区分毎の数を縦軸(度数)とするヒストグラムを作成する。このヒストグラムにおいて、最大度数となった変化幅をあるセル数(たとえば、1セルあるいは2セルなど予め決めておく)とし、そのヒストグラムから決定したセル数から推定セルサイズを決定する。このステップS22が、特許請求の範囲のセルサイズ決定手段に相当する。   In subsequent step S22, the cell size is determined. Specifically, scanning is performed along a set of lines that are orthogonal to each other in the code outline estimated in step S18 and one line is parallel to the code axis determined in step S21. Then, the number of black and white changes in the edge strength and the black and white change width are calculated. The black-and-white change number and the black-and-white change width may be calculated a plurality of times while shifting the set of lines. Then, the cell size is determined based on the preset condition from the calculated monochrome change number and monochrome change width. The preset condition is, for example, creating a histogram in which the black-and-white change width is divided in a certain unit to be a horizontal axis, and the number of each division is a vertical axis (frequency). In this histogram, the change width having the maximum frequency is set to a certain number of cells (for example, 1 cell or 2 cells is determined in advance), and the estimated cell size is determined from the number of cells determined from the histogram. This step S22 corresponds to the cell size determining means in the claims.

続くステップS24は、特許請求の範囲のコード種判定手段に相当しており、情報コードDのコード種を判定する。ここでのコード種とは、一次元コードであるか二次元コードであるかを意味する。この判定においては、エッジ角度のヒストグラム(たとえば、ステップS20で作成したもの)を用いる。図7(A)はこのエッジ角度のヒストグラムの一例であり、図7(B)は、図7(A)のヒストグラムを作成した二次元コード画像である。   The subsequent step S24 corresponds to the code type determining means in the claims, and determines the code type of the information code D. The code type here means whether it is a one-dimensional code or a two-dimensional code. In this determination, an edge angle histogram (for example, one created in step S20) is used. FIG. 7A is an example of the histogram of the edge angle, and FIG. 7B is a two-dimensional code image in which the histogram of FIG. 7A is created.

このヒストグラムが、一次元コードにおけるエッジ角度のヒストグラムおよび二次元コードにおけるエッジ角度のヒストグラムのいずれであるかを判定することにより、撮像した情報コードDが一次元コードであるか二次元コードであるかを判定する。具体的な判定方法は、たとえば、ヒストグラムから算出できる特徴量の基準値を、一次元コードのヒストグラムおよび二次元コードのヒストグラム、それぞれに対して予め設定しておく。一次元コードであれば、エッジ角度はある一つ角度範囲に集中するのに対して、二次元コードであれば、エッジ角度は、度数が集中する角度範囲が少なくとも2つ存在する。そこで、たとえば、特徴量としては、ヒストグラムの最大値を基準とする45度の範囲の合計度数の全体度数に対する割合がある。この割合が、予め設定した基準割合以上であれば、エッジ角度がある範囲に集中しているとことになるので、一次元コードのヒストグラムであると判定する。また、コード外形を垂直走査軸方向に横切り、且つ、コード外形の一方の端から他方の端までのエッジ角度のヒストグラムと、そのコード外形を水平走査軸方向に横切り、コード外形の一方の端から他方の端までのエッジ角度のヒストグラムをそれぞれ求め、それら一致度が一定値以下である場合に、そのヒストグラムは一次元コードの度数分布であると判定することもできる。また、標準的な一次元ヒストグラム、二次元ヒストグラムの形状そのものを参照パターンとして持ち、その参照パターンと、ステップS20で作成したヒストグラムとの形状の相関値から、一次元コードのヒストグラムであるか二次元コードのヒストグラムであるかを判定してもよい。   Whether the captured information code D is a one-dimensional code or a two-dimensional code by determining whether the histogram is an edge angle histogram in a one-dimensional code or an edge angle histogram in a two-dimensional code Determine. As a specific determination method, for example, a reference value of a feature amount that can be calculated from a histogram is set in advance for each of a one-dimensional code histogram and a two-dimensional code histogram. In the case of a one-dimensional code, the edge angle is concentrated in a certain angle range, whereas in the case of a two-dimensional code, the edge angle has at least two angle ranges in which the frequency is concentrated. Therefore, for example, as the feature amount, there is a ratio of the total frequency in the range of 45 degrees with respect to the maximum value of the histogram to the total frequency. If this ratio is greater than or equal to a preset reference ratio, it means that the edge angle is concentrated in a certain range, and therefore it is determined that the histogram is a one-dimensional code. Also, the histogram of the edge angle from one end of the code outline to the other end and the code outline across the horizontal scan axis direction across the code outline in the vertical scanning axis direction and from one end of the code outline A histogram of edge angles to the other end is obtained, and when the degree of coincidence is equal to or less than a certain value, the histogram can be determined to be a frequency distribution of a one-dimensional code. In addition, a standard one-dimensional histogram or two-dimensional histogram shape itself is used as a reference pattern, and a one-dimensional code histogram or two-dimensional is calculated based on a correlation value between the reference pattern and the shape created in step S20. It may be determined whether the histogram is a code.

ステップS26は特許請求の範囲のデコード処理手段に相当しており、デコード処理を行う。デコード処理においては、コードの大きさ、コードの傾き、コードを構成するセルサイズの情報が必要である。換言すれば、これらが分かればデコードは可能である。この図4のフローチャートでは、コードの大きさ、コードの傾き、コードを構成するセルサイズを、それぞれ、ステップS18、S20、S22で求めている。そこで、これらステップS18、S20、S22で求めた値を用いてデコード処理を行う。また、デコード処理では、コードの具体的種別(QRコード用など)に定められた複数のデコードアルゴリズムを順次用いるが、このステップS26では、ステップS24で判定したコード種に属しているデコードアルゴリズムを先に用いてデコード処理を行う。   Step S26 corresponds to the decoding processing means in the claims, and performs decoding processing. In the decoding process, information on the code size, the code inclination, and the cell size constituting the code is required. In other words, if these are known, decoding is possible. In the flowchart of FIG. 4, the code size, the code inclination, and the cell size constituting the code are obtained in steps S18, S20, and S22, respectively. Therefore, decoding processing is performed using the values obtained in steps S18, S20, and S22. In the decoding process, a plurality of decoding algorithms determined for a specific type of code (for QR code, etc.) are sequentially used. In this step S26, the decoding algorithm belonging to the code type determined in step S24 is first used. Used for decoding.

以上、説明した本実施形態によれば、情報コードDの画像内における位置を特定するために、情報コード角候補を抽出している(ステップS14)。この情報コード角候補を抽出するために、撮像画像からコーナーを検出し(ステップS12)、コーナーを通るエッジ線ベクトルおよび特徴点の位置に基づいて情報コード角候補を抽出している(ステップS14)。   As described above, according to the present embodiment described above, information code angle candidates are extracted in order to specify the position of the information code D in the image (step S14). In order to extract the information code angle candidate, a corner is detected from the captured image (step S12), and the information code angle candidate is extracted based on the edge line vector passing through the corner and the position of the feature point (step S14). .

画像から検出できるコーナーには、情報コードDの外形を規定するコーナーのみならず、情報コード内のセルによって形成されるコーナーが含まれ、また、コーナー検出処理によって検出される部位には、コーナー以外の部位も多少含まれることもある。しかし、ステップS14では、エッジ線ベクトルおよびコーナーの位置に基づいて情報コード角候補を抽出しているので、コーナー以外の部位や、情報コードD内のコーナーは抽出されないことになる。したがって、情報コード角候補は、ある程度の数に絞られることになる。   The corners that can be detected from the image include not only the corners that define the outer shape of the information code D but also the corners that are formed by the cells in the information code. May be included to some extent. However, in step S14, information code angle candidates are extracted based on the edge line vector and the position of the corner, and therefore, parts other than the corner and corners in the information code D are not extracted. Therefore, the information code angle candidates are narrowed down to a certain number.

しかし、撮像範囲内に情報コードD以外にも角形状を有する他の図形(文字など)が存在すれば、その図形上の角も、情報コード角候補として抽出される可能性がある。そこで、さらに、情報コード角候補の周囲の輝度変化に基づいて、情報コード角候補毎に推定セルサイズを算出する(ステップS16)。情報コード角候補のうち、本当の情報コード角については、その周囲の輝度変化は、情報コードDのセルサイズを反映している。一方、情報コード角候補として抽出されたが、実際には情報コード角ではない候補(たとえば、上述の図形の角など)については、その周囲の輝度変化は、情報コードDのセルサイズを反映しているわけではないので、実際の情報コード角とは大きく異なる。したがって、情報コード角候補の周囲の輝度変化に基づいて算出する推定セルサイズは、情報コード角である場合と、そうでない場合とで大きく異なる。換言すれば、情報コード角候補のうち、同じ情報コードの外形を規定する角であるものについては、推定セルサイズは互いに類似する。そこで、ステップS18において、推定セルサイズの類似の程度に基づいて、情報コード角候補から2〜4つの候補を情報コード角として選択し、これをもとに情報コードDのコード外形を推定している。   However, if there is another figure (such as a character) having a corner shape in addition to the information code D in the imaging range, the corner on the figure may be extracted as an information code corner candidate. Therefore, an estimated cell size is further calculated for each information code angle candidate based on the luminance change around the information code angle candidate (step S16). Among the information code angle candidates, for the real information code angle, the surrounding luminance change reflects the cell size of the information code D. On the other hand, for candidates that are extracted as information code corner candidates but are not actually information code corners (for example, the corners of the graphic described above), the luminance change around them reflects the cell size of the information code D. However, it is very different from the actual information code angle. Accordingly, the estimated cell size calculated based on the luminance change around the information code angle candidate is greatly different between the case of the information code angle and the case of not being the information code angle. In other words, the estimated cell sizes of information code angle candidates that are the angles that define the outer shape of the same information code are similar to each other. Therefore, in step S18, based on the degree of similarity of the estimated cell sizes, 2 to 4 candidates are selected from the information code angle candidates as information code angles, and the code outer shape of the information code D is estimated based on this. Yes.

このように、本実施形態では、ファインダパターンなどの特徴パターンを検出することなく、コード外形を推定していることから、特徴パターンが検出できない画像であっても、コード外形を推定することができる。しかも、情報コード角を4つ必須とせず、2つや3つの情報コード角であっても、それらからコード外形を推定する。よって、コード外形を決定できない場合が少なくなる。   As described above, in the present embodiment, the code outer shape is estimated without detecting a feature pattern such as a finder pattern, and therefore the code outer shape can be estimated even for an image in which the feature pattern cannot be detected. . In addition, four information code angles are not essential, and the code outer shape is estimated from two or three information code angles. Therefore, there are fewer cases where the code outline cannot be determined.

さらに、コード軸角度およびセルサイズも、特徴パターンを利用せずに決定する。すなわち、コード軸角度は、コード外形の内部の複数の点においてエッジ角度を決定し、エッジ角度のヒストグラムからコード軸角度を決定している(ステップS20)。また、セルサイズも、コード外形の内部の互いに直交する線上での白黒変化数および白黒変化幅に基づいて決定している(ステップS22)。ステップS26では、このようにして決定したコード外形、コード軸角度、セルサイズに基づいてデコード処理を行なう。よって、特徴パターンの検出ができない画像であってもデコード処理が可能となるので、情報コードから情報が読み取れないことが少なくなる。   Further, the code axis angle and the cell size are also determined without using the feature pattern. That is, as for the code axis angle, the edge angle is determined at a plurality of points inside the code outline, and the code axis angle is determined from the histogram of the edge angle (step S20). The cell size is also determined based on the number of black and white changes and the black and white change width on the mutually orthogonal lines inside the code outline (step S22). In step S26, decoding is performed based on the code outline, code axis angle, and cell size determined in this way. Therefore, even if the image cannot detect the feature pattern, the decoding process can be performed, so that information cannot be read from the information code.

また、本実施形態によれば、エッジ角度のヒストグラムを用いて情報コードDが一次元コードであるか二次元コードであるかを判定しており、判定結果に基づいて、一次元コード用のデコードアルゴリズムおよび二次元コード用のデコードアルゴリズムのいずれを先に用いるかを決定しているので、デコードを高速に行なうことができる。
(第1実施形態の変形例1)
この変形例1では、メモリ35に記憶されている全画素の画素情報を全部取得するのではなく、全画素の画素情報から一定画素間隔で画素情報を取得する(すなわち画素情報を間引いて取得する)。このようすると、撮像された画像に対して粗い粗画像が作成できる。なお、この取得処理が特許請求の範囲の粗画像作成手段に相当する。
Further, according to the present embodiment, it is determined whether the information code D is a one-dimensional code or a two-dimensional code by using a histogram of edge angles, and based on the determination result, decoding for the one-dimensional code is performed. Since it is determined which one of the algorithm and the decoding algorithm for the two-dimensional code is used first, decoding can be performed at high speed.
(Modification 1 of the first embodiment)
In the first modification, the pixel information of all the pixels stored in the memory 35 is not acquired, but the pixel information is acquired from the pixel information of all the pixels at a constant pixel interval (that is, acquired by thinning out the pixel information). ). In this way, a rough coarse image can be created for the captured image. This acquisition process corresponds to the rough image creating means in the claims.

そして、上記粗画像を用いて、ステップS10のエッジ検出処理、ステップS12のコーナー検出処理、ステップS14の情報コード角候補抽出処理を行なう。   Then, the edge detection process in step S10, the corner detection process in step S12, and the information code angle candidate extraction process in step S14 are performed using the coarse image.

このように粗画像を用いると、情報コードDの内部の小さな特徴点など、不要な特徴点が検出されにくくなることから、情報コード角候補に含まれる不要な候補が少なくなる。その結果、情報コード角の選択が容易になる。   When a coarse image is used in this way, unnecessary feature points such as small feature points inside the information code D are difficult to be detected, so that unnecessary candidates included in information code angle candidates are reduced. As a result, the information code angle can be easily selected.

なお、粗画像作成における画素情報の取得間隔は、セルサイズに基づいて定める。より具体的には、セルサイズが大きいほど取得間隔を広くする。また、そのセルサイズは、メモリ35などの記憶手段に、前回の情報コード読み取り時に決定したセルサイズを記憶しておき、記憶手段に記憶してあるセルサイズを用いる。あるいは、それに代えて、セルサイズをユーザが操作スイッチ42から入力できるようにしておき、その入力されたセルサイズに基づいて画素情報の取得間隔を決定してもよい。
(第1実施形態の変形例2)
この変形例2では、図4のフローチャートに代えて、図8に示すフローチャートを実行する。図8においては、ステップS18以下を示しているが、ステップS10からステップS18までは図4と同じ処理を実行する。
Note that the pixel information acquisition interval in creating a rough image is determined based on the cell size. More specifically, the acquisition interval is increased as the cell size increases. As the cell size, the cell size determined at the time of reading the previous information code is stored in a storage unit such as the memory 35, and the cell size stored in the storage unit is used. Alternatively, the cell size may be input from the operation switch 42 by the user, and the pixel information acquisition interval may be determined based on the input cell size.
(Modification 2 of the first embodiment)
In the second modification, the flowchart shown in FIG. 8 is executed instead of the flowchart shown in FIG. Although FIG. 8 shows step S18 and subsequent steps, the same processing as in FIG. 4 is executed from step S10 to step S18.

この変形例2では、図8に示すように、ステップS18を実行した後、ステップS19−1へ進む。ステップS19−1では、ステップS18で決定した情報コード角に対してステップS16で推定した推定セルサイズに基づいて定まる膨張フィルタをかける処理を行う。膨張フィルタをかける範囲として指定する指定範囲は、ステップS18で推定したコード外形よりも、ステップS18で決定した情報コード角に対してステップS16で推定した推定セルサイズ分だけ大きい範囲とする。なお、4つの情報コード角に対応して推定セルサイズも4つ存在するので、その平均値を用いる。この指定範囲に対して、推定セルサイズに基づいた大きさ(たとえば4つの推定セルサイズの平均の大きさ)の膨張フィルタを適用する。図9の画像は、この膨張フィルタ処理の効果を説明する画像であり、図9(A)は膨張フィルタ処理をする前の原画像、図9(B)は膨張フィルタ処理をした後の画像である。図9(B)から分かるように、膨張フィルタ処理をすることで、情報コードは全体的に黒く塗りつぶされたような画像となり、小さなコーナーがほとんどなくなっている。   In this modification 2, as shown in FIG. 8, after performing step S18, it progresses to step S19-1. In step S19-1, a process of applying an expansion filter determined based on the estimated cell size estimated in step S16 to the information code angle determined in step S18 is performed. The designated range designated as the range to be subjected to the expansion filter is a range larger than the code outer shape estimated in step S18 by the estimated cell size estimated in step S16 with respect to the information code angle determined in step S18. Since there are four estimated cell sizes corresponding to the four information code angles, the average value is used. An expansion filter having a size based on the estimated cell size (for example, an average size of four estimated cell sizes) is applied to the designated range. The image in FIG. 9 is an image for explaining the effect of the expansion filter processing. FIG. 9A is an original image before the expansion filter processing, and FIG. 9B is an image after the expansion filter processing. is there. As can be seen from FIG. 9B, by performing the expansion filter process, the information code becomes an image that is entirely painted black, and there are almost no small corners.

続くステップS19−2では、ステップS19−1で膨張フィルタをかけた後の画像に対して、再度、コーナー検出処理を行う。図9(B)に示したように、膨張フィルタをかけることにより小さなコーナーがほとんどなくなることから、精度良く、情報コードの外形を規定する4つのコーナーを検出することができる。続くステップS19−3では、ステップS19−2で検出した4つのコーナーからコード外形を再決定する。なお、ここでの処理は、4つのコーナーをそのままコード外形における4つのコーナーとすることもできるし、また、膨張フィルタで膨張した分だけ4つのコーナーの位置を移動させてコード外形のコーナーを決定してもよい。   In subsequent step S19-2, the corner detection process is performed again on the image after applying the expansion filter in step S19-1. As shown in FIG. 9B, by applying an expansion filter, there are almost no small corners, so that four corners that define the outer shape of the information code can be detected with high accuracy. In the following step S19-3, the code outline is re-determined from the four corners detected in step S19-2. In this process, the four corners can be used as they are as the four corners of the code outline, or the positions of the four corners are moved by the amount expanded by the expansion filter to determine the corner of the code outline. May be.

以降のステップS20〜S26は、ステップS19−3で再決定したコード外形を用いる以外は、図4と同じである。   Subsequent steps S20 to S26 are the same as those in FIG. 4 except that the code outline redetermined in step S19-3 is used.

この変形例2によれば、膨張フィルタをかけることにより、情報コード内の小さなコーナーが減少した画像を用いてコーナー検出を行う。よって、精度良く、情報コードの外形を規定する4つのコーナーを検出することができ、ひいては、情報コードの読取精度が向上する。
(第2実施形態)
次に、第2実施形態を説明する。第2実施形態は、第1実施形態と同じ機械的構成を備えている。ただし、第2実施形態は、二次元コードを対象として情報を読み取る。第2実施形態でも、制御回路40は情報読み取り処理を行うが、この処理の具体的内容は第1実施形態と相違する。
According to the second modification, corner detection is performed using an image in which small corners in the information code are reduced by applying an expansion filter. Therefore, it is possible to detect the four corners that define the outer shape of the information code with high accuracy, thereby improving the reading accuracy of the information code.
(Second Embodiment)
Next, a second embodiment will be described. The second embodiment has the same mechanical configuration as the first embodiment. However, in the second embodiment, information is read for a two-dimensional code. Also in the second embodiment, the control circuit 40 performs the information reading process, but the specific content of this process is different from the first embodiment.

図10は、第2実施形態における情報読み取り処理を示すフローチャートである。まず、ステップS30では、図4のステップS10と同じエッジ検出処理を行なう。続くステップS32では、図4のステップS12と同じコーナー検出処理を行なう。このステップS32は特徴点検出手段に相当する。   FIG. 10 is a flowchart showing information reading processing in the second embodiment. First, in step S30, the same edge detection process as in step S10 of FIG. 4 is performed. In the subsequent step S32, the same corner detection process as in step S12 of FIG. 4 is performed. This step S32 corresponds to feature point detection means.

続くステップS34は、特許請求の範囲の特徴情報決定手段に相当しており、ステップS32のコーナー検出処理で検出した複数のコーナーについて、それぞれ、特徴情報を決定する。この特徴情報は、本実施形態では、エッジ線ベクトルおよびエッジ強度とする。このステップS34は、特許請求の範囲の特徴情報決定手段に相当する。   The subsequent step S34 corresponds to the feature information determining means in the claims, and the feature information is determined for each of the plurality of corners detected by the corner detection processing in step S32. In the present embodiment, this feature information is an edge line vector and an edge strength. This step S34 corresponds to the characteristic information determining means in the claims.

続くステップS36では、ステップS32で検出したコーナーから、上記ステップS34で決定した特徴情報と、コーナーの互いの位置から、二次元コードに含まれるコーナーをコーナー群とする。二次元コードは、縦横に配列された多数のセルを有していることから、コーナー検出処理(S32)を行なうと、二次元コード内には、多数のコーナーが検出される。しかも、同じコード内であることから、二次元コード内のコーナーは、エッジ強度やエッジ線ベクトルの大きさ(前述の特徴情報)も類似している。換言すれば、類似した特徴情報を持つコーナーが密集している範囲が二次元コードの範囲であると推定することができる。そこで、ステップS36では、他のコーナーと距離が近接し、且つ、ステップS34で決定した特徴情報も近接するコーナーと近似するという条件に基づいてコーナーを抽出する。そして、抽出したコーナー全体をコーナー群とする。なお、距離が近接するかどうかは、たとえば、コーナー間の画素数が所定画素数以内であることにより判断する。また、特徴情報が近接するかどうかは、特徴情報の差や比が所定値以内であることにより判断する。このステップS36は、特許請求の範囲のコーナー群決定手段に相当する。   In the subsequent step S36, the corners included in the two-dimensional code are defined as the corner group from the feature information determined in step S34 and the positions of the corners from the corner detected in step S32. Since the two-dimensional code has a large number of cells arranged vertically and horizontally, when corner detection processing (S32) is performed, a large number of corners are detected in the two-dimensional code. Moreover, since they are in the same code, the corners in the two-dimensional code are similar in edge strength and edge line vector size (the above-mentioned feature information). In other words, it can be estimated that the range where the corners having similar feature information are dense is the range of the two-dimensional code. Therefore, in step S36, the corner is extracted based on the condition that the distance is close to other corners and the feature information determined in step S34 is also approximated to the close corner. Then, the entire extracted corner is set as a corner group. Whether or not the distance is close is determined by, for example, the number of pixels between corners being within a predetermined number of pixels. Further, whether or not the feature information is close is determined by the difference or ratio of the feature information being within a predetermined value. This step S36 corresponds to the corner group determining means in the claims.

続くステップS38は、特許請求の範囲の外形推定手段に相当しており、ステップS36で決定したコーナー群の全体形状に基づいて二次元コードの外形を推定する。本実施形態では、まず、コーナー群の全体形状から膨張フィルタをかける範囲を決定する。たとえば、コーナー群内の全てのコーナーを含む四角形(コーナー群の外接四角形)を指定範囲とする。そして、指定範囲に対して膨張フィルタをかける。膨張フィルタの大きは、たとえば、推定セルサイズの大きさ(あるいはそれに基づいて定まる大きさ)とし、その推定セルサイズは、上記推定した外形内の一部または全部に対して、第1実施形態のステップS22と同様にして求める。このようにして膨張フィルタを適用したら、図8のステップS19−2と同様に、コーナー検出処理を行なう。さらにステップS19−3と同様に、コード外形を再決定する。   The subsequent step S38 corresponds to the outer shape estimation means in the claims, and estimates the outer shape of the two-dimensional code based on the overall shape of the corner group determined in step S36. In the present embodiment, first, a range for applying the expansion filter is determined from the overall shape of the corner group. For example, a rectangle including all corners in the corner group (a circumscribed rectangle in the corner group) is set as the designated range. Then, an expansion filter is applied to the specified range. The size of the expansion filter is, for example, the size of the estimated cell size (or a size determined based on the size), and the estimated cell size is the same as that of the first embodiment with respect to part or all of the estimated outer shape. It calculates | requires similarly to step S22. When the expansion filter is applied in this way, corner detection processing is performed as in step S19-2 of FIG. Further, the code outer shape is re-determined as in step S19-3.

ステップS40では、図4のステップS20と同様にして、コード軸角度を決定する。ステップS42では、図4のステップS22と同様にして、セルサイズを決定する。そして、ステップS44では、ステップS38〜42で決定したコード外形、コード軸角度、セルサイズを用いてデコード処理を行なう。これらステップS40、S42、S44は、それぞれ、特許請求の範囲のコード軸角度決定手段、セルサイズ決定手段、デコード処理手段に相当する。   In step S40, the code shaft angle is determined in the same manner as in step S20 of FIG. In step S42, the cell size is determined in the same manner as in step S22 of FIG. In step S44, decoding is performed using the code outline, code axis angle, and cell size determined in steps S38 to S42. These steps S40, S42, and S44 correspond to the code axis angle determining means, the cell size determining means, and the decoding processing means, respectively, in the claims.

以上、説明した第2実施形態によれば、コーナー検出処理をした後、各コーナーの特徴情報(エッジ強度、エッジ線ベクトル)を決定している(ステップS34)。そして、他のコーナーと距離が近接するとともに、近接するコーナーと特徴情報も近似するものを、二次元コードのコーナー群として決定し(ステップS36)、このコーナー群の全体形状に基づいて二次元コードの外形を推定している(ステップS38)。このように、第2実施形態でも、特徴パターンを検出することなく、コード外形を推定していることから、特徴パターンが検出できないような画像であっても、コード外形を推定することができる。また、さらに、コード軸角度およびセルサイズも、特徴パターンを利用せずに決定している。よって、特徴パターンの検出ができなくてもデコード処理が可能となるので、情報コードから情報が読み取れないことが少なくなる。   As described above, according to the second embodiment described above, after corner detection processing, feature information (edge strength, edge line vector) of each corner is determined (step S34). Then, the corners of the two-dimensional code that are close in distance to the other corners and approximate the feature information of the adjacent corners are determined as the corner group of the two-dimensional code (step S36), and the two-dimensional code is based on the overall shape of the corner group. Is estimated (step S38). As described above, in the second embodiment as well, the code outline is estimated without detecting the feature pattern. Therefore, the code outline can be estimated even for an image in which the feature pattern cannot be detected. Further, the code axis angle and the cell size are also determined without using the feature pattern. Therefore, even if the feature pattern cannot be detected, the decoding process can be performed, so that information cannot be read from the information code.

以上、本発明の実施形態を説明したが、本発明は上述の実施形態に限定されるものではなく、次の実施形態も本発明の技術的範囲に含まれ、さらに、下記以外にも要旨を逸脱しない範囲内で種々変更して実施することができる。
ただし、いずれか一方のみを特徴情報として決定してもよい。
As mentioned above, although embodiment of this invention was described, this invention is not limited to the above-mentioned embodiment, The following embodiment is also contained in the technical scope of this invention, and also the summary other than the following is also included. Various modifications can be made without departing from the scope.
However, only one of them may be determined as feature information.

たとえば、前述の実施形態では、エリアセンサ23はモノクロのセンサであったが、エリアセンサ23としてカラーセンサを用いてもよい。ただし、情報コードはセル(あるいは線)とそれ以外の2色であることから、情報コードの読み取りの際には、1対の色(たとえば白黒)で処理を行なうことが好ましい。   For example, in the above-described embodiment, the area sensor 23 is a monochrome sensor, but a color sensor may be used as the area sensor 23. However, since the information code is a cell (or line) and the other two colors, it is preferable to process with a pair of colors (for example, black and white) when reading the information code.

また、前述の第2実施形態では、特徴情報として、エッジ線ベクトルおよびエッジ強度を決定していたが、いずれか一方のみを特徴情報として決定してもよい。   In the second embodiment described above, the edge line vector and the edge strength are determined as the feature information. However, only one of them may be determined as the feature information.

10:情報コード読み取り装置、 11:ハウジング本体、 11a:読取口、 12:グリップ部、 14:トリガースイッチ、 15:プリント配線板、 16:プリント配線板、 20:回路部、 21:発光ダイオード、 23:エリアセンサ(受光センサ)、 23a:受光面、 27:結像レンズ、 31:増幅回路、 33:A/D変換回路、 35:メモリ、 36:アドレス発生回路、 38:同期信号発生回路、 40:制御回路、 41:電源スイッチ、 42:操作スイッチ、 43:LED、 44:ブザー、 48:通信インタフェース、 49:電池、 60:マーカ光投射器、 62:レーザダイオード、 64:コリメートレンズ、 66:回折格子プレート、 68:視野絞り、 D:情報コード、 E:読み取り範囲、 Lf:照明光、 Lr:反射光、 M:位置決め用マーカ光、 R:読み取り面、 S12:特徴点検出手段、 S14:情報コード角候補抽出手段、 S16:角候補情報算出手段、 S18:外形推定手段、 S20:コード軸角度決定手段、 S22:セルサイズ決定手段、 S24:コード種判定手段、 S26:デコード処理手段、 S32:特徴点検出手段、 S34:特徴情報決定手段、 S36:コーナー群決定手段、 S38:外形推定手段、 S40:コード軸角度決定手段、 S42:セルサイズ決定手段、 S44:デコード処理手段 10: Information code reading device 11: Housing body 11a: Reading port 12: Grip part 14: Trigger switch 15: Printed wiring board 16: Printed wiring board 20: Circuit part 21: Light emitting diode 23 : Area sensor (light receiving sensor), 23a: light receiving surface, 27: imaging lens, 31: amplification circuit, 33: A / D conversion circuit, 35: memory, 36: address generation circuit, 38: synchronization signal generation circuit, 40 : Control circuit, 41: power switch, 42: operation switch, 43: LED, 44: buzzer, 48: communication interface, 49: battery, 60: marker light projector, 62: laser diode, 64: collimating lens, 66: Times Lattice plate, 68: Field stop, D: Information code, E: Reading range, Lf: Illumination light, Lr: Reflected light, M: Positioning marker light, R: Reading surface, S12: Feature point detection means, S14: Information Code angle candidate extraction means, S16: Corner candidate information calculation means, S18: Outline estimation means, S20: Code axis angle determination means, S22: Cell size determination means, S24: Code type determination means, S26: Decode processing means, S32: Feature point detection means, S34: Feature information determination means, S36: Corner group determination means, S38: Outline estimation means, S40: Code axis angle determination means, S42: Cell size determination means, S44: Decode processing means

Claims (9)

カメラを備え、前記カメラにより情報コードの画像を撮像し、撮像した画像に基づいて情報コードから情報を読み取る情報コード読み取り装置であって、
前記カメラで撮影した画像から、コーナーを少なくとも含む特徴点を検出する特徴点検出手段と、
前記特徴点検出手段で検出した特徴点から、特徴点を通るエッジ線ベクトルおよび特徴点の位置に基づいて、前記情報コードの角の候補となる情報コード角候補を抽出する情報コード角候補抽出手段と、
抽出した情報コード角候補の周囲の所定範囲の輝度変化に基づいて、推定セルサイズを、情報コード角候補毎に算出する角候補情報算出手段と、
前記角候補情報算出手段で算出した推定セルサイズの類似の程度に基づいて、情報コード角候補から2〜4つの候補を情報コード角として選択し、選択した情報コード角に基づいて、前記情報コードの外形となる四角形状のコード外形を推定する外形推定手段と、
その外形推定手段で推定したコード外形の内部の複数の点においてエッジ角度を決定し、決定した複数のエッジ角度に基づいて、前記情報コードの基準角度であるコード軸角度を決定するコード軸角度決定手段と、
前記外形推定手段で推定したコード外形の内部であって、且つ、互いに直交する線上での白黒変化数および白黒変化幅を算出し、算出した白黒変化数および白黒変化幅に基づいて、セルサイズを決定するセルサイズ決定手段と、
前記外形推定手段で推定したコード外形、前記コード軸角度決定手段で決定したコード軸角度、前記セルサイズ決定手段で決定したセルサイズに基づいて、情報コードのデコードを行なうデコード処理手段と、を含むことを特徴とする情報コード読み取り装置。
An information code reading device that includes a camera, images an information code by the camera, and reads information from the information code based on the captured image;
Feature point detecting means for detecting a feature point including at least a corner from an image photographed by the camera;
Information code angle candidate extraction means for extracting, from the feature points detected by the feature point detection means, information code angle candidates that are candidates for the corners of the information code based on edge line vectors passing through the feature points and the positions of the feature points When,
Corner candidate information calculation means for calculating an estimated cell size for each information code angle candidate based on a luminance change in a predetermined range around the extracted information code angle candidate;
Based on the degree of similarity of the estimated cell size calculated by the corner candidate information calculation means, 2 to 4 candidates are selected as information code angles from the information code angle candidates, and the information code is selected based on the selected information code angle. An outer shape estimating means for estimating the outer shape of the quadrangular code that is the outer shape of
A code axis angle determination that determines an edge angle at a plurality of points inside the code outline estimated by the outline estimation means, and determines a code axis angle that is a reference angle of the information code based on the determined plurality of edge angles Means,
The black and white change number and the black and white change width within the code outline estimated by the outline estimation means and on the lines orthogonal to each other are calculated, and the cell size is calculated based on the calculated black and white change number and black and white change width. A cell size determining means for determining;
A decoding processor that decodes an information code based on a code outer shape estimated by the outer shape estimating unit, a code axis angle determined by the code axis angle determining unit, and a cell size determined by the cell size determining unit. An information code reading device.
請求項1において、
前記コード軸角度決定手段で複数のエッジに対して決定したエッジ角度に基づいて定まるエッジ角度の度数分布が、一次元コードにおけるエッジ角度の度数分布および二次元コードにおけるエッジ角度の度数分布のいずれであるかを判定することにより、前記情報コードが一次元コードか二次元コードかを判定するコード種判定手段を備え、
前記デコード処理手段は、前記コード種判定手段の判定結果に基づいて、一次元コード用のデコードアルゴリズムおよび二次元コード用のデコードアルゴリズムのいずれを先に用いるかを決定することを特徴とする情報コード読み取り装置。
In claim 1,
The frequency distribution of the edge angle determined based on the edge angle determined for the plurality of edges by the code axis angle determination means is either the frequency distribution of the edge angle in the one-dimensional code or the frequency distribution of the edge angle in the two-dimensional code. A code type determining means for determining whether the information code is a one-dimensional code or a two-dimensional code by determining whether the information code is present;
The decoding processing means determines which one of the one-dimensional code decoding algorithm and the two-dimensional code decoding algorithm to use first based on the determination result of the code type determining means. Reading device.
請求項1または2において、
前記カメラで撮影した画像から、画素情報を一定画素間隔で抽出した粗画像を作成する粗画像作成手段を備え、
前記特徴点検出手段および前記情報コード角候補抽出手段は、粗画像作成手段で作成した粗画像を用いて前記特徴点を検出するとともに、前記情報コード角候補を抽出することを特徴とする情報コード読み取り装置。
In claim 1 or 2,
A coarse image creating means for creating a coarse image obtained by extracting pixel information at a fixed pixel interval from an image photographed by the camera;
The feature code detection means and the information code angle candidate extraction means detect the feature points using the coarse image created by the coarse image creation means, and extract the information code angle candidates. Reading device.
請求項3において、
情報コード読み取り時におけるセルサイズを記憶するセルサイズ記憶手段を備え、
前記粗画像作成手段は、前記セルサイズ記憶手段に記憶されている前回の情報コード読み取り時におけるセルサイズに基づいて、作成する粗画像の粗さを決定することを特徴とする情報コード読み取り装置。
In claim 3,
Cell size storage means for storing the cell size at the time of reading the information code;
The coarse image creating means determines the roughness of the coarse image to be created based on the cell size at the time of reading the previous information code stored in the cell size storage means.
請求項3において、
ユーザがセルサイズを入力するためのセルサイズ入力手段を備え、
前記粗画像作成手段は、前記セルサイズ入力手段に入力されたセルサイズに基づいて、作成する粗画像の粗さを決定することを特徴とする情報コード読み取り装置。
In claim 3,
A cell size input means for a user to input a cell size;
The coarse image creating means determines the roughness of the coarse image to be created based on the cell size input to the cell size input means.
請求項1〜5のいずれか1項において、
前記外形推定手段は、情報コード角候補から選択した情報コード角に基づいて推定したコード外形よりも、前記角候補情報算出手段で算出した推定セルサイズ分だけ大きい範囲を指定範囲として、前記推定セルサイズに基づいて定まる大きさの膨張フィルタをかけ、膨張フィルタをかけた後の上記指定範囲の画像を用いてコーナー検出を行なうことで、情報コードの外形を再決定することを特徴とする情報コード読み取り装置。
In any one of Claims 1-5,
The outer shape estimation means uses the estimated cell as a specified range that is larger than the code outer shape estimated based on the information code angle selected from the information code angle candidates by the estimated cell size calculated by the corner candidate information calculation means. An information code characterized by applying an expansion filter of a size determined based on the size and performing corner detection using the image in the specified range after the expansion filter is applied, thereby re-determining the outer shape of the information code Reading device.
請求項2において、
前記コード種判定手段は、前記エッジ角度の度数分布において、最大度数を中心とする所定角度範囲内の度数の割合が、予め設定した割合以上である場合に、その度数分布は一次元コードの度数分布であると判定することを特徴とする情報コード読み取り装置。
In claim 2,
In the frequency distribution of the edge angle, the code type determining unit determines that the frequency distribution is a frequency of a one-dimensional code when a ratio of the frequency within a predetermined angle range centered on the maximum frequency is equal to or higher than a predetermined ratio. An information code reading device characterized in that it is determined as a distribution.
請求項2において、
前記コード種判定手段は、前記コード外形を垂直走査軸方向に横切り、前記コード外形の一方の端から他方の端までのエッジ角度の度数分布と、前記コード外形を水平走査軸方向に横切り、前記コード外形の一方の端から他方の端までのエッジ角度の度数分布との一致度が一定値以下である場合に、その度数分布は一次元コードの度数分布であると判定することを特徴とする情報コード読み取り装置。
In claim 2,
The code type determination means crosses the code outline in the vertical scanning axis direction, crosses the code outline in the horizontal scanning axis direction, and the frequency distribution of edge angles from one end to the other end of the code outline, When the degree of coincidence with the frequency distribution of the edge angle from one end of the code outer shape to the other end is equal to or less than a certain value, it is determined that the frequency distribution is a frequency distribution of a one-dimensional code Information code reader.
カメラを備え、前記カメラにより情報コードの画像を撮像し、撮像した画像に基づいて情報コードから情報を読み取る情報コード読み取り装置であって、
前記カメラで撮影した画像から、コーナーを少なくとも含む特徴点を検出する特徴点検出手段と、
前記特徴点検出手段で検出した各特徴点に対して、それぞれ、エッジ強度およびエッジ線ベクトルの大きさのいずれか少なくとも一方である特徴情報を決定する特徴情報決定手段と、
その特徴情報に基づいて、前記特徴点検出手段が検出した特徴点から、コーナーであって、且つ、他のコーナーと距離が近接するとともに、近接するコーナーと前記特徴情報も近似するコーナー群を決定するコーナー群決定手段と、
前記コーナー群決定手段で決定したコーナー群の全体形状に基づいて情報コードの外形を推定する外形推定手段と、
その外形推定手段で推定したコード外形の内部の複数の点においてエッジ角度を決定し、決定した複数のエッジ角度に基づいて、前記情報コードの基準角度であるコード軸角度を決定するコード軸角度決定手段と、
前記外形推定手段で推定したコード外形の内部であって、且つ、互いに直交する線上での白黒変化数および白黒変化幅を算出し、算出した白黒変化数および白黒変化幅に基づいて、セルサイズを決定するセルサイズ決定手段と、
前記外形推定手段で推定したコード外形、前記コード軸角度決定手段で決定したコード軸角度と、前記セルサイズ決定手段で決定したセルサイズに基づいて、情報コードのデコードを行なうデコード処理手段と、を含むことを特徴とする情報コード読み取り装置。
An information code reading device that includes a camera, images an information code by the camera, and reads information from the information code based on the captured image;
Feature point detecting means for detecting a feature point including at least a corner from an image photographed by the camera;
For each feature point detected by the feature point detection means, feature information determination means for determining feature information that is at least one of edge strength and edge line vector,
Based on the feature information, a corner group is determined from the feature points detected by the feature point detection means, which is a corner and is close in distance to other corners, and which also approximates the adjacent corner and the feature information. A corner group determining means to perform,
An outer shape estimating means for estimating the outer shape of the information code based on the overall shape of the corner group determined by the corner group determining means;
A code axis angle determination that determines an edge angle at a plurality of points inside the code outline estimated by the outline estimation means, and determines a code axis angle that is a reference angle of the information code based on the determined plurality of edge angles Means,
The black and white change number and the black and white change width within the code outline estimated by the outline estimation means and on the lines orthogonal to each other are calculated, and the cell size is calculated based on the calculated black and white change number and black and white change width. A cell size determining means for determining;
Decoding processing means for decoding information code based on the code outer shape estimated by the outer shape estimating means, the code axis angle determined by the code axis angle determining means, and the cell size determined by the cell size determining means, An information code reading device comprising:
JP2011180510A 2011-08-22 2011-08-22 Information code reader Active JP5601291B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011180510A JP5601291B2 (en) 2011-08-22 2011-08-22 Information code reader

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011180510A JP5601291B2 (en) 2011-08-22 2011-08-22 Information code reader

Publications (2)

Publication Number Publication Date
JP2013045149A true JP2013045149A (en) 2013-03-04
JP5601291B2 JP5601291B2 (en) 2014-10-08

Family

ID=48009039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011180510A Active JP5601291B2 (en) 2011-08-22 2011-08-22 Information code reader

Country Status (1)

Country Link
JP (1) JP5601291B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112446225A (en) * 2019-09-05 2021-03-05 西克股份公司 Determination of module size for optical codes

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5487115A (en) * 1992-05-14 1996-01-23 United Parcel Service Method and apparatus for determining the fine angular orientation of bar code symbols in two-dimensional CCD images
JP2005173646A (en) * 2003-12-05 2005-06-30 Fujitsu Ltd Code-kind discrimination method and code border detecting method
JP2005316755A (en) * 2004-04-28 2005-11-10 Nec Electronics Corp Two-dimensional rectangular code symbol reader and two-dimensional rectangular code symbol reading method
JP2009301275A (en) * 2008-06-12 2009-12-24 Nippon Telegr & Teleph Corp <Ntt> Image conversion device, image conversion method, image conversion program, and computer-readable recording medium recording the image conversion program
JP2010092211A (en) * 2008-10-07 2010-04-22 Casio Computer Co Ltd Symbol reading device and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5487115A (en) * 1992-05-14 1996-01-23 United Parcel Service Method and apparatus for determining the fine angular orientation of bar code symbols in two-dimensional CCD images
JP2005173646A (en) * 2003-12-05 2005-06-30 Fujitsu Ltd Code-kind discrimination method and code border detecting method
JP2005316755A (en) * 2004-04-28 2005-11-10 Nec Electronics Corp Two-dimensional rectangular code symbol reader and two-dimensional rectangular code symbol reading method
JP2009301275A (en) * 2008-06-12 2009-12-24 Nippon Telegr & Teleph Corp <Ntt> Image conversion device, image conversion method, image conversion program, and computer-readable recording medium recording the image conversion program
JP2010092211A (en) * 2008-10-07 2010-04-22 Casio Computer Co Ltd Symbol reading device and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112446225A (en) * 2019-09-05 2021-03-05 西克股份公司 Determination of module size for optical codes

Also Published As

Publication number Publication date
JP5601291B2 (en) 2014-10-08

Similar Documents

Publication Publication Date Title
EP3007096B1 (en) Depth sensor based auto-focus system for an indicia scanner
US8773514B2 (en) Accurate 3D object reconstruction using a handheld device with a projected light pattern
US7481369B2 (en) Method and apparatus for optically picking up an image of an information code
JP6667065B2 (en) Position estimation device and position estimation method
US8079524B2 (en) Imaging-based scanner including border searching for image acquisition
US7545722B2 (en) Method and apparatus for optically reading information attached to a target
JP2020074057A (en) System and method for auto-focusing vision system camera on barcodes
CN107463659B (en) Object searching method and device
CN108351955B (en) Compact imaging module with rangefinder
CN114760410A (en) Systems, methods, and apparatus for focus selection using image disparity
JP5601291B2 (en) Information code reader
JP5862217B2 (en) Marker detection and tracking device
WO2017205065A1 (en) Arrangement for, and method of, determining a target distance and adjusting reading parameters of an imaging reader based on target distance
US11717970B2 (en) Controller, control method using controller, and control system
JP5533739B2 (en) Optical information reader
JP5034693B2 (en) Code reading apparatus and method
JP5810997B2 (en) Two-dimensional code reader
CN110390221B (en) Optimized barcode decoding in a multi-imager barcode reader and imaging engine
JP6638614B2 (en) Optical information reader
JP5780192B2 (en) Information code reader
JP2010250408A (en) Optical information reader
JP5282559B2 (en) Information code reader
JP5381928B2 (en) Optical information reader
JP2010097316A (en) Optical information reader
JP2011028420A (en) Marker generation device, system and device for generating and detecting marker, marker, marker generation method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140707

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140722

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140804

R150 Certificate of patent or registration of utility model

Ref document number: 5601291

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250