JP2002329163A - Device method and program for multi-valued image binarization, and device, method and program for reading two-dimensional code - Google Patents
Device method and program for multi-valued image binarization, and device, method and program for reading two-dimensional codeInfo
- Publication number
- JP2002329163A JP2002329163A JP2001107564A JP2001107564A JP2002329163A JP 2002329163 A JP2002329163 A JP 2002329163A JP 2001107564 A JP2001107564 A JP 2001107564A JP 2001107564 A JP2001107564 A JP 2001107564A JP 2002329163 A JP2002329163 A JP 2002329163A
- Authority
- JP
- Japan
- Prior art keywords
- cell
- dimensional code
- area
- timing
- timing cell
- 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.)
- Pending
Links
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、多値画像2値化装
置、方法および該方法を実行させるためのプログラムに
係り、特に、複数のドットの組み合わせで表現される文
字、図形またはこれらの組み合わせ(以下、総称して記
号という)や前記記号に含まれる2次元コード等を撮像
して得た多値画像を2値化するための多値画像2値化装
置、多値画像2値化方法および多値画像2値化プログラ
ムに関する。さらに、2次元コード読取装置、方法およ
び該方法を実行させるためのプログラムに係り、特に、
2次元コードを撮像して得た多値画像から2次元コード
を読み取る2次元コード読取装置、2次元コード読取方
法および2次元コード読取プログラムに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus and method for binarizing a multi-valued image and a program for executing the method. More particularly, the present invention relates to a character or graphic represented by a combination of a plurality of dots or a combination thereof. (Hereinafter, collectively referred to as a symbol), a multi-value image binarization device for binarizing a multi-value image obtained by imaging a two-dimensional code or the like included in the symbol, and a multi-value image binarization method And a multi-valued image binarization program. Further, the present invention relates to a two-dimensional code reader, a method, and a program for executing the method,
The present invention relates to a two-dimensional code reader, a two-dimensional code reading method, and a two-dimensional code reading program for reading a two-dimensional code from a multivalued image obtained by imaging a two-dimensional code.
【0002】[0002]
【従来の技術】以前より、物品に文字や図形等の記号を
付与し、前記物品の識別・管理が行われているが、その
一つの具体例としては付与(記録)する情報を2進数と
し、該2進数を複数のドットによって2値表示すること
が知られている。2. Description of the Related Art For a long time, a symbol such as a character or a figure is given to an article to identify and manage the article. One specific example is that information to be given (recorded) is represented by a binary number. It is known that the binary number is represented in binary by a plurality of dots.
【0003】また、他の方法として、互いに平行で幅の
異なる複数の線分の組み合わせによって情報を管理する
バーコードが広く用いられているが、近年バーコードよ
りも大量の情報を記録するための手段として2次元コー
ドが利用されている。As another method, a barcode for managing information by a combination of a plurality of line segments which are parallel to each other and have different widths has been widely used. In recent years, a barcode for recording a larger amount of information than a barcode has been used. A two-dimensional code is used as a means.
【0004】前記2次元コードとしては、データマトリ
ックス(インターナショナル・データ・メイトリックス
・インク社登録商標)コード、ベリコード(三菱商事社
登録商標)、QRコード(デンソー社登録商標)、シー
ピーコード(CPコード;帝菱産業社登録商標)等のよ
うに、記録する情報を2進数とし、白(明)と黒(暗)
等のように2値を表現するセル(格子)を縦方向および
横方向に2次元状に並べて前記情報を表現するマトリッ
クス式2次元コード(以下、2次元コードという)が知
られている。The two-dimensional code includes a data matrix (registered trademark of International Data Matrix Inc.), a Vericode (registered trademark of Mitsubishi Corporation), a QR code (registered trademark of Denso Corporation), a C code (CP code) The information to be recorded is a binary number such as Teishi Corporation (registered trademark), and white (bright) and black (dark)
A matrix-type two-dimensional code (hereinafter, referred to as a two-dimensional code) that expresses the information by arranging cells (lattices) that represent binary values two-dimensionally in a vertical direction and a horizontal direction like this is known.
【0005】なお、2値の表現方法としては前記のよう
な白(明)と黒(暗)とに着色されたセルを用いる方法
に限られず、物品表面における凸部または凹部の有無に
よって2値を表現する方法、または液晶ディスプレイや
陰極線管のような情報表示装置に色の異なる2種類のセ
ルを表示する方法等、一方のセルと他方のセルとが異な
る特徴や性質を有するものであればよい。また、前記ド
ットは丸型形状に限らず、多角形や楕円形等、小さな点
を表現し得る形状であればよい。The method of expressing a binary value is not limited to the method using cells colored white (bright) and black (dark) as described above. If one cell and the other cell have different characteristics or properties, such as a method of expressing a cell or a method of displaying two types of cells with different colors on an information display device such as a liquid crystal display or a cathode ray tube Good. The dot is not limited to a round shape, but may be any shape that can represent a small point, such as a polygon or an ellipse.
【0006】前記のような方式で物品に記録された記号
や2次元コード(以下、記号および2次元コードを総称
してコードという)は様々な物品に付与されており、該
コードをCCDカメラ(電荷結合素子カメラ)やスキャ
ナ装置等で撮像して多値画像として取り込み、該多値画
像を加工・処理することによって記録された情報を読み
取っている。ここで情報を正しく読み取るには、多値画
像中に存在するコードの位置や形状を正確に読み取った
うえで、コードを構成する複数のドットやセルが表す2
値情報を正しく判別する必要がある。[0006] Symbols and two-dimensional codes (hereinafter, collectively referred to as symbols and two-dimensional codes) recorded on articles in the above-described manner are given to various articles, and the codes are transferred to a CCD camera ( The image is captured by a charge coupled device camera) or a scanner device, captured as a multi-valued image, and the recorded information is read by processing and processing the multi-valued image. Here, in order to correctly read the information, after accurately reading the position and shape of the code existing in the multi-valued image, a plurality of dots and cells represented by a plurality of dots constituting the code are used.
It is necessary to correctly determine the value information.
【0007】撮像した多値画像から2次元コードの情報
を読み取る方法のうち、データマトリックスコードを例
にとって以下に説明する。データマトリックスコードと
は、ガイドセル、タイミングセルおよびデータセルから
構成され、具体的には図1に示されるようにガイドセル
は略L字形状に配置されガイドセル列を構成して画像中
における2次元コードの位置および形状を求めるための
基準である。A method of reading information of a two-dimensional code from a captured multi-valued image will be described below by taking a data matrix code as an example. The data matrix code includes a guide cell, a timing cell, and a data cell. Specifically, as shown in FIG. 1, the guide cells are arranged in a substantially L-shape, form a guide cell row, and form two rows in the image. This is a reference for obtaining the position and shape of the dimensional code.
【0008】またタイミングセルは、前記ガイドセルに
対して平行な位置に断続的かつ等間隔に配置されてタイ
ミングセル列を構成しデータセルの位置を求めるための
基準であり、またデータセルは前記のガイドセルとタイ
ミングセルに囲まれる四角形の内側に配置され記録され
た2値情報を表す。なお、特にことわりなく「セル」と
表記されている場合はガイドセル、タイミングセルおよ
びデータセルの総称を指す。The timing cells are intermittently and equidistantly arranged at positions parallel to the guide cells to form a timing cell row and serve as a reference for determining the positions of the data cells. Represents the recorded binary information which is arranged inside a rectangle surrounded by the guide cells and the timing cells. It should be noted that the term “cell” is used to refer to a general term of a guide cell, a timing cell, and a data cell.
【0009】従来、このような2次元コードを含む領域
を撮像して得た多値画像から2次元コードに記録された
情報を読み取るには、多値画像を2値画像とする多値画
像2値化手段(A)と、2値画像から2次元コードを検
出する2次元コード検出手段(B)と、2次元コードの
タイミングセルを検出するタイミングセル検出手段
(C)と、2次元コードのデータセル位置を検出し該デ
ータセルの論理値を判定するデータ判定手段(D)とを
備えたプログラムによって機能する演算装置を備えた2
次元コード読取装置が一般的に用いられている。Conventionally, in order to read information recorded in a two-dimensional code from a multi-valued image obtained by imaging an area including such a two-dimensional code, a multi-valued image having a multi-valued image as a binary image is used. Binarizing means (A), two-dimensional code detecting means (B) for detecting a two-dimensional code from a binary image, timing cell detecting means (C) for detecting a two-dimensional code timing cell, and two-dimensional code A data determining means (D) for detecting a data cell position and determining a logical value of the data cell;
Dimensional code readers are commonly used.
【0010】具体的には、前記の多値画像2値化手段
(A)としては、多値画像全体の中の最大輝度値と最小
輝度値との中央値(メジアン)や、多値画像全体の輝度
値の算術平均等、固定のしきい値によって2次元コード
を含む多値画像全体を2値化する手段や、多値画像全体
をシェーディング補正した後、補正後の画像全体を固定
しきい値で2値化する手段や、多値画像全体を該多値画
像より小さな領域に分割して多数の小領域を生成し、そ
れぞれの小領域中の輝度値の算術平均値等の固定しきい
値を求めて2値化する手段等が知られている。More specifically, the multi-value image binarization means (A) includes a median (maximum value) of the maximum luminance value and the minimum luminance value in the entire multi-value image, Means for binarizing the entire multi-valued image including the two-dimensional code using a fixed threshold value such as the arithmetic mean of the luminance values of the pixels, or shading correction of the entire multi-valued image, and then fixing the entire corrected image. Means for binarizing the multivalued image, dividing the entire multivalued image into regions smaller than the multivalued image to generate a large number of small regions, and fixing a fixed threshold such as an arithmetic average of luminance values in each small region. Means for obtaining a value and binarizing the value are known.
【0011】また2次元コード検出手段(B)として
は、2値画像中において画素の群からなる図形の輪郭線
縁を追跡する輪郭追跡処理や、連接する画素の群を一つ
の図形としてラベルを付与し識別するラベリング処理等
により、前記2値画像に含まれる複数の図形の位置およ
び形状を検出し、これらの図形の中で当該2次元コード
におけるセルの設計形状に類似し、かつ直交する2本の
直線を形成する図形の列を検出して該図形列をガイドセ
ル列とすることによって該ガイドセル列を外周の一部と
する2次元コードの位置および傾斜角度を得る手段が知
られている。The two-dimensional code detecting means (B) includes a contour tracing process for tracing a contour edge of a figure composed of a group of pixels in a binary image, and a method of labeling a group of connected pixels as one figure. The positions and shapes of a plurality of figures included in the binary image are detected by a labeling process or the like provided and identified, and two or more of the figures are similar to and orthogonal to the cell design shape in the two-dimensional code. There is known a means for detecting a row of graphics forming a straight line of a book and obtaining the position and inclination angle of a two-dimensional code having the guide cell row as a part of the outer periphery by detecting the graphic row as a guide cell row. I have.
【0012】またタイミングセル検出手段(C)として
は、前記2次元コード検出手段において検出されたガイ
ドセル列に対向する図形の列を検出し、該図形列のうち
一定の間隔に並ぶ図形の中心をタイミングセルの位置と
して検出する手段が知られている。The timing cell detecting means (C) detects a row of graphics opposite to the guide cell row detected by the two-dimensional code detection means, and detects the center of the graphics arranged at a predetermined interval in the graphics row. Is known as a timing cell position.
【0013】さらにデータ判定手段(D)としては、各
タイミングセルの中心を通過するガイドセル列の法線が
他の法線と交差する点をデータセルの位置と定め、該デ
ータセルの位置を内部に含むラベル(前記ラベリング処
理により認識された図形)または輪郭(前記輪郭処理に
より認識された図形の輪郭)が存在するとき、このデー
タセルの論理値を判定する手段が知られている。Further, the data determination means (D) determines a point where a normal line of a guide cell row passing through the center of each timing cell intersects another normal line as a data cell position, and determines the position of the data cell. When there is a label (a figure recognized by the labeling process) or a contour (a contour of the figure recognized by the contour processing) included therein, there is known means for determining a logical value of the data cell.
【0014】[0014]
【発明が解決しようとする課題】しかし、前記各手段か
らなる2次元コード読み取り装置は、多値画像に輝度ム
ラやノイズが少なく、データセルの位置ずれがなく、デ
ータセル形状に滲みまたは欠けのような変形がなく安定
している場合には有効であるが、これらの条件を満足し
ない場合様々な問題の原因となる。However, the two-dimensional code reading apparatus comprising the above means has little unevenness in brightness and noise in the multi-valued image, has no data cell displacement, and has a blurred or missing data cell shape. It is effective when the deformation is stable without such deformation, but when these conditions are not satisfied, it causes various problems.
【0015】例えば、多値画像に輝度ムラがあると正確
に2値化ができない問題があり、多値画像にノイズがあ
ると該ノイズが障害となって2次元コードの読取エラー
の原因になる問題があり、またセルの位置ずれや変形が
ある場合にはガイドセルやタイミングセルの検出が困難
になるためデータセルの判定が不正確になり、読み取ら
れた情報の信頼性が低下するという問題があった。For example, if the multi-valued image has luminance unevenness, there is a problem that the binarization cannot be performed accurately. If the multi-valued image has noise, the noise becomes an obstacle and causes a reading error of the two-dimensional code. If there is a problem and the cell is misaligned or deformed, it will be difficult to detect the guide cell and the timing cell, so that the data cell determination will be inaccurate and the reliability of the read information will be reduced. was there.
【0016】前記の問題は、2次元コードの場合に限ら
れず、複数ドットで表現される記号を撮像して得た多値
画像を2値化した後、2値画像の中から記号を検出する
場合にも同様であり、ノイズや輝度ムラによって記号の
検出が困難になる問題があった。The above problem is not limited to a two-dimensional code, but after binarizing a multi-valued image obtained by imaging a symbol represented by a plurality of dots, the symbol is detected from the binary image. The same applies to the case, and there is a problem that it is difficult to detect a symbol due to noise or uneven brightness.
【0017】このような問題、特に2次元コードを撮像
した多値画像の2値化における問題を解決するための手
段として、特開平10−63771号公報には、複数の
小領域を決定するとともに前記各小領域の中のセルの所
定画素の濃度値の最大値と最小値の平均値および振幅と
を求め、隣接する小領域同士の前記振幅を比較し一方に
対して他方が所定値以下の振幅をもつ小領域である場合
にはその小領域に隣接する小領域に基づいてしきい値を
決定する局所しきい値決定手段を備えた2次元コード読
み取り装置により、処理時間が短く輝度ムラの影響を受
けないでセルを2値化できることが開示されている。As means for solving such a problem, in particular, the problem of binarizing a multi-valued image obtained by capturing a two-dimensional code, Japanese Patent Laid-Open No. 10-63771 discloses a method for determining a plurality of small areas. The average value and the amplitude of the maximum value and the minimum value of the density value of the predetermined pixel of the cell in each of the small areas are obtained, and the amplitudes of the adjacent small areas are compared with each other. In the case of a small area having an amplitude, a two-dimensional code reading device having a local threshold value determining means for determining a threshold value based on a small area adjacent to the small area has a short processing time and a small unevenness in luminance. It is disclosed that cells can be binarized without being affected.
【0018】しかし、多値画像から正確に2次元コード
の位置や形状を検出した後であれば、輝度ムラの影響を
受けることなく前記局所しきい値決定手段により求めら
れた局所しきい値を用いて検出された2次元コードの2
値化を行うことができるが、2値画像から2次元コード
を検出する前に前記局所しきい値決定手段により求めら
れたしきい値を用いて多値画像の2値化を行うと、ノイ
ズが生じ正確に2次元コードを読み取ることができない
という問題があった。However, after the position and shape of the two-dimensional code are accurately detected from the multi-valued image, the local threshold value obtained by the local threshold value determining means is not affected by luminance unevenness. Of the two-dimensional code detected using
If the multi-valued image is binarized using the threshold value obtained by the local threshold value determining unit before detecting the two-dimensional code from the binary image, noise may be generated. And the two-dimensional code cannot be read accurately.
【0019】本発明は前記の問題に鑑みなされたもので
あって、多値画像を2値画像に変換するにあたり、多値
画像の輝度ムラ、および記号や2次元コードの周囲のノ
イズを排除して前記多値画像中の記号や2次元コードを
正確に2値画像として検出し、その後の画像処理を正確
に行えるようにする多値画像2値化装置、多値画像2値
化方法および多値画像2値化プログラムの提供を目的と
する。SUMMARY OF THE INVENTION The present invention has been made in view of the above-described problems. In converting a multi-valued image into a binary image, the present invention eliminates luminance unevenness of the multi-valued image and noise around symbols and two-dimensional codes. Multi-value image binarization apparatus, multi-value image binarization method, multi-value image binarization method, multi-value image binarization apparatus, multi-value image binarization device, multi-value image binarization device It is intended to provide a value image binarization program.
【0020】また、多値画像の輝度ムラ、ノイズ、2次
元コードの変形、セルの滲みや欠けといった変形、セル
の消失、セルの位置ずれ等があっても、多値画像から正
確に2次元コードを読み取ることのできる2次元コード
読取装置、2次元コード読取方法および2次元コード読
取プログラムの提供も目的としている。In addition, even if there are uneven brightness, noise, deformation of a two-dimensional code, deformation such as bleeding or chipping of a cell, loss of a cell, displacement of a cell, etc., a two-dimensional image can be accurately obtained from a multi-valued image. It is another object of the present invention to provide a two-dimensional code reading device capable of reading a code, a two-dimensional code reading method, and a two-dimensional code reading program.
【0021】[0021]
【課題を解決するための手段】上記課題を解決するため
に、本発明に係る多値画像2値化装置は、複数のドット
の組み合わせで表現される記号を含んだ多値の画像を2
値化する多値画像2値化装置であって、多値画像を複数
の小領域に分割する多値画像分割手段と、前記小領域の
うち2値化の対象である被2値化小領域を包含し、かつ
該被2値化小領域よりも広い面積を有するしきい値算出
領域の輝度値から前記被2値化小領域のしきい値を算出
するしきい値算出手段と、前記しきい値算出手段で求め
られたしきい値により前記被2値化小領域を2値化する
と同時に、被2値化小領域中に記号が存在する場合、該
記号の外側にクワイエットゾーンを生成する小領域2値
化手段と、を備えたものである。In order to solve the above-mentioned problems, a multi-valued image binarizing device according to the present invention converts a multi-valued image including a symbol represented by a combination of a plurality of dots into a two-valued image.
A multi-valued image binarizing device, comprising: a multi-valued image dividing means for dividing a multi-valued image into a plurality of small regions; and a binarized small region to be binarized among the small regions. Threshold value calculating means for calculating a threshold value of the binarized small region from a luminance value of a threshold value calculation region having an area larger than the binarized small region. The binarized small area is binarized by the threshold value calculated by the threshold value calculating means, and at the same time, if a symbol exists in the binarized small area, a quiet zone is generated outside the symbol. And small area binarization means.
【0022】また、本発明に係る多値画像2値化装置
は、2次元コードを含んだ多値の画像を2値化する多値
画像2値化装置であって、多値画像を複数の小領域に分
割する多値画像分割手段と、前記小領域のうち2値化の
対象である被2値化小領域を包含し、かつ該被2値化小
領域より大きいしきい値算出領域の輝度値から前記被2
値化小領域のしきい値を算出するしきい値算出手段と、
前記しきい値により前記被2値化小領域を2値化すると
同時に、被2値化小領域中に2次元コードが存在する場
合、該2次元コードの外側にクワイエットゾーンを生成
する小領域2値化手段と、を備えたものである。A multi-valued image binarizing device according to the present invention is a multi-valued image binarizing device for binarizing a multi-valued image including a two-dimensional code. A multi-valued image dividing means for dividing into small areas; and a threshold value calculation area which includes a binarized small area which is a binarization target among the small areas and is larger than the binarized small area. From the luminance value,
Threshold value calculating means for calculating a threshold value of the binarized small area;
The binarized small area is binarized by the threshold value, and at the same time, when a two-dimensional code exists in the binarized small area, a small area 2 for generating a quiet zone outside the two-dimensional code. Value conversion means.
【0023】また、本発明に係る多値画像2値化装置
は、前記しきい値算出手段は、前記しきい値算出領域に
おける最大の輝度値と最小の輝度値との算術平均値をし
きい値とする。Further, in the multi-value image binarizing device according to the present invention, the threshold value calculating means includes an arithmetic mean of a maximum luminance value and a minimum luminance value in the threshold value calculation region. Value.
【0024】また、本発明に係る多値画像2値化方法
は、複数のドットの組み合わせで表現される記号を含ん
だ多値の画像を2値化する多値画像2値化方法であっ
て、多値画像を複数の小領域に分割する多値画像分割ス
テップと、前記小領域のうち2値化の対象である被2値
化小領域を包含し、かつ該被2値化小領域よりも広い面
積を有するしきい値算出領域の輝度値から前記被2値化
小領域のしきい値を算出するしきい値算出ステップと、
前記しきい値算出手段で求められたしきい値により前記
被2値化小領域を2値化すると同時に、被2値化小領域
中に記号が存在する場合、該記号の外側にクワイエット
ゾーンを生成する小領域2値化ステップと、を有する。Further, the multi-value image binarization method according to the present invention is a multi-value image binarization method for binarizing a multi-value image including a symbol represented by a combination of a plurality of dots. A multi-valued image dividing step of dividing the multi-valued image into a plurality of small regions, including a binarized small region to be binarized among the small regions, and A threshold value calculating step of calculating a threshold value of the binarized small region from a luminance value of a threshold value calculation region having a large area;
The binarized small area is binarized by the threshold value calculated by the threshold value calculating means, and at the same time, if a symbol exists in the binarized small area, a quiet zone is set outside the symbol. Generating a small area binarizing step.
【0025】また、本発明に係る多値画像2値化方法
は、2次元コードを含んだ多値の画像を2値化する多値
画像2値化方法であって、多値画像を複数の小領域に分
割する多値画像分割ステップと、前記小領域のうち2値
化の対象である被2値化小領域を包含し、かつ該被2値
化小領域より大きいしきい値算出領域の輝度値から前記
被2値化小領域のしきい値を算出するしきい値算出ステ
ップと、前記しきい値により前記被2値化小領域を2値
化すると同時に、被2値化小領域中に2次元コードが存
在する場合、該2次元コードの外側にクワイエットゾー
ンを生成する小領域2値化ステップと、を有する。Further, the multi-value image binarization method according to the present invention is a multi-value image binarization method for binarizing a multi-value image including a two-dimensional code. A multi-valued image dividing step of dividing into small regions; and a threshold calculation region including a binarized small region to be binarized among the small regions and being larger than the binarized small region. A threshold value calculating step of calculating a threshold value of the binarized small area from a luminance value; and binarizing the binarized small area with the threshold value, And a small area binarizing step of generating a quiet zone outside the two-dimensional code when the two-dimensional code exists.
【0026】また、本発明に係る多値画像2値化方法
は、前記しきい値算出ステップは、前記しきい値算出領
域における最大の輝度値と最小の輝度値との算術平均値
をしきい値とする。Further, in the multi-value image binarization method according to the present invention, the threshold value calculating step includes a step of calculating an arithmetic average of a maximum luminance value and a minimum luminance value in the threshold value calculation region. Value.
【0027】また、本発明に係る多値画像2値化プログ
ラムは、多値画像2値化方法をコンピュータに実行させ
るためのものである。A multi-value image binarization program according to the present invention is for causing a computer to execute a multi-value image binarization method.
【0028】また、本発明に係る2次元コード読取装置
は、2次元コードを含む多値画像から前記2次元コード
を読み取る2次元コード読取装置であって、多値画像を
2値化すると共に、前記多値画像に含まれている2次元
コードの周囲にクワイエットゾーンを生成する2値化/
クワイエットゾーン生成手段と、前記クワイエットゾー
ンに囲まれた2次元コード中のタイミングセルを検出す
るタイミングセル検出手段と、前記タイミングセル検出
手段で検出された各タイミングセルの中心または中点を
通る直線と他の前記直線との交点を中心とした所定領域
を、前記2次元コード中の各データセルの論理状態を識
別するために用いられるデータセル領域として設定する
データセル領域設定手段と、前記2次元コードの領域を
ラベリング処理することによって得られたラベルと、前
記データセル領域設定手段で設定したデータセル領域と
の重なりに基づいて、各データセル領域の論理状態を識
別するデータセル論理状態識別手段と、を備えたもので
ある。Further, a two-dimensional code reader according to the present invention is a two-dimensional code reader for reading the two-dimensional code from a multi-valued image including the two-dimensional code. Binarization for generating a quiet zone around a two-dimensional code included in the multi-valued image /
A quiet zone generating means, a timing cell detecting means for detecting a timing cell in a two-dimensional code surrounded by the quiet zone, and a straight line passing through a center or a midpoint of each timing cell detected by the timing cell detecting means. Data cell area setting means for setting a predetermined area centered on another intersection with the straight line as a data cell area used for identifying a logical state of each data cell in the two-dimensional code; Data cell logical state identification means for identifying a logical state of each data cell area based on an overlap between a label obtained by labeling a code area and a data cell area set by the data cell area setting means And with.
【0029】また、本発明に係る2次元コード読取装置
は、前記2値化/クワイエットゾーン生成手段で得た2
値化画像中の、前記クワイエットゾーンで囲まれた領域
全体を含む四角形の領域を、2次元コード概略存在領域
として定める2次元コード概略存在領域決定手段と、前
記2次元コード概略存在領域の互いに交差する2辺のそ
れぞれに対する、前記2次元コード概略存在領域中の2
次元コードの回転角度を求める2次元コード回転角度決
定手段と、前記2次元コード回転角度決定手段で求めた
回転角度、および前記2次元コード中の一列に並んだガ
イドセルに外接するガイドセル外接線の通過点に基づい
て、前記ガイドセル外接線を検出するガイドセル外接線
検出手段と、前記2次元コード回転角度決定手段で求め
た回転角度、および前記2次元コード中の一列に並んだ
タイミングセルに外接するタイミングセル外接線の通過
点に基づいて、前記タイミングセル外接線を検出するタ
イミングセル外接線検出手段と、を備え、前記ガイドセ
ル外接線検出手段で検出したガイドセル外接線と、前記
タイミングセル外接線検出手段で検出したタイミングセ
ル外接線とによって囲まれた領域を前記2次元コードと
するものである。Further, the two-dimensional code reader according to the present invention provides the two-dimensional code reader obtained by the binarization / quiet zone generation means.
A two-dimensional code approximate existence area determining unit that determines a rectangular area including the entire area surrounded by the quiet zone in the binarized image as a two-dimensional code approximate existence area; 2 in the two-dimensional code approximate existence area for each of the two sides
Two-dimensional code rotation angle determining means for determining the rotation angle of the two-dimensional code, the rotation angle determined by the two-dimensional code rotation angle determining means, and a guide cell tangent line circumscribing the guide cells arranged in a line in the two-dimensional code A guide cell outer tangent detecting means for detecting the guide cell outer tangent based on the passing point, a rotation angle obtained by the two-dimensional code rotation angle determining means, and timing cells arranged in a line in the two-dimensional code. A timing cell outer tangent detecting means for detecting the timing cell outer tangent based on a passing point of the timing cell outer tangent circumscribing the guide cell outer tangent detected by the guide cell outer tangent detecting means; The area surrounded by the timing cell external tangent detected by the timing cell external tangent detecting means is the two-dimensional code.
【0030】また、本発明に係る2次元コード読取装置
は、2次元コード中のタイミングセルの一部が消失して
いるとき、タイミングセルが消失している位置を算出し
て、該算出位置にタイミングセルを補完する消失タイミ
ングセル補完手段を備えたものである。Further, the two-dimensional code reader according to the present invention calculates the position where the timing cell has disappeared when a part of the timing cell in the two-dimensional code has disappeared, and calculates the position where the timing cell has disappeared. It is provided with an erasure timing cell complementing means for complementing the timing cell.
【0031】また、本発明に係る2次元コード読取装置
は、前記2値化/クワイエットゾーン生成手段は、多値
画像を複数の小領域に分割し、前記分割された小領域で
あって、2値化の対象とされた被2値化小領域を含み、
該被2値化小領域よりも広い面積を有するしきい値算出
領域を設定し、前記しきい値算出領域内の輝度値に基づ
いて、前記被2値化小領域のためのしきい値を算出し、
前記しきい値と前記被2値化小領域中の各画素の輝度値
とを比較して前記被2値化小領域を2値化するものであ
る。Also, in the two-dimensional code reading apparatus according to the present invention, the binarization / quiet zone generating means divides a multi-valued image into a plurality of small areas, and Including the binarized small area that is the target of the binarization,
A threshold calculation region having an area larger than the binarized small region is set, and a threshold value for the binarized small region is set based on a luminance value in the threshold calculation region. Calculate,
The binarized small area is binarized by comparing the threshold value and the luminance value of each pixel in the binarized small area.
【0032】また、本発明に係る2次元コード読取装置
は、前記2次元コードの内縁にガイドセルが配置されて
いるとき、前記2次元コード概略領域決定手段は、前記
2値化/クワイエットゾーン生成手段で得た2値化画像
に対してマスクを用いてパタンマッチング処理を行うこ
とにより、前記2値化画像の各座標のパタンマッチング
値を求め、前記パタンマッチング値が最大となる点をガ
イドセル頂点として検出し、前記ガイドセル頂点を含
み、前記クワイエットゾーンに囲まれた領域全体を含む
四角形の領域を、前記2次元コード概略存在領域として
定めるものである。Further, in the two-dimensional code reading device according to the present invention, when a guide cell is arranged at an inner edge of the two-dimensional code, the two-dimensional code outline area determining means may include the binarization / quiet zone generation. Performing a pattern matching process on the binarized image obtained by the means using a mask to obtain a pattern matching value at each coordinate of the binarized image, and determining a point at which the pattern matching value is maximum as a guide cell. A quadrangular area that is detected as a vertex, includes the guide cell vertex, and includes the entire area surrounded by the quiet zone is determined as the two-dimensional code general existence area.
【0033】また、本発明に係る2次元コード読取装置
は、前記ガイドセルが略L字状に配置されているとき、
前記マスクとして略L字型のマスクを用いるものであ
る。Further, in the two-dimensional code reader according to the present invention, when the guide cells are arranged in a substantially L-shape,
A substantially L-shaped mask is used as the mask.
【0034】また、本発明に係る2次元コード読取装置
は、前記2次元コード回転角度決定手段は、前記2次元
コード概略存在領域の互いに交差する2辺のそれぞれに
対して、所定範囲の角度で射影軸を所定角度ずつ回転さ
せ、前記2次元コード概略存在領域に対する射影処理を
行うことにより、各回転角度毎に前記射影軸上の射影強
度を求め、前記射影軸の回転角度毎に前記射影強度の最
大値を求め、前記最大値の中で最も値の高い最大値が得
られた回転角度を求め、前記回転角度を前記2次元コー
ド概略存在領域の各辺に対する2次元コードの回転角度
とするものである。Further, in the two-dimensional code reading device according to the present invention, the two-dimensional code rotation angle determining means may include an angle within a predetermined range with respect to each of two mutually intersecting sides of the two-dimensional code existence area. By rotating the projection axis by a predetermined angle and performing projection processing on the two-dimensional code approximate existence area, a projection intensity on the projection axis is obtained for each rotation angle, and the projection intensity is obtained for each rotation angle of the projection axis. Of the two-dimensional code are obtained, and the rotation angle at which the highest maximum value among the maximum values is obtained is obtained, and the rotation angle is defined as the rotation angle of the two-dimensional code with respect to each side of the two-dimensional code roughly existing area. Things.
【0035】また、本発明に係る2次元コード読取装置
は、前記ガイドセル外接線検出手段は、前記2次元コー
ド概略存在領域の互いに交差する2辺のそれぞれに対
し、前記射影軸を、対象とされている辺に対応する前記
2次元コードの回転角度だけ傾けて射影処理を行うこと
により、前記射影軸上の射影強度を求め、前記射影強度
に基づいてガイドセル外接線の通過点を求め、前記通過
点および前記2次元コードの回転角度からガイドセル外
接線を生成するものである。Further, in the two-dimensional code reader according to the present invention, the guide cell outer tangent detecting means sets the projection axis as an object with respect to each of two mutually intersecting sides of the two-dimensional code existence area. By performing projection processing by inclining by the rotation angle of the two-dimensional code corresponding to the side being determined, a projection intensity on the projection axis is determined, and a passing point of a guide cell external tangent line is determined based on the projection intensity, A guide cell outer tangent is generated from the passing point and the rotation angle of the two-dimensional code.
【0036】また、本発明に係る2次元コード読取装置
は、前記タイミングセル外接線検出手段は、前記2次元
コード概略存在領域の互いに交差する2辺のそれぞれに
対し、前記射影軸を前記2次元コード回転角度決定手段
で求めた、対象とされている辺に対応する前記2次元コ
ードの回転角度だけ傾けて射影処理を行うことにより、
前記射影軸上の射影強度を求め、前記射影強度に基づい
てタイミングセル外接線の通過点を求め、前記通過点お
よび前記2次元コードの回転角度からタイミングセル外
接線を生成するものである。Further, in the two-dimensional code reader according to the present invention, the timing cell outer tangent detecting means may detect the projection axis with respect to each of two mutually intersecting sides of the two-dimensional code existence area. By performing the projection process by inclining by the rotation angle of the two-dimensional code corresponding to the target side obtained by the code rotation angle determination means,
A projection intensity on the projection axis is obtained, a passing point of a timing cell outer tangent is obtained based on the projection intensity, and a timing cell outer tangent is generated from the passing point and a rotation angle of the two-dimensional code.
【0037】また、本発明に係る2次元コード読取装置
は、前記タイミングセル外接線検出手段でタイミングセ
ル外接線が複数生成されたとき、前記タイミングセル外
接線検出手段は、生成された複数のタイミングセル外接
線それぞれを仮のタイミングセル外接線とし、互いに交
差する仮のタイミングセル外接線と、前記ガイドセル外
接線検出手段が検出した互いに交差するガイドセル外接
線とによって形成される四角形の各辺の長さが、設計値
としての2次元コードの一辺の長さに最も近いという第
1の条件、および前記仮のタイミングセル外接線の内側
に存在するタイミングセル数が最も多いという第2の条
件のいずれか一方または両方を満たした互いに交差する
仮のタイミングセル外接線を正規のタイミングセル外接
線として選別するものである。Further, in the two-dimensional code reader according to the present invention, when the timing cell external tangent detection means generates a plurality of timing cell external tangents, the timing cell external tangent detection means outputs the plurality of generated timing tangents. Each of the cell outer tangents is a temporary timing cell outer tangent, and each side of a quadrangle formed by the intersecting temporary timing cell outer tangents and the mutually intersecting guide cell outer tangents detected by the guide cell outer tangent detecting means. Is the closest to the length of one side of the two-dimensional code as a design value, and the second condition is that the number of timing cells existing inside the tentative timing cell outer tangent is the largest. A temporary timing cell external tangent line that satisfies one or both of the above is selected as a normal timing cell external tangent line. Than it is.
【0038】また、本発明に係る2次元コード読取装置
は、前記タイミングセル検出手段は、前記タイミングセ
ル外接線検出手段で検出した一方のタイミングセル外接
線と、該一方のタイミングセル外接線から前記一方のタ
イミングセル外接線に対向するガイドセル外接線側に一
セル分平行移動した直線と、他方のタイミングセル外接
線と、該他方のタイミングセル外接線に対向するガイド
セル外接線とによって囲まれた2値化画像を前記一方の
タイミングセル外接線側に射影して、前記一方のタイミ
ングセル外接線上の前記射影強度を求め、前記射影強度
に基づいてしきい値を算出し、前記しきい値を用いて前
記射影強度を2値化し、仮のタイミングセルを求め、前
記他方のタイミングセル外接線と該他方のタイミングセ
ル外接線に対向するガイドセル外接線との間の距離と、
設計値としての2次元コード一辺に含まれるガイドセル
数およびタイミングセル数とから算出タイミングセルを
求め、前記仮のタイミングセルと前記算出タイミングセ
ルとを比較して、算出タイミングセルに一対一に対応す
る仮のタイミングセルを正規のタイミングセルとするも
のである。Further, in the two-dimensional code reader according to the present invention, the timing cell detecting means may detect the timing cell external tangent detected by the timing cell external tangent detecting means and the timing cell external tangent from the one timing cell external tangent. It is surrounded by a straight line translated by one cell to the guide cell outer tangent side facing one timing cell outer tangent line, the other timing cell outer tangent line, and the guide cell outer tangent line facing the other timing cell outer tangent line. Projecting the binarized image onto the one timing cell outer tangent line to obtain the projection intensity on the one timing cell outer tangent line, calculating a threshold based on the projection intensity, Is used to binarize the projection intensity to obtain a provisional timing cell, which is opposed to the other timing cell external tangent and the other timing cell external tangent. The distance between the guide cell circumscribed line,
A calculated timing cell is obtained from the number of guide cells and the number of timing cells included in one side of the two-dimensional code as a design value, and the provisional timing cell and the calculated timing cell are compared to correspond one-to-one with the calculated timing cells. The temporary timing cell to be used is a normal timing cell.
【0039】また、本発明に係る2次元コード読取装置
は、前記消失タイミングセル補完手段は、消失したタイ
ミングセルに対応する算出タイミングセルの位置を、消
失したタイミングセルの仮位置とし、前記消失タイミン
グセルの仮位置と同位置に近接する2つの正規のタイミ
ングセルを求め、前記近接する2つの正規のタイミング
セルの内分点または外分点が示す位置にタイミングセル
を補完するものである。Further, in the two-dimensional code reader according to the present invention, the lost timing cell complementing means sets a position of the calculated timing cell corresponding to the lost timing cell as a temporary position of the lost timing cell, Two regular timing cells adjacent to the same temporary position of the cell are obtained, and the timing cell is complemented to a position indicated by an internal dividing point or an external dividing point of the two adjacent normal timing cells.
【0040】また、本発明に係る2次元コード読取装置
は、前記データセル領域設定手段は、前記タイミングセ
ル検出手段が検出した各タイミングセルの中心または中
点を通る直線と他の前記直線との交点を求め、各交点を
中心とした所定面積を有する各領域を前記データセル領
域として生成するものである。Further, in the two-dimensional code reader according to the present invention, the data cell area setting means may be configured to determine whether a straight line passing through a center or a midpoint of each timing cell detected by the timing cell detecting means and another straight line. An intersection is obtained, and each region having a predetermined area centered on each intersection is generated as the data cell region.
【0041】また、本発明に係る2次元コード読取装置
は、前記データセル論理状態識別手段は、前記ガイドセ
ル外接線と前記タイミングセル外接線とで囲まれた領域
内をラベリング処理して、ラベルを生成し、前記生成さ
れた全ラベルの内、1つのラベルの面積が所定範囲内の
ラベルの加算平均面積を算出し、前記生成されたラベル
の内、面積が前記加算平均面積を中心とした所定範囲の
ラベルを抽出し、前記抽出されたラベルと、前記データ
セル領域設定手段が設定したデータセル領域との重なり
に基づいて、各データセル領域の論理状態を判定するも
のである。Further, in the two-dimensional code reader according to the present invention, the data cell logical state identifying means performs a labeling process on an area surrounded by the guide cell outer tangent and the timing cell outer tangent, and Is generated, among the generated labels, the area of one label is calculated the average area of the labels within a predetermined range, of the generated labels, the area is centered on the average area A predetermined range of labels is extracted, and a logical state of each data cell area is determined based on an overlap between the extracted label and the data cell area set by the data cell area setting means.
【0042】また、本発明に係る2次元コード読取装置
は、前記データセル論理状態識別手段は、前記生成され
たラベルが単体で複数のデータセル領域にまたがってい
るとき、前記ラベルが最も広く重なっているデータセル
領域の論理状態をオンと判定し、前記論理状態がオフと
判定されたデータセル領域に対して、前記単体のラベル
以外のラベルが占める面積の割合が所定値以上であり、
かつ、前記データセル領域の中心部に所定以上の面積の
割合でラベルが重なるとき前記データセル領域の論理状
態をオンと判定するものである。Further, in the two-dimensional code reader according to the present invention, the data cell logical state identifying means may be arranged such that when the generated label extends over a plurality of data cell regions by itself, the label is most widely overlapped. The logic state of the data cell area is determined to be on, and the ratio of the area occupied by a label other than the single label to the data cell area where the logic state is determined to be off is a predetermined value or more,
In addition, when the label overlaps the center of the data cell area at a ratio of a predetermined area or more, the logic state of the data cell area is determined to be on.
【0043】また、本発明に係る2次元コード読取方法
は、2次元コードを含む多値画像から前記2次元コード
を読み取る2次元コード読取方法であって、多値画像を
2値化すると共に、前記多値画像に含まれている2次元
コードの周囲にクワイエットゾーンを生成する2値化/
クワイエットゾーン生成ステップと、前記クワイエット
ゾーンに囲まれた2次元コード中のタイミングセルを検
出するタイミングセル検出ステップと、前記タイミング
セル検出ステップによって検出された各タイミングセル
の中心または中点を通る直線と他の前記直線との交点を
中心とした所定領域を、前記2次元コード中の各データ
セルの論理状態を識別するために用いられるデータセル
領域として設定するデータセル領域設定ステップと、前
記2次元コードの領域をラベリング処理することによっ
て得られたラベルと、前記データセル領域設定ステップ
で設定したデータセル領域との重なりに基づいて、各デ
ータセル領域の論理状態を識別するデータセル論理状態
識別ステップと、を有する。A two-dimensional code reading method according to the present invention is a two-dimensional code reading method for reading the two-dimensional code from a multi-valued image including the two-dimensional code, wherein the two-dimensional code is binarized. Binarization for generating a quiet zone around a two-dimensional code included in the multi-valued image /
A quiet zone generating step, a timing cell detecting step of detecting a timing cell in the two-dimensional code surrounded by the quiet zone, and a straight line passing through the center or midpoint of each timing cell detected by the timing cell detecting step. A data cell area setting step of setting a predetermined area centered on an intersection with the other straight line as a data cell area used for identifying a logical state of each data cell in the two-dimensional code; A data cell logical state identifying step for identifying a logical state of each data cell area based on an overlap between a label obtained by labeling a code area and the data cell area set in the data cell area setting step; And
【0044】また、本発明に係る2次元コード読取方法
は、前記2値化/クワイエットゾーン生成ステップで得
られた2値化画像中の、前記クワイエットゾーンで囲ま
れた領域全体を含む四角形の領域を、2次元コード概略
存在領域として定める2次元コード概略存在領域決定ス
テップと、前記2次元コード概略存在領域の互いに交差
する2辺のそれぞれに対する、前記2次元コード概略存
在領域中の2次元コードの回転角度を求める2次元コー
ド回転角度決定ステップと、前記2次元コード回転角度
決定ステップで求められた回転角度、および前記2次元
コード中の一列に並んだガイドセルに外接するガイドセ
ル外接線の通過点に基づいて、前記ガイドセル外接線を
検出するガイドセル外接線検出ステップと、前記2次元
コード回転角度決定ステップで求められた回転角度、お
よび前記2次元コード中の一列に並んだタイミングセル
に外接するタイミングセル外接線の通過点に基づいて、
前記タイミングセル外接線を検出するタイミングセル外
接線検出ステップと、を有し、前記ガイドセル外接線検
出ステップで検出されたガイドセル外接線と、前記タイ
ミングセル外接線検出ステップで検出されたタイミング
セル外接線とによって囲まれた領域を前記タイミングセ
ル検出ステップにおける2次元コードとする。Further, in the two-dimensional code reading method according to the present invention, in the binarized image obtained in the binarizing / quiet zone generating step, a rectangular area including the entire area surrounded by the quiet zone is provided. Determining the approximate two-dimensional code existence area as a two-dimensional code general existence area; and determining the two-dimensional code in the two-dimensional code general existence area for each of two sides of the two-dimensional code general existence area that intersect each other. A two-dimensional code rotation angle determining step for determining a rotation angle, the rotation angle determined in the two-dimensional code rotation angle determining step, and passage of a guide cell tangent tangent to a guide cell arranged in a line in the two-dimensional code A guide cell outer tangent detecting step of detecting the guide cell outer tangent based on a point; Rotation angle obtained in step, and based on the passing point of the timing cell circumscribed line circumscribing the timing cells arranged in a row in said two-dimensional code,
A timing cell outer tangent detecting step of detecting the timing cell outer tangent, and a guide cell outer tangent detected in the guide cell outer tangent detecting step; and a timing cell detected in the timing cell outer tangent detecting step. An area surrounded by the external tangent is defined as a two-dimensional code in the timing cell detection step.
【0045】また、本発明に係る2次元コード読取方法
は、2次元コード中のタイミングセルの一部が消失して
いるとき、タイミングセルが消失している位置を算出し
て、該算出位置にタイミングセルを補完する消失タイミ
ングセル補完ステップを有する。Further, in the two-dimensional code reading method according to the present invention, when a part of the timing cell in the two-dimensional code is lost, the position where the timing cell is lost is calculated, and the calculated position is determined. There is an erasure timing cell complementation step for complementing the timing cell.
【0046】また、本発明に係る2次元コード読取方法
は、前記2値化/クワイエットゾーン生成ステップは、
多値画像を複数の小領域に分割する多値画像分割ステッ
プと、前記多値画像分割ステップで得られた小領域であ
って、2値化の対象とされた被2値化小領域を含み、該
被2値化小領域よりも広い面積を有するしきい値算出領
域を設定するしきい値算出領域設定ステップと、前記し
きい値算出領域内の輝度値に基づいて、前記被2値化小
領域のためのしきい値を算出するしきい値算出ステップ
と、前記しきい値と前記被2値化小領域中の各画素の輝
度値とを比較して前記被2値化小領域を2値化する小領
域2値化ステップと、を有する。Further, in the two-dimensional code reading method according to the present invention, the binarizing / quiet zone generating step may include:
A multi-valued image dividing step of dividing the multi-valued image into a plurality of small regions; and a small region obtained in the multi-valued image dividing step, including a binarized small region to be binarized. A threshold calculation area setting step of setting a threshold calculation area having a larger area than the binarized small area; and the binarization based on a luminance value in the threshold calculation area. A threshold value calculating step of calculating a threshold value for the small area; and comparing the threshold value with the luminance value of each pixel in the binarized small area to determine the binarized small area. And binarizing the small area.
【0047】また、本発明に係る2次元コード読取方法
は、前記2次元コードの内縁にガイドセルが配置されて
いるとき、前記2次元コード概略領域決定ステップは、
前記2値化/クワイエットゾーン生成ステップで得られ
た2値化画像に対してマスクを用いてパタンマッチング
処理を行うことにより、前記2値化画像の各座標のパタ
ンマッチング値を求めるパタンマッチング処理ステップ
を有し、前記パタンマッチング処理ステップで得られた
パタンマッチング値が最大となる点をガイドセル頂点と
して検出するガイドセル頂点検出ステップと、を有し、
前記ガイドセル頂点を含み、前記クワイエットゾーンに
囲まれた領域全体を含む四角形の領域を、前記2次元コ
ード概略存在領域として定める。Further, in the two-dimensional code reading method according to the present invention, when a guide cell is arranged at an inner edge of the two-dimensional code, the two-dimensional code general area determining step includes:
Performing a pattern matching process using a mask on the binarized image obtained in the binarization / quiet zone generation step, thereby obtaining a pattern matching value for each coordinate of the binarized image. And a guide cell vertex detection step of detecting, as a guide cell vertex, a point at which the pattern matching value obtained in the pattern matching processing step is maximum,
A rectangular area including the guide cell vertex and including the entire area surrounded by the quiet zone is defined as the two-dimensional code general existence area.
【0048】また、本発明に係る2次元コード読取方法
は、前記ガイドセルが略L字状に配置されているとき、
前記マスクとして略L字型のマスクを用いる。In the two-dimensional code reading method according to the present invention, when the guide cells are arranged in a substantially L-shape,
A substantially L-shaped mask is used as the mask.
【0049】また、本発明に係る2次元コード読取方法
は、前記2次元コード回転角度決定ステップは、前記2
次元コード概略存在領域の互いに交差する2辺のそれぞ
れに対して、所定範囲の角度で射影軸を所定角度ずつ回
転させ、前記2次元コード概略存在領域に対する射影処
理を行うことにより、各回転角度毎に前記射影軸上の射
影強度を求める射影処理ステップと、前記射影軸の回転
角度毎に前記射影強度の最大値を求める最大射影強度検
出ステップと、前記最大射影強度検出ステップで得られ
た最大値の中で最も値の高い最大値が得られた回転角度
を求める回転角度検出ステップと、を有し、前記回転角
度検出ステップで求められた回転角度を、前記2次元コ
ード概略存在領域の各辺に対する2次元コードの回転角
度とする。Further, in the two-dimensional code reading method according to the present invention, the two-dimensional code rotation angle determining step may include:
For each of the two sides intersecting each other in the two-dimensional code general existence area, the projection axis is rotated by a predetermined angle at a predetermined angle, and the projection processing is performed on the two-dimensional code general existence area. A projection processing step of obtaining a projection intensity on the projection axis, a maximum projection intensity detection step of obtaining a maximum value of the projection intensity for each rotation angle of the projection axis, and a maximum value obtained in the maximum projection intensity detection step A rotation angle detection step of obtaining a rotation angle at which a maximum value having the highest value is obtained, and converting the rotation angle obtained in the rotation angle detection step to each side of the two-dimensional code roughly existing area. To the rotation angle of the two-dimensional code.
【0050】また、本発明に係る2次元コード読取方法
は、前記ガイドセル外接線検出ステップは、前記2次元
コード概略存在領域の互いに交差する2辺のそれぞれに
対し、前記射影軸を、前記2次元コード回転角度決定ス
テップで求められた対象とされている辺に対応する前記
2次元コードの回転角度だけ傾けて射影処理を行うこと
により、前記射影軸上の射影強度を求める射影処理ステ
ップと、前記射影処理ステップで求められた射影強度に
基づいてガイドセル外接線の通過点を求めるガイドセル
外接線通過点検出ステップと、前記通過点および前記2
次元コードの回転角度からガイドセル外接線を生成する
ガイドセル外接線生成ステップと、を有する。In the two-dimensional code reading method according to the present invention, in the step of detecting a tangent line outside the guide cell, the projecting axis is set to each of two mutually intersecting sides of the two-dimensional code roughly existing area. A projection processing step of obtaining a projection intensity on the projection axis by performing projection processing by inclining by a rotation angle of the two-dimensional code corresponding to the side that has been determined in the dimension code rotation angle determination step, A guide cell outer tangent passing point detecting step of obtaining a guide cell outer tangent passing point based on the projection intensity obtained in the projection processing step;
Generating a guide cell outer tangent from the rotation angle of the dimensional code.
【0051】また、本発明に係る2次元コード読取方法
は、前記タイミングセル外接線検出ステップは、前記2
次元コード概略存在領域の互いに交差する2辺のそれぞ
れに対し、前記射影軸を前記2次元コード回転角度決定
ステップで求められた、対象とされている辺に対応する
前記2次元コードの回転角度だけ傾けて射影処理を行う
ことにより、前記射影軸上の射影強度を求める射影処理
ステップと、前記射影処理ステップで得られた射影強度
に基づいてタイミングセル外接線の通過点を求めるタイ
ミングセル外接線通過点検出ステップと、前記通過点お
よび前記2次元コードの回転角度からタイミングセル外
接線を生成するタイミングセル外接線生成ステップと、
を有する。Also, in the two-dimensional code reading method according to the present invention, the timing cell external tangent detecting step may include:
For each of the two sides of the two-dimensional code approximate existence area that intersect each other, the projection axis is determined by the rotation angle of the two-dimensional code corresponding to the target side obtained in the two-dimensional code rotation angle determination step. By performing the projection process by tilting, the projection processing step for obtaining the projection intensity on the projection axis, and the timing cell external tangent passing to obtain the passing point of the timing cell external tangent based on the projection intensity obtained in the projection processing step A point detection step, a timing cell outer tangent generating step of generating a timing cell outer tangent from the passing point and the rotation angle of the two-dimensional code,
Having.
【0052】また、本発明に係る2次元コード読取方法
は、前記タイミングセル外接線生成ステップでタイミン
グセル外接線が複数生成されたとき、生成された複数の
タイミングセル外接線それぞれを仮のタイミングセル外
接線とし、互いに交差する仮のタイミングセル外接線
と、前記ガイドセル外接線検出ステップで検出された互
いに交差するガイドセル外接線とによって形成される四
角形の各辺の長さが、設計値としての2次元コードの一
辺の長さに最も近いという第1の条件、および前記仮の
タイミングセル外接線の内側に存在するタイミングセル
数が最も多いという第2の条件のいずれか一方または両
方を満たした互いに交差する仮のタイミングセル外接線
を正規のタイミングセル外接線として選別する正規タイ
ミングセル外接線選別ステップを有する。In the two-dimensional code reading method according to the present invention, when a plurality of external tangents to the timing cell are generated in the step of generating an external tangent to the timing cell, each of the plurality of external tangents to the generated timing cell is replaced with a temporary timing cell. As the external tangent, the length of each side of the quadrangle formed by the temporary timing cell external tangents that intersect each other and the guide cell external tangents that intersect each other detected in the guide cell external tangent detection step is a design value. And / or both of the second condition that the number of timing cells existing inside the temporary timing cell outer tangent is the largest, and the second condition that is closest to the length of one side of the two-dimensional code. Normal timing cell external tangent selection that selects temporary timing cell external tangents that intersect each other as regular timing cell external tangents It has a step.
【0053】また、本発明に係る2次元コード読取方法
は、前記タイミングセル検出ステップは、前記タイミン
グセル外接線検出ステップで検出された一方のタイミン
グセル外接線と、該一方のタイミングセル外接線から前
記一方のタイミングセル外接線に対向するガイドセル外
接線側に一セル分平行移動した直線と、他方のタイミン
グセル外接線と、該他方のタイミングセル外接線に対向
するガイドセル外接線とによって囲まれた2値化画像を
前記一方のタイミングセル外接線側に射影して、前記一
方のタイミングセル外接線上の前記射影強度を求める射
影処理ステップと、前記射影処理ステップで求められた
射影強度に基づいてしきい値を算出するしきい値算出ス
テップと、前記しきい値を用いて前記射影強度を2値化
し、仮のタイミングセルを求める仮タイミングセル検出
ステップと、前記他方のタイミングセル外接線と該他方
のタイミングセル外接線に対向するガイドセル外接線と
の間の距離と、設計値としての2次元コード一辺に含ま
れるガイドセル数およびタイミングセル数とから算出タ
イミングセルを求める算出タイミングセル導出ステップ
と、前記仮のタイミングセルと前記算出タイミングセル
とを比較して、算出タイミングセルに一対一に対応する
仮のタイミングセルを正規のタイミングセルとする正規
タイミングセル設定ステップと、を有する。Further, in the two-dimensional code reading method according to the present invention, in the timing cell detecting step, the timing cell detecting step includes detecting one of the timing cell external tangents detected in the timing cell external tangent detecting step and the one timing cell external tangent. A straight line translated by one cell toward the guide cell outer tangent opposite to the one timing cell outer tangent, the other timing cell outer tangent, and the guide cell outer tangent facing the other timing cell outer tangent. Projecting the binarized image on the one tangent line outside the timing cell to project the projection intensity on the tangent line outside the one timing cell, and based on the projection intensity obtained in the projection processing step. A threshold calculating step of calculating a threshold by using the threshold, A provisional timing cell detection step for obtaining a cell, a distance between the other timing cell external tangent and a guide cell external tangent facing the other timing cell external tangent, and one side of the two-dimensional code as a design value A calculation timing cell deriving step of obtaining a calculation timing cell from the number of guide cells and the number of timing cells; comparing the calculation timing cell with the calculation timing cell; A normal timing cell setting step as a normal timing cell.
【0054】また、本発明に係る2次元コード読取方法
は、前記消失タイミングセル補完ステップは、消失した
タイミングセルに対応する算出タイミングセルの位置
を、消失したタイミングセルの仮位置とする消失タイミ
ングセル仮位置決定ステップと、前記消失タイミングセ
ルの仮位置と同位置に近接する2つの正規のタイミング
セルを求める近接タイミングセル決定ステップと、前記
近接する2つの正規のタイミングセルの内分点または外
分点が示す位置にタイミングセルを補完するタイミング
セル補完ステップと、を有する。Further, in the two-dimensional code reading method according to the present invention, in the erasure timing cell complementing step, the erasure timing cell corresponding to the erasure timing cell is set as a temporary location of the erasure timing cell. A provisional position determination step, a proximity timing cell determination step for obtaining two regular timing cells adjacent to the same position as the provisional position of the lost timing cell, and an internal dividing point or an external dividing point of the two adjacent regular timing cells. A timing cell complementing step of complementing the timing cell at the position indicated by the dot.
【0055】また、本発明に係る2次元コード読取方法
は、前記データセル領域設定ステップは、前記タイミン
グセル検出ステップによって検出された各タイミングセ
ルの中心または中点を通る直線と他の前記直線との交点
を求める交点設定ステップと、前記交点設定ステップに
よって求められた各交点を中心とした所定面積を有する
各領域を前記データセル領域として生成するデータセル
領域生成ステップと、を有する。Further, in the two-dimensional code reading method according to the present invention, in the data cell area setting step, the straight line passing through the center or the midpoint of each timing cell detected by the timing cell detecting step and the other straight lines may be used. And a data cell region generating step of generating, as the data cell region, each region having a predetermined area centered on each intersection obtained by the intersection setting step.
【0056】また、本発明に係る2次元コード読取方法
は、前記データセル論理状態識別ステップは、前記ガイ
ドセル外接線と前記タイミングセル外接線とで囲まれた
領域内をラベリング処理して、ラベルを生成するラベリ
ング処理ステップと、前記ラベリング処理ステップで生
成された全ラベルの内、1つのラベルの面積が所定範囲
内のラベルの加算平均面積を算出する加算平均面積算出
ステップと、前記ラベリング処理ステップで生成された
ラベルの内、面積が前記加算平均面積を中心とした所定
範囲のラベルを抽出するラベル抽出ステップと、前記ラ
ベル抽出ステップによって抽出されたラベルと、前記デ
ータセル領域設定ステップで設定されたデータセル領域
との重なりに基づいて、各データセル領域の論理状態を
判定するデータセル論理状態判定ステップと、を有す
る。Further, in the two-dimensional code reading method according to the present invention, in the data cell logical state identifying step, a labeling process is performed on an area surrounded by the guide cell external tangent and the timing cell external tangent, and the label is processed. A labeling processing step of generating, and among all the labels generated in the labeling processing step, an area of one label is an averaged area calculation step of calculating an averaged area of labels within a predetermined range; and the labeling processing step A label extracting step of extracting a label of a predetermined range centered on the averaging area from the labels generated in the step, a label extracted by the label extracting step, and a data cell area setting step. Data cells that determine the logical state of each data cell area based on the overlap with the data cell area A logical state determination step.
【0057】また、本発明に係る2次元コード読取方法
は、前記データセル論理状態判定ステップは、前記ラベ
リング処理ステップで生成されたラベルが単体で複数の
データセル領域にまたがっているとき、前記ラベルが最
も広く重なっているデータセル領域の論理状態をオンと
判定する第1のデータセル論理状態判定ステップと、前
記第1のデータセル論理状態判定ステップで論理状態が
オフと判定されたデータセル領域に対して、前記単体の
ラベル以外のラベルが占める面積の割合が所定値以上で
あり、かつ、前記データセル領域の中心部に所定以上の
面積の割合でラベルが重なるとき、前記データセル領域
の論理状態をオンと判定する第2のデータセル論理状態
判定ステップと、を有する。Further, in the two-dimensional code reading method according to the present invention, in the data cell logical state determining step, when the label generated in the labeling processing step covers a plurality of data cell regions by itself, the label A first data cell logical state determining step of determining the logical state of the data cell area where the data area overlaps the widest, and a data cell area of which the logical state is determined to be off in the first data cell logical state determining step On the other hand, when the ratio of the area occupied by the labels other than the single label is equal to or more than a predetermined value, and the label overlaps the center of the data cell region with the ratio of the predetermined area or more, A second data cell logic state determination step of determining the logic state to be on.
【0058】さらに、本発明に係る2次元コード読取プ
ログラムは、2次元コード読取方法をコンピュータに実
行させるためのものである。Further, a two-dimensional code reading program according to the present invention is for causing a computer to execute a two-dimensional code reading method.
【0059】本発明の多値画像2値化装置、多値画像2
値化方法および多値画像2値化プログラムでは、多値画
像分割手段(多値画像分割ステップ)において、複数の
ドットの組み合わせで表現される記号を含んだ多値画像
を複数の小領域に分割し、しきい値算出手段(しきい値
算出ステップ)において、小領域のうち2値化の対象で
ある被2値化小領域を包含し、かつ該被2値化小領域よ
りも広い面積を有するしきい値算出領域の輝度値から被
2値化小領域のしきい値を算出し、小領域2値化手段
(小領域2値化ステップ)において、しきい値算出手段
で求められたしきい値により前記被2値化小領域を2値
化すると同時に、被2値化小領域中に記号が存在する場
合、該記号の外側にクワイエットゾーンを生成してい
る。Multivalued Image Binarization Apparatus of the Present Invention, Multivalued Image 2
In the binarization method and the binarization program, a multi-level image dividing means (multi-level image division step) divides a multi-level image including a symbol represented by a combination of a plurality of dots into a plurality of small areas. Then, the threshold value calculating means (threshold value calculating step) includes a binarized small region to be binarized among the small regions and an area larger than the binarized small region. The threshold value of the binarized small area is calculated from the luminance value of the threshold value calculation area having the threshold value, and the small area binarization means (small area binarization step) calculates the threshold value by the threshold value calculation means. The binarized small area is binarized by a threshold value, and at the same time, when a symbol exists in the binarized small area, a quiet zone is generated outside the symbol.
【0060】また、多値画像2値化装置、多値画像2値
化方法および多値画像2値化プログラムでは、多値画像
分割手段(多値画像分割ステップ)において、2次元コ
ードを含んだ多値画像を複数の小領域に分割し、しきい
値算出手段(しきい値算出ステップ)において、小領域
のうち2値化の対象である被2値化小領域を包含し、か
つ該被2値化小領域より大きいしきい値算出領域の輝度
値から前記被2値化小領域のしきい値を算出し、小領域
2値化手段(小領域2値化ステップ)において、しきい
値により前記被2値化小領域を2値化すると同時に、被
2値化小領域中に2次元コードが存在する場合、該2次
元コードの外側にクワイエットゾーンを生成している。In the multi-value image binarizing device, the multi-value image binarization method and the multi-value image binarization program, the multi-value image dividing means (multi-value image dividing step) includes a two-dimensional code. The multi-valued image is divided into a plurality of small areas, and a threshold value calculating means (threshold value calculating step) includes a binarized small area to be binarized among the small areas, and The threshold value of the binarized small area is calculated from the luminance value of the threshold value calculation area that is larger than the binarized small area. , The binarized small area is binarized, and at the same time, when a two-dimensional code exists in the binarized small area, a quiet zone is generated outside the two-dimensional code.
【0061】このように、被2値化小領域よりも大きな
広い面積を有するしきい値算出領域の輝度値に基づいて
しきい値を算出し、これを用いて被2値化小領域を2値
化することによって、被2値化小領域中に記号または2
次元コードが存在する場合は、記号または2次元コード
の外側にクワイエットゾーンが生成されるため、記号ま
たは2次元コードの輪郭が極めて明確になる。したがっ
て、多値画像にノイズが含まれていても、記号または2
次元コードの位置、傾きおよび形状等の検出といった2
値化後の画像処理を正確に行うことができるといった効
果を奏する。また、分割された小領域毎にしきい値を算
出し、これを用いて被2値化小領域を2値化しているた
め、多値画像に輝度ムラがあっても正確に2値化するこ
とができるといった効果を奏する。As described above, the threshold value is calculated based on the luminance value of the threshold value calculation region having a larger area than the binarized small region, and the threshold value is calculated by using the threshold value. By binarizing, a symbol or 2 appears in the binarized small area.
When a dimensional code is present, a quiet zone is generated outside the symbol or the two-dimensional code, so that the outline of the symbol or the two-dimensional code is extremely clear. Therefore, even if the multi-valued image contains noise,
2 such as detection of position, inclination, shape, etc. of dimensional code
There is an effect that image processing after the binarization can be performed accurately. Further, since a threshold value is calculated for each of the divided small areas and the threshold value is used to binarize the binarized small area, it is necessary to accurately binarize even if the multi-valued image has uneven brightness. It has the effect of being able to
【0062】結果として、多値画像の輝度ムラやノイ
ズ、2次元コードの変形、セルの滲みや欠けといった変
形、セルの消失、セルの位置ずれ等に対してこれらの影
響を受けずに所望の処理を行っていくことにより、多値
画像中の2次元コードを正確に読み取ることができる。As a result, the luminance unevenness and noise of the multi-valued image, the deformation of the two-dimensional code, the deformation such as bleeding or chipping of the cell, the disappearance of the cell, the displacement of the cell, etc. By performing the processing, the two-dimensional code in the multi-valued image can be accurately read.
【0063】また、多値画像2値化装置、多値画像2値
化方法および多値画像2値化プログラムでは、しきい値
算出手段(しきい値算出ステップ)は、しきい値算出領
域における最大の輝度値と最小の輝度値との算術平均値
をしきい値としている。しきい値算出領域は被2値化小
領域よりも大きな広い面積を有していることと、しきい
値は最大輝度値と最小輝度値との平均といった簡単な計
算によって求めることができることから、ほぼ確実かつ
高速にクワイエットゾーンを生成できる。したがって、
高い処理効率で多値画像のノイズを除去することができ
る。In the multi-value image binarizing device, the multi-value image binarization method and the multi-value image binarization program, the threshold value calculating means (threshold value calculating step) The arithmetic average of the maximum luminance value and the minimum luminance value is used as the threshold. Since the threshold value calculation region has a larger area than the binarized small region and the threshold value can be obtained by a simple calculation such as averaging the maximum luminance value and the minimum luminance value, A quiet zone can be generated almost certainly and at high speed. Therefore,
The noise of the multi-value image can be removed with high processing efficiency.
【0064】また、2次元コード読取装置、2次元コー
ド読取方法および2次元コード読取プログラムでは、2
値化/クワイエットゾーン生成手段(2値化/クワイエ
ットゾーン生成ステップ)において、多値画像を2値化
すると共に、多値画像に含まれている2次元コードの周
囲にクワイエットゾーンを生成し、タイミングセル検出
手段(タイミングセル検出ステップ)において、クワイ
エットゾーンに囲まれた2次元コード中のタイミングセ
ルを検出し、データセル領域設定手段(データセル領域
設定ステップ)において、タイミングセル検出部で検出
された各タイミングセルの中心または中点を通る直線と
他の直線との交点を中心とした所定領域を、2次元コー
ド中の各データセルの論理状態を識別するために用いら
れるデータセル領域として設定し、データセル論理状態
識別手段(データセル論理状態識別ステップ)におい
て、2次元コードの領域をラベリング処理することによ
って得られたラベルと、データセル領域設定ステップで
設定したデータセル領域との重なりに基づいて、各デー
タセル領域の論理状態を識別することによって、2次元
コードを含む多値画像から2次元コードを読み取ってい
る。In the two-dimensional code reading device, the two-dimensional code reading method and the two-dimensional code reading program,
The binarization / quiet zone generation means (binarization / quiet zone generation step) binarizes the multi-valued image and generates a quiet zone around the two-dimensional code included in the multi-valued image, The cell detecting means (timing cell detecting step) detects a timing cell in the two-dimensional code surrounded by the quiet zone, and the data cell area setting means (data cell area setting step) detects the timing cell in the timing cell detecting section. A predetermined area centered on the intersection of a straight line passing through the center or midpoint of each timing cell and another straight line is set as a data cell area used to identify the logical state of each data cell in the two-dimensional code. In the data cell logic state identification means (data cell logic state identification step), the two-dimensional code By identifying the logical state of each data cell area based on the overlap between the label obtained by performing the labeling process on the area and the data cell area set in the data cell area setting step, a multi-dimensional code including a two-dimensional code is identified. The two-dimensional code is read from the value image.
【0065】2値化/クワイエットゾーン生成手段(2
値化/クワイエットゾーン生成ステップ)では、2次元
コードの周辺にクワイエットゾーンが生成されるため2
次元コードの輪郭が極めて明確になり、多値画像にノイ
ズが含まれていてもその影響をあまり受けない。また、
データセル領域設定手段(データセル領域設定ステッ
プ)において、タイミングセル検出手段(タイミングセ
ル検出ステップ)で検出したタイミングセルの中心また
は中点を通る直線と他の直線との交点を中心とした所定
領域をデータセル領域として設定し、データセル論理状
態識別手段(データセル論理状態識別ステップ)におい
て、ラベリング処理によって得られたラベルと、設定さ
れたデータセル領域との重なりに基づいて、各データセ
ル領域の論理状態を識別しているため、2次元コードを
含む多値画像から2次元コードを正確に読み取ることが
できる。The binarization / quiet zone generation means (2
In the binarization / quiet zone generation step), a quiet zone is generated around the two-dimensional code.
The contour of the dimensional code becomes very clear, and even if noise is included in the multi-valued image, it is not so affected. Also,
In the data cell area setting means (data cell area setting step), a predetermined area centered on the intersection of a straight line passing through the center or midpoint of the timing cell detected by the timing cell detecting means (timing cell detecting step) and another straight line Is set as a data cell area, and in the data cell logic state identification means (data cell logic state identification step), each data cell area is determined based on the overlap between the label obtained by the labeling process and the set data cell area. , The two-dimensional code can be accurately read from the multi-valued image including the two-dimensional code.
【0066】また、2次元コード読取装置、2次元コー
ド読取方法および2次元コード読取プログラムでは、2
次元コード概略存在領域決定手段(2次元コード概略存
在領域決定ステップ)において、2値化/クワイエット
ゾーン生成手段で得た2値化画像中の、クワイエットゾ
ーンで囲まれた領域全体を含む四角形の領域を、2次元
コード概略存在領域として定め、2次元コード回転角度
決定手段(2次元コード回転角度決定ステップ)におい
て、2次元コード概略存在領域の互いに交差する2辺の
それぞれに対する、2次元コード概略存在領域中の2次
元コードの回転角度を求め、ガイドセル外接線検出手段
(ガイドセル外接線検出ステップ)において、2次元コ
ード回転角度決定手段で求めた回転角度、および2次元
コード中の一列に並んだガイドセルに外接するガイドセ
ル外接線の通過点に基づいて、ガイドセル外接線を検出
し、タイミングセル外接線検出手段(タイミングセル外
接線検出ステップ)において、2次元コード回転角度決
定手段で求めた回転角度、および2次元コード中の一列
に並んだタイミングセルに外接するタイミングセル外接
線の通過点に基づいて、タイミングセル外接線を検出
し、ガイドセル外接線検出手段で検出したガイドセル外
接線と、タイミングセル外接線検出手段で検出したタイ
ミングセル外接線とによって囲まれた領域を2次元コー
ドとしている。In the two-dimensional code reading device, the two-dimensional code reading method and the two-dimensional code reading program,
In the two-dimensional code approximate existence area determination means (two-dimensional code approximate existence area determination step), a quadrangular area including the entire area surrounded by the quiet zone in the binarized image obtained by the binarization / quiet zone generation means Is defined as a two-dimensional code rotation existence area (two-dimensional code rotation angle determination step), and the two-dimensional code rotation existence determining area (two-dimensional code rotation angle determination step) determines the two-dimensional code rotation existence The rotation angle of the two-dimensional code in the area is determined, and the rotation angle determined by the two-dimensional code rotation angle determination means in the guide cell outer tangent detection means (guide cell outer tangent detection step) and the rotation angle determined by the two-dimensional code are aligned. The tangent to the guide cell is detected based on the passing point of the tangent to the guide cell. In the external tangent detecting means (timing cell external tangent detecting step), the rotation angle obtained by the two-dimensional code rotation angle determining means and the passing point of the timing cell external tangent circumscribing the timing cells arranged in a line in the two-dimensional code are determined. A region surrounded by the guide cell outer tangent detected by the guide cell outer tangent detector and the timing cell outer tangent detected by the timing cell outer tangent detector is detected as a two-dimensional code. I have.
【0067】2次元コード概略存在領域決定手段(2次
元コード概略存在領域決定ステップ)では、2値化画像
中の一部を2次元コード概略存在領域として抽出し、当
該領域以外は2次元コード読み取りのためには用いられ
ることがないため、当該領域以外の領域に混入している
ノイズの影響を受けることがなくなる。また、ガイドセ
ル外接線検出手段(ガイドセル外接線検出ステップ)で
は2次元コード回転角度決定手段(2次元コード回転角
度決定ステップ)で求めた回転角度および通過点に基づ
いてガイドセル外接線を検出しており、タイミングセル
外接線検出手段(タイミングセル外接線検出ステップ)
では2次元コード回転角度決定手段(2次元コード回転
角度決定ステップ)で求めた回転角度および通過点に基
づいてタイミングセル外接線を検出しているため、2次
元コードの位置、形状および領域を正確に特定すること
ができる。The two-dimensional code approximate existence area determining means (two-dimensional code approximate existence area determination step) extracts a part of the binarized image as a two-dimensional code approximate existence area, and reads the two-dimensional code except for the area. Therefore, it is not affected by noise mixed in an area other than the area. The guide cell outer tangent detecting means (guide cell outer tangent detecting step) detects the guide cell outer tangent based on the rotation angle and the passing point obtained by the two-dimensional code rotation angle determining means (two-dimensional code rotation angle determining step). And timing cell external tangent detection means (timing cell external tangent detection step)
Since the tangent line outside the timing cell is detected based on the rotation angle and the passing point obtained by the two-dimensional code rotation angle determining means (two-dimensional code rotation angle determination step), the position, shape and area of the two-dimensional code can be accurately determined. Can be specified.
【0068】また、2次元コード読取装置、2次元コー
ド読取方法および2次元コード読取プログラムでは、2
次元コード中のタイミングセルの一部が消失していると
き、消失タイミングセル補完ステップ(消失タイミング
セル補完手段)において、タイミングセルが消失してい
る位置を算出し、該算出位置にタイミングセルを補完し
ている。したがって、タイミングセルが消失しても全タ
イミングセルの位置を正確に求めることができる。In the two-dimensional code reading device, the two-dimensional code reading method and the two-dimensional code reading program,
When a part of the timing cell in the dimensional code has disappeared, a position where the timing cell has disappeared is calculated in the disappearance timing cell complementing step (erasure timing cell complementing means), and the timing cell is complemented to the calculated position. are doing. Therefore, even if the timing cells disappear, the positions of all the timing cells can be accurately obtained.
【0069】また、2次元コード読取装置、2次元コー
ド読取方法および2次元コード読取プログラムでは、2
値化/クワイエットゾーン生成手段(2値化/クワイエ
ットゾーン生成ステップ)において、多値画像を複数の
小領域に分割し(多値画像分割ステップ)、前記分割さ
れた小領域であって、2値化の対象とされた被2値化小
領域を含み、該被2値化小領域よりも広い面積を有する
しきい値算出領域を設定し(しきい値算出領域設定ステ
ップ)、しきい値算出領域内の輝度値に基づいて、被2
値化小領域のためのしきい値を算出し、(しきい値算出
ステップ)、しきい値と被2値化小領域中の各画素の輝
度値とを比較して被2値化小領域を2値化している(小
領域2値化ステップ)。In the two-dimensional code reading device, the two-dimensional code reading method and the two-dimensional code reading program,
The binarization / quiet zone generation means (binarization / quiet zone generation step) divides the multi-valued image into a plurality of small areas (multi-valued image division step), and A threshold calculation area including a binarized small area to be converted and having a larger area than the binarized small area (threshold calculation area setting step); Based on the luminance value in the area,
Calculating a threshold value for the binarized small area (threshold value calculating step); comparing the threshold value with the luminance value of each pixel in the binarized small area; Is binarized (small area binarization step).
【0070】特に、2値化/クワイエットゾーン生成手
段(しきい値算出ステップ)が、しきい値算出領域内の
最大輝度値と最小輝度値の算術平均値をしきい値として
算出することが望ましい。In particular, it is desirable that the binarization / quiet zone generating means (threshold value calculating step) calculates an arithmetic average of the maximum luminance value and the minimum luminance value in the threshold value calculation area as a threshold value. .
【0071】このように、2値化/クワイエットゾーン
生成手段(2値化/クワイエットゾーン生成ステップ)
では、被2値化小領域よりも広い面積のしきい値算出領
域内の輝度値に基づいてしきい値を算出し、これを用い
て被2値化小領域を2値化しているため、2次元コード
の周辺にクワイエットゾーンが生成される。したがっ
て、多値画像にノイズが含まれていても2次元コードの
輪郭が極めて明確になる。また、分割された小領域毎に
しきい値を算出し、これを用いて被2値化小領域を2値
化しているため、多値画像に輝度ムラがあっても正確に
2値化することができる。As described above, the binarization / quiet zone generation means (binarization / quiet zone generation step)
Since the threshold value is calculated based on the luminance value in the threshold value calculation region having an area larger than that of the binarized small region, and the binarized small region is binarized using the calculated threshold value, A quiet zone is generated around the two-dimensional code. Therefore, even if noise is included in the multi-valued image, the outline of the two-dimensional code becomes extremely clear. Further, since a threshold value is calculated for each of the divided small areas and the threshold value is used to binarize the binarized small area, it is necessary to accurately binarize even if the multi-valued image has uneven brightness. Can be.
【0072】また、2次元コード読取装置、2次元コー
ド読取方法および2次元コード読取プログラムでは、2
次元コードの内縁にガイドセルが配置されているとき、
2次元コード概略領域決定手段(2次元コード概略領域
決定ステップ)において、2値化/クワイエットゾーン
生成手段(2値化/クワイエットゾーン生成ステップ)
で得た2値化画像に対してマスクを用いてパタンマッチ
ング処理を行うことにより、2値化画像の各座標のパタ
ンマッチング値を求め、パタンマッチング値が最大とな
る点をガイドセル頂点として検出し、ガイドセル頂点を
含み、クワイエットゾーンに囲まれた領域全体を含む四
角形の領域を2次元コード概略存在領域として定めてい
る。In the two-dimensional code reading device, the two-dimensional code reading method and the two-dimensional code reading program,
When a guide cell is placed at the inner edge of the dimension code,
In the two-dimensional code outline area determination means (two-dimensional code outline area determination step), binarization / quiet zone generation means (binarization / quiet zone generation step)
A pattern matching process is performed on the binarized image obtained in step 2 using a mask to obtain a pattern matching value at each coordinate of the binarized image, and a point having the maximum pattern matching value is detected as a guide cell vertex. A quadrangular area including the guide cell vertices and including the entire area surrounded by the quiet zone is defined as the two-dimensional code general existence area.
【0073】特に、2次元コード読取装置、2次元コー
ド読取方法および2次元コード読取プログラムでは、ガ
イドセルが略L字状に配置されているとき、マスクとし
て略L字型のマスクを用いることが望ましい。In particular, in the two-dimensional code reading device, the two-dimensional code reading method and the two-dimensional code reading program, when the guide cells are arranged in a substantially L-shape, a substantially L-shaped mask is used as the mask. desirable.
【0074】このように、マスクを用いてパタンマッチ
ング処理を行うことによりガイドセル頂点を検出してい
るため、2次元コードが回転していても2次元コードの
概略位置を特定することができる。また、2値化画像中
の一部の領域が2次元コードの概略存在領域として定め
られ、当該領域以外の領域は2次元コード読み取りのた
めには用いられることがないため、当該領域以外の領域
に混入しているノイズの影響を受けない。言い換える
と、2次元コード概略存在領域外のノイズが排除された
ことに等しい。As described above, since the guide cell vertices are detected by performing the pattern matching process using the mask, the approximate position of the two-dimensional code can be specified even if the two-dimensional code is rotated. In addition, a part of the area in the binarized image is determined as a general existence area of the two-dimensional code, and the area other than the area is not used for reading the two-dimensional code. It is not affected by noise mixed in In other words, this is equivalent to eliminating noise outside the two-dimensional code roughly existing area.
【0075】また、2次元コード読取装置、2次元コー
ド読取方法および2次元コード読取プログラムでは、2
次元コード回転角度決定手段(2次元コード回転角度決
定ステップ)において、2次元コード概略存在領域の互
いに交差する2辺のそれぞれに対して、所定範囲の角度
で射影軸を所定角度ずつ回転させ、2次元コード概略存
在領域に対する射影処理を行うことにより、各回転角度
毎に射影軸上の射影強度を求め(射影処理ステップ)、
射影軸の回転角度毎に射影強度の最大値を求め(最大射
影強度検出ステップ)、得られた最大値の中で最も値の
高い最大値が得られた回転角度を求め(回転角度検出ス
テップ)、この回転角度を2次元コード概略存在領域の
各辺に対する2次元コードの回転角度としている。In the two-dimensional code reading device, the two-dimensional code reading method and the two-dimensional code reading program,
In the two-dimensional code rotation angle determining means (two-dimensional code rotation angle determination step), the projection axis is rotated by a predetermined angle by a predetermined angle with respect to each of two mutually intersecting sides of the two-dimensional code roughly existing area, and By performing projection processing on the approximately existing three-dimensional code area, a projection intensity on a projection axis is obtained for each rotation angle (projection processing step),
The maximum value of the projection intensity is obtained for each rotation angle of the projection axis (maximum projection intensity detection step), and the rotation angle at which the highest maximum value among the obtained maximum values is obtained (rotation angle detection step) The rotation angle is defined as the rotation angle of the two-dimensional code with respect to each side of the two-dimensional code approximate existence area.
【0076】このように、2次元コード回転角度決定手
段(2次元コード回転角度決定ステップ)では、射影軸
を所定角度ずつ回転し、その度に射影処理を行うことに
よって得られた射影強度の中から最も射影強度の高い値
を有する回転角度を2次元コードの回転角度としてい
る。したがって、2次元コード概略存在領域中にノイズ
が含まれていたり、個々のセルに滲みやかけ等の変形が
あったり、個々のセルが消失していたとしても、複数の
結果の中から最適なものを選択しているために回転角度
を正確に決定することができる。また、2次元コードの
回転角度は2次元コード概略存在領域の互いに交差する
2辺のそれぞれに対して独立に決定されているため、2
次元コードが印字や撮像光学系のゆがみ等の影響によっ
て変形していたとしても、2次元コードの回転角度を正
確に求めることができる。As described above, in the two-dimensional code rotation angle determining means (two-dimensional code rotation angle determining step), the projection axis is rotated by a predetermined angle, and the projection intensity is obtained by performing the projection processing each time. , The rotation angle having the highest value of the projection intensity is defined as the rotation angle of the two-dimensional code. Therefore, even if noise is included in the two-dimensional code approximate existence region, or individual cells have deformation such as bleeding or sprinkling, or even if individual cells have disappeared, the optimal result is obtained from among a plurality of results. Since the object is selected, the rotation angle can be accurately determined. Also, since the rotation angle of the two-dimensional code is determined independently for each of the two sides of the two-dimensional code approximate existence area that intersect with each other,
Even if the two-dimensional code is deformed due to the influence of printing or distortion of the imaging optical system, the rotation angle of the two-dimensional code can be accurately obtained.
【0077】また、2次元コード読取装置、2次元コー
ド読取方法および2次元コード読取プログラムでは、ガ
イドセル外接線検出手段(ガイドセル外接線検出ステッ
プ)において、2次元コード概略存在領域の互いに交差
する2辺のそれぞれに対し、射影軸を、対象とされてい
る辺に対応する2次元コードの回転角度だけ傾けて射影
処理を行うことにより、射影軸上の射影強度を求め(射
影処理ステップ)、得られた射影強度に基づいてガイド
セル外接線の通過点を求め(ガイドセル外接線通過点検
出ステップ)、通過点および2次元コードの回転角度か
らガイドセル外接線を生成している(ガイドセル外接線
生成ステップ)。In the two-dimensional code reading device, the two-dimensional code reading method and the two-dimensional code reading program, the guide cell outer tangent detecting means (guide cell outer tangent detecting step) intersects the two-dimensional code roughly existing areas. Projection processing is performed on each of the two sides by tilting the projection axis by the rotation angle of the two-dimensional code corresponding to the target side, thereby obtaining a projection intensity on the projection axis (projection processing step). A passing point of the guide cell outer tangent is obtained based on the obtained projection intensity (guide cell outer tangent passing point detecting step), and a guide cell outer tangent is generated from the passing point and the rotation angle of the two-dimensional code (guide cell). External tangent line generation step).
【0078】特に、射影強度が最大となる点からガイド
セル頂点側に向かって射影強度を順に調べ、最大射影強
度の第1所定割合をはじめて下回り、かつ、同方向の所
定距離の射影強度が最大射影強度を上回らないとき、最
大射影強度の第1所定割合をはじめて下回った点を通過
点として定めることが望ましい。In particular, the projection intensity is examined in order from the point where the projection intensity is maximum toward the vertex side of the guide cell, and the projection intensity is lower than the first predetermined ratio of the maximum projection intensity for the first time and at a predetermined distance in the same direction. When the projection intensity does not exceed, it is desirable to determine a point that first falls below the first predetermined ratio of the maximum projection intensity as a passing point.
【0079】このように、ガイドセル外接線検出手段
(ガイドセル外接線検出ステップ)では、射影軸を2次
元コード回転角度決定手段(2次元コード回転角度決定
ステップ)で得られた回転角度だけ傾けて射影処理を行
い、その結果得られた射影強度に基づいて、条件を満た
した点をガイドセル外接線の通過点として定めている。
したがって、個々のガイドセルに滲みや欠け等の変形が
あったり消失していたとしても、ガイドセルの外接線を
2次元コード概略存在領域の互いに交差する2辺のそれ
ぞれに対して独立に求めることができ、結果として、2
次元コードが印字や撮像光学系のゆがみ等の影響によっ
て変形していたとしても、各ガイドセル外接線を正確に
求めることができる。As described above, in the guide cell outer tangent detection means (guide cell outer tangent detection step), the projection axis is inclined by the rotation angle obtained by the two-dimensional code rotation angle determination means (two-dimensional code rotation angle determination step). A point satisfying the condition is determined as a passing point of the guide cell outer tangent based on the projection intensity obtained as a result.
Therefore, even if each guide cell has a deformation such as bleeding or chipping or disappears, it is necessary to obtain the external tangent line of the guide cell independently for each of the two intersecting sides of the two-dimensional code roughly existing area. And, as a result, 2
Even if the dimensional code is deformed due to the influence of printing, distortion of the imaging optical system, or the like, the outer tangent of each guide cell can be accurately obtained.
【0080】また、2次元コード読取装置、2次元コー
ド読取方法および2次元コード読取プログラムでは、タ
イミングセル外接線検出手段(タイミングセル外接線検
出ステップ)において、2次元コード概略存在領域の互
いに交差する2辺のそれぞれに対し、射影軸を、対象と
されている辺に対応する2次元コードの回転角度だけ傾
けて射影処理を行うことにより、射影軸上の射影強度を
求め(射影処理ステップ)、得られた射影強度に基づい
てタイミングセル外接線の通過点を求め(タイミングセ
ル外接線通過点検出ステップ)、通過点および2次元コ
ードの回転角度からタイミングセル外接線を生成してい
る(タイミングセル外接線生成ステップ)。In the two-dimensional code reading device, the two-dimensional code reading method and the two-dimensional code reading program, the timing cell outside tangent detection means (timing cell outside tangent detection step) intersects the two-dimensional code roughly existing areas. Projection processing is performed on each of the two sides by tilting the projection axis by the rotation angle of the two-dimensional code corresponding to the target side, thereby obtaining a projection intensity on the projection axis (projection processing step). The passing point of the timing cell outer tangent is determined based on the obtained projection intensity (timing cell outer tangent passing point detecting step), and the timing cell outer tangent is generated from the passing point and the rotation angle of the two-dimensional code (timing cell). External tangent line generation step).
【0081】特に、射影強度が最大となる点からガイド
セル頂点と反対側の方向に向かって射影強度を順に調
べ、最大射影強度の第2所定割合をはじめて下回り、か
つ、同方向の所定距離の射影強度が最大射影強度を上回
らないとき、最大射影強度の第2所定割合をはじめて下
回った点を通過点として定めることが望ましい。In particular, the projection intensity is checked in order from the point where the projection intensity is maximum toward the direction opposite to the vertex of the guide cell, and falls below a second predetermined ratio of the maximum projection intensity for the first time, and the predetermined distance in the same direction is reduced. When the projection intensity does not exceed the maximum projection intensity, it is desirable to determine a point that first falls below the second predetermined ratio of the maximum projection intensity as a passing point.
【0082】このように、タイミングセル外接線検出手
段(タイミングセル外接線検出ステップ)では、射影軸
を2次元コード回転角度決定手段(2次元コード回転角
度決定ステップ)で得られた回転角度だけ傾けて射影処
理を行い、その結果得られた射影強度に基づいて、条件
を満たした点をタイミングセル外接線の通過点として定
めている。したがって、個々のタイミングセルに滲みや
欠け等の変形があったり消失していたとしても、タイミ
ングセルの外接線を2次元コード概略存在領域の互いに
交差する2辺のそれぞれに対して独立に求めることがで
き、結果として、2次元コードが印字や撮像光学系のゆ
がみ等の影響によって変形していたとしても、各タイミ
ングセル外接線を正確に求めることができる。As described above, in the timing cell outer tangent detecting means (timing cell outer tangent detecting step), the projection axis is inclined by the rotation angle obtained by the two-dimensional code rotation angle determining means (two-dimensional code rotation angle determining step). A projection process is performed, and based on the projection intensity obtained as a result, a point satisfying the condition is determined as a passing point of the timing cell external tangent. Therefore, even if each of the timing cells has a deformation such as bleeding or chipping or disappears, it is necessary to obtain the tangent line of the timing cell independently for each of the two sides of the two-dimensional code roughly existing area that intersect each other. As a result, even if the two-dimensional code is deformed due to the influence of printing, distortion of the imaging optical system, or the like, it is possible to accurately determine the external tangent of each timing cell.
【0083】また、2次元コード読取装置、2次元コー
ド読取方法および2次元コード読取プログラムでは、タ
イミングセル外接線検出手段(タイミングセル外接線検
出ステップ)でタイミングセル外接線が複数生成された
とき、生成された複数のタイミングセル外接線それぞれ
を仮のタイミングセル外接線とし、互いに交差する仮の
タイミングセル外接線と互いに交差するガイドセル外接
線とによって形成される四角形の各辺の長さが、設計値
としての2次元コードの一辺の長さに最も近いという第
1の条件、および仮のタイミングセル外接線の内側に存
在するタイミングセル数が最も多いという第2の条件の
いずれか一方または両方を満たした互いに交差する仮の
タイミングセル外接線を正規のタイミングセル外接線と
して選別している。したがって、タイミングセルが欠け
ていたりタイミングセル列にノイズが混入していても、
タイミングセルの外接線を正確に検出することができ
る。In the two-dimensional code reader, the two-dimensional code reading method and the two-dimensional code reading program, when a plurality of timing cell outer tangents are generated by the timing cell outer tangent detecting means (timing cell outer tangent detecting step), Each of the generated plurality of timing cell external tangents is a temporary timing cell external tangent, and the length of each side of the quadrangle formed by the temporary timing cell external tangent intersecting with each other and the guide cell external tangent intersecting with each other, Either one or both of a first condition that is closest to the length of one side of a two-dimensional code as a design value and a second condition that the number of timing cells existing inside a temporary timing cell outer tangent is the largest Tentative timing cell external tangents that meet each other are selected as regular timing cell external tangents. Therefore, even if timing cells are missing or noise is mixed in the timing cell row,
The external tangent of the timing cell can be accurately detected.
【0084】また、2次元コード読取装置、2次元コー
ド読取方法および2次元コード読取プログラムでは、タ
イミングセル検出手段(タイミングセル検出ステップ)
において、タイミングセル外接線検出手段(タイミング
セル外接線検出ステップ)で検出された一方のタイミン
グセル外接線と、該一方のタイミングセル外接線から前
記一方のタイミングセル外接線に対向するガイドセル外
接線側に一セル分平行移動した直線と、他方のタイミン
グセル外接線と、該他方のタイミングセル外接線に対向
するガイドセル外接線とによって囲まれた2値化画像を
前記一方のタイミングセル外接線側に射影して、前記一
方のタイミングセル外接線上の前記射影強度を求め(射
影処理ステップ)、得られた射影強度に基づいてしきい
値を算出し(しきい値算出ステップ)、しきい値を用い
て射影強度を2値化し、仮のタイミングセルを求め(仮
タイミングセル検出ステップ)、他方のタイミングセル
外接線と該他方のタイミングセル外接線に対向するガイ
ドセル外接線との間の距離と、設計値としての2次元コ
ード一辺に含まれるガイドセル数およびタイミングセル
数とから算出タイミングセルを求め(算出タイミングセ
ル導出ステップ)、仮のタイミングセルと算出タイミン
グセルとを比較して、算出タイミングセルに一対一に対
応する仮のタイミングセルを正規のタイミングセルとし
ている(正規タイミングセル設定ステップ)。In the two-dimensional code reader, the two-dimensional code reading method and the two-dimensional code reading program, the timing cell detecting means (timing cell detecting step)
, One of the timing cell external tangents detected by the timing cell external tangent detection means (timing cell external tangent detecting step), and the guide cell external tangent facing the one timing cell external tangent from the one timing cell external tangent. The binarized image surrounded by a straight line parallelly moved by one cell to the side, the other timing cell outer tangent, and the guide cell outer tangent facing the other timing cell outer tangent is the one timing cell outer tangent. The projection intensity is calculated on the outer tangent line of the one timing cell (projection processing step), and a threshold value is calculated based on the obtained projection intensity (threshold value calculation step). Is used to binarize the projection intensity to determine a tentative timing cell (a tentative timing cell detection step). Calculating a calculated timing cell from a distance between the outer tangent to the guide cell facing the outer tangent to the imaging cell and the number of guide cells and the number of timing cells included in one side of the two-dimensional code as a design value (calculated timing cell deriving step); The tentative timing cell is compared with the calculated timing cell, and the tentative timing cell corresponding to the calculated timing cell on a one-to-one basis is set as a regular timing cell (regular timing cell setting step).
【0085】特に、タイミングセル検出手段(しきい値
算出ステップ)が、射影強度の最大輝度値と最小輝度値
の算術平均値をしきい値として算出することが望まし
い。In particular, it is desirable that the timing cell detecting means (threshold value calculating step) calculate the arithmetic mean value of the maximum luminance value and the minimum luminance value of the projection intensity as a threshold value.
【0086】また、タイミングセル検出手段(算出タイ
ミングセル導出ステップ)が、前記距離を2次元コード
一辺に含まれるタイミングセル数で割ることによって算
出タイミングセルの位置を算出し、前記距離を2次元コ
ード一辺に含まれるガイドセル数で割ることによって算
出タイミングセルの幅を算出することが望ましい。The timing cell detecting means (calculated timing cell deriving step) calculates the position of the calculated timing cell by dividing the distance by the number of timing cells included in one side of the two-dimensional code, and calculates the distance by the two-dimensional code. It is desirable to calculate the width of the calculated timing cell by dividing by the number of guide cells included in one side.
【0087】また、タイミングセル検出手段(正規タイ
ミングセル設定ステップ)が、算出タイミングセルと該
算出タイミングセルに対応する仮のタイミングセルとの
位置差が第1の所定値よりも小さいという第1の条件、
および算出タイミングセルの幅と該算出タイミングセル
に対応する仮のタイミングセルの幅との幅差が第2の所
定値よりも小さいという第2の条件のいずれか一方また
は両方を満たす仮のタイミングセルを正規のタイミング
セルと判断することが望ましい。Further, the timing cell detecting means (regular timing cell setting step) determines that the position difference between the calculated timing cell and the provisional timing cell corresponding to the calculated timing cell is smaller than a first predetermined value. conditions,
And a temporary timing cell satisfying one or both of the second condition that a width difference between the width of the calculated timing cell and the width of the temporary timing cell corresponding to the calculated timing cell is smaller than a second predetermined value. Is desirably determined to be a regular timing cell.
【0088】また、タイミングセル外接線検出手段(タ
イミングセル外接線検出ステップ)で複数のタイミング
セル外接線が検出されたとき、タイミングセル検出手段
(正規タイミングセル検出ステップ)で検出された各タ
イミングセル外接線に接する正規のタイミングセルの数
を計数している(タイミングセル計数ステップ)。When a plurality of timing cell external tangents are detected by the timing cell external tangent detecting means (timing cell external tangent detecting step), each timing cell detected by the timing cell detecting means (normal timing cell detecting step) is detected. The number of regular timing cells in contact with the external tangent is counted (timing cell counting step).
【0089】このように、タイミングセル検出手段(タ
イミングセル検出ステップ)では、得られた射影強度を
しきい値を用いて2値化することにより、タイミングセ
ル列に小さなノイズが混入していても、射影処理の平均
効果によってキャンセルされる。また、タイミングセル
外接線検出手段(タイミングセル外接線検出ステップ)
で検出したタイミングセル外接線に基づいて得られた仮
のタイミングセルと算出タイミングセルとを比較するこ
とによって、算出タイミングに一対一に対応する仮のタ
イミングセルを正規のタイミングセルとして検出してい
る。したがって、タイミングセルに滲みや欠け等の変形
があったとしてもタイミングセルを正確に求めることが
できる。As described above, the timing cell detecting means (timing cell detecting step) binarizes the obtained projection intensity using the threshold value, so that even if small noise is mixed in the timing cell row. , Canceled by the average effect of the projection process. Timing cell external tangent detection means (timing cell external tangent detection step)
By comparing the provisional timing cell obtained based on the external tangent of the timing cell and the calculated timing cell, the provisional timing cell corresponding to the calculation timing on a one-to-one basis is detected as a regular timing cell. . Therefore, even if the timing cell is deformed such as bleeding or chipping, the timing cell can be obtained accurately.
【0090】また、2次元コード読取装置、2次元コー
ド読取方法および2次元コード読取プログラムでは、消
失タイミングセル補完手段(消失タイミングセル補完ス
テップ)において、消失したタイミングセルに対応する
算出タイミングセルの位置を、消失したタイミングセル
の仮位置とし(消失タイミングセル仮位置決定ステッ
プ)、消失タイミングセルの仮位置と同位置に近接する
2つの正規のタイミングセルを求め(近接タイミングセ
ル決定ステップ)、近接する2つの正規のタイミングセ
ルの内分点または外分点が示す位置にタイミングセルを
補完している(タイミングセル補完ステップ)。In the two-dimensional code reading device, the two-dimensional code reading method and the two-dimensional code reading program, the position of the calculated timing cell corresponding to the lost timing cell is determined by the lost timing cell complementing means (erasing timing cell complementing step). Is determined as the temporary position of the lost timing cell (temporary position determination step of lost timing cell), and two regular timing cells adjacent to the same position as the temporary position of the lost timing cell are determined (nearly determined timing cell determination step). The timing cell is complemented at the position indicated by the internal dividing point or the external dividing point of the two regular timing cells (timing cell complementing step).
【0091】特に、消失タイミングセル補完手段(タイ
ミングセル補完ステップ)は、近接する2つの正規のタ
イミングセルが消失タイミングセルの仮位置の両側にあ
る場合、近接する2つの正規のタイミングセルの内分点
にタイミングセルを補完し、近接する2つの正規のタイ
ミングセルが消失タイミングセルの仮位置の片側にある
場合、近接する2つの正規のタイミングセルの外分点に
タイミングセルを補完している。In particular, when two adjacent normal timing cells are located on both sides of the temporary position of the lost timing cell, the lost timing cell complementing means (timing cell complementing step) performs the internal division of the two adjacent normal timing cells. A point is supplemented with a timing cell, and when two adjacent regular timing cells are on one side of the temporary position of the lost timing cell, the timing cell is supplemented at the outside division point of the two adjacent regular timing cells.
【0092】したがって、算出タイミングセルに対応す
る正規のタイミングセルが存在しないときは、消失した
タイミングセルがあった位置にタイミングセルを生成す
ることによって、タイミングセルが消失しても全タイミ
ングセルの位置を正確に求めることができる。Therefore, when there is no regular timing cell corresponding to the calculated timing cell, a timing cell is generated at the position where the lost timing cell was located. Can be determined accurately.
【0093】また、2次元コード読取装置、2次元コー
ド読取方法および2次元コード読取プログラムでは、デ
ータセル領域設定手段(データセル領域設定ステップ)
において、タイミングセル検出手段(タイミングセル検
出ステップ)で検出された各タイミングセルの中心また
は中点を通る直線と他の直線との交点を求め(交点設定
ステップ)、求められた各交点を中心とした所定面積を
有する各領域をデータセル領域として生成している(デ
ータセル領域生成ステップ)。In the two-dimensional code reader, the two-dimensional code reading method and the two-dimensional code reading program, the data cell area setting means (data cell area setting step)
In the above, the intersection of a straight line passing through the center or the midpoint of each timing cell detected by the timing cell detecting means (timing cell detecting step) and another straight line is determined (intersection setting step), and each determined intersection is defined as the center. Each area having the predetermined area is generated as a data cell area (data cell area generating step).
【0094】特に、消失タイミングセル補完手段(消失
タイミングセル補完ステップ)によってタイミングセル
が補完されたとき、データセル領域設定手段(交点設定
ステップ)は、補完されたタイミングセルの中心または
補完されたタイミングセル若しくはタイミングセル検出
手段(タイミングセル検出ステップ)で検出されたタイ
ミングセルとの中点を通る直線との交点も求めることが
望ましい。In particular, when the timing cell is complemented by the lost timing cell complementing means (erasing timing cell complementing step), the data cell area setting means (intersection setting step) sets the center of the complemented timing cell or the complemented timing. It is also desirable to determine the intersection of the cell or the timing cell detected by the timing cell detection means (timing cell detection step) with a straight line passing through the middle point.
【0095】このように、各タイミングセルの中心また
は中点を通る直線が交わる点を中心としたデータセル領
域を生成しているため、データセルの論理状態を判別す
るための領域を設定することができる。As described above, since the data cell region is generated around the point where the straight line passing through the center or the middle point of each timing cell intersects, it is necessary to set the region for determining the logical state of the data cell. Can be.
【0096】また、2次元コード読取装置、2次元コー
ド読取方法および2次元コード読取プログラムでは、デ
ータセル論理状態識別手段(データセル論理状態識別ス
テップ)において、ガイドセル外接線とタイミングセル
外接線とで囲まれた領域内をラベリング処理して、ラベ
ルを生成し(ラベリング処理ステップ)し、生成された
全ラベルの内、1つのラベルの面積が所定範囲内のラベ
ルの加算平均面積を算出し(加算平均面積算出ステッ
プ)、生成されたラベルの内、面積が加算平均面積を中
心とした所定範囲のラベルを抽出し(ラベル抽出ステッ
プ)、抽出されたラベルと、データセル領域設定手段
(データセル領域設定ステップ)で設定されたデータセ
ル領域との重なりに基づいて、各データセル領域の論理
状態を判定している(データセル論理状態判定ステッ
プ)。In the two-dimensional code reading device, the two-dimensional code reading method and the two-dimensional code reading program, the data cell logical state identifying means (data cell logical state identifying step) uses the external tangent to the guide cell and the external tangent to the timing cell. A labeling process is performed on the area surrounded by the to generate a label (labeling process step), and, among all the generated labels, an average area of one label having an area within a predetermined range is calculated ( Averaging area calculating step), among the generated labels, extracting a label whose area is within a predetermined range centered on the averaging area (label extracting step), and extracting the extracted label and a data cell area setting means (data cell area The logical state of each data cell area is determined based on the overlap with the data cell area set in the area setting step). Data cell logic state determination step).
【0097】特に、2次元コード読取装置、2次元コー
ド読取方法および2次元コード読取プログラムでは、デ
ータセル論理状態識別手段(データセル論理状態判定ス
テップ)は、抽出されたラベルが単体で複数のデータセ
ル領域にまたがっているとき、ラベルが最も広く重なっ
ているデータセル領域の論理状態をオンと判定している
(第1のデータセル論理状態判定ステップ)。このよう
に、データセル領域の論理状態の決定にしきい値を用い
ていないため、データセルの欠けや縮小、位置ずれ等に
よりデータセル領域の中心にラベルがなくても、論理状
態を正確に求めることができる。In particular, in the two-dimensional code reading device, the two-dimensional code reading method and the two-dimensional code reading program, the data cell logical state identifying means (data cell logical state determination step) is a method in which the extracted label is a single data item. When straddling the cell area, the logic state of the data cell area where the label overlaps the widest is determined to be ON (first data cell logical state determination step). As described above, since the threshold value is not used to determine the logical state of the data cell area, the logical state can be accurately obtained even if there is no label at the center of the data cell area due to lack of data cells, shrinkage, displacement, etc. be able to.
【0098】また、論理状態がオフのデータセル領域に
対して、前記単体のラベル以外のラベルが占める面積の
割合が所定値以上であり、かつ、前記データセル領域の
中心部に所定以上の面積の割合でラベルが重なるとき、
データセル領域の論理状態をオンと判定している(第2
のデータセル論理状態判定ステップ)。したがって、デ
ータセルの滲みや位置ずれ等により隣接するデータセル
が張り出しても論理状態を正確に求めることができる。The ratio of the area occupied by the label other than the single label to the data cell region in which the logical state is off is not less than a predetermined value, and the area of the data cell region is larger than the predetermined area at the center of the data cell region. When the labels overlap at the rate of
The logic state of the data cell area is determined to be on (second
Data cell logic state determination step). Therefore, even if adjacent data cells overhang due to bleeding or displacement of the data cells, the logical state can be accurately obtained.
【0099】[0099]
【発明の実施の形態】以下、本発明の実施の形態につい
て説明する。本発明においてドットとは、顔料、染料ま
たは塗料等により物品表面に着色して表現されたもの、
凸部または凹部を物品表面に設けて表現したもの、液晶
ディスプレイや陰極線管のような情報表示装置にドット
を表示する方法等のように、ドットの部分とドットでな
い部分との性状が異なるように形成されたものが挙げら
れる。前記ドットの形状は特に限定されない。Embodiments of the present invention will be described below. In the present invention, a dot is a pigment, a dye or a paint expressed on the surface of an article by a paint or the like,
In such a way that the projections or depressions are provided on the surface of the article, such as a method of displaying dots on an information display device such as a liquid crystal display or a cathode ray tube, etc. What was formed is mentioned. The shape of the dot is not particularly limited.
【0100】また、記号とは一定の事柄を指し示すため
に用いる知覚の対象物(岩波書店発行、広辞苑第五版)
であって、各種の言語を表記するための文字、幾何学模
様等によって構成される図形、またはこれらの組み合わ
せである。A symbol is an object of perception used to indicate a certain thing (Iwanami Shoten, Kojien Fifth Edition)
And is a character for expressing various languages, a graphic constituted by a geometric pattern or the like, or a combination thereof.
【0101】そして、多値画像とは、3値以上の階調に
よって輝度値が表される画像であって、例えば白と黒の
2値に加え、灰色等の中間調を用いて表される画像であ
る。The multi-valued image is an image in which the luminance value is represented by three or more gradations, and is represented by, for example, a gray level or the like in addition to the binary values of white and black. It is an image.
【0102】続いて、2次元コードの一つであるデータ
マトリックスコードを例にとって説明する。まず、図1
に示されるデータマトリックスコードの構成について説
明する。データマトリックスコード1は、データセル2
とタイミングセル3とガイドセル4とからなり、10行
×10列〜144行×144列の2次元配列として構成
されている。各セルは、それぞれオンまたはオフの2値
で表されており、図1においてはオンのセルを黒(塗り
つぶし)、オフのセルを白(塗りつぶしなし)で記載し
ている。Next, a data matrix code which is one of the two-dimensional codes will be described as an example. First, FIG.
The configuration of the data matrix code shown in FIG. Data matrix code 1 is data cell 2
And a timing cell 3 and a guide cell 4. The two-dimensional array includes 10 rows × 10 columns to 144 rows × 144 columns. Each cell is represented by a binary value of ON or OFF. In FIG. 1, ON cells are described in black (filled out), and OFF cells are described in white (unfilled).
【0103】ガイドセル4は、オンのセルが複数個直列
し、略直交する2本の直線形状となって略L字形状を形
成し、2次元コード(データマトリックスコード)の位
置および形状を検出する基準となる。またタイミングセ
ル3は、ガイドセル4と平行かつ対向するように、かつ
オンのセルとオフのセルが交互に現れるように配置さ
れ、略L字形状の2本の点線を形成する。そして、ガイ
ドセル4とタイミングセル3とが略正方形の4辺とな
り、2次元コードの外縁を形成する。The guide cell 4 has a plurality of ON cells connected in series and has two substantially linear shapes which are substantially orthogonal to each other to form a substantially L-shape, and detects the position and shape of a two-dimensional code (data matrix code). It is a standard to do. Further, the timing cells 3 are arranged so as to be parallel and opposed to the guide cells 4 and so that ON cells and OFF cells alternately appear, and form two substantially L-shaped dotted lines. The guide cell 4 and the timing cell 3 form four sides of a substantially square, and form the outer edge of the two-dimensional code.
【0104】データセルは、ガイドセル4とタイミング
セル3とで包囲される略正方形の領域内に配置されたセ
ルであって、記録される情報をオンまたはオフのセルに
よって2値で表す。The data cell is a cell arranged in a substantially square area surrounded by the guide cell 4 and the timing cell 3, and the information to be recorded is represented by an ON or OFF cell in binary.
【0105】[多重画像2値化]続いて、本発明に係る
多値画像2値化装置、多値画像2値化方法および多値画
像2値化プログラムの実施形態について説明する。本実
施形態の第1の多値画像2値化プログラムは、コンピュ
ータ等の演算手段を多値画像2値化装置として機能させ
るものであって、複数のドットの組み合わせで表現され
る記号を含んだ多値の画像が入力され、該画像を処理す
る。[Multi-Image Binarization] Next, an embodiment of a multi-value image binarization apparatus, a multi-value image binarization method, and a multi-value image binarization program according to the present invention will be described. The first multi-level image binarization program according to the present embodiment causes a computing unit such as a computer to function as a multi-level image binarization apparatus, and includes a symbol represented by a combination of a plurality of dots. A multi-valued image is input and the image is processed.
【0106】また、本実施形態の第2の多値画像2値化
プログラムは、撮像手段と記憶手段と演算手段とを備え
た2次元コード読取装置(図示せず)の前記演算手段を
多値画像2値化装置として機能させるものであり、各種
物品の表面に付与された2次元コードをCCDカメラ
(電荷結合素子カメラ)等の撮像手段により撮像した
後、磁気ディスクや半導体メモリ等の記憶手段に多値の
画像として記憶し、次いで演算手段によって前記多値画
像を処理する。Further, the second multi-valued image binarization program of the present embodiment comprises a multi-valued image reading device (not shown) provided with an image pickup means, a storage means and a calculation means. It functions as an image binarization device. After imaging a two-dimensional code given to the surface of various articles by an imaging means such as a CCD camera (charge coupled device camera), a storage means such as a magnetic disk or a semiconductor memory Is stored as a multi-valued image, and then the multi-valued image is processed by arithmetic means.
【0107】本実施形態の第1の多値画像2値化プログ
ラムおよび第2の多値画像2値化プログラムによって動
作する演算手段は、多値画像2値化装置として機能する
ように構成されており、前記多値画像2値化装置は、図
2のフローチャートに示されるように、多値画像分割手
段21としきい値算出手段22と小領域2値化手段23
とを備えている。The operation means operated by the first multi-valued image binarization program and the second multi-valued image binarization program of the present embodiment is configured to function as a multi-value image binarization device. The multi-valued image binarizing device includes a multi-valued image dividing means 21, a threshold value calculating means 22, and a small area binarizing means 23, as shown in the flowchart of FIG.
And
【0108】次に、前記の多値画像2値化装置による処
理(多値画像2値化方法)を図3に基づいて説明する。
前記多値画像分割手段21は、多値画像31を複数の小
領域32に分割する。また、前記しきい値算出手段22
は、多値画像31を分割して得られた複数の小領域32
のうち、2値化の対象である被2値化小領域33を包含
し、かつ該被2値化小領域より広い面積を有するしきい
値算出領域34の輝度値から、前記被2値化小領域33
のしきい値を算出する手段である。このとき、前記しき
い値算出領域34の面積は、被2値化小領域33の一辺
の長さが3倍未満であると後述するクワイエットゾーン
の生成が適切に行われなくなり、また被2値化小領域3
3の一辺の長さが5倍を超えると2次元コード周辺の輝
度ムラやノイズの影響を大きく受けるようになるので、
前記しきい値算出得領域34の面積は、被2値化小領域
33の一辺の長さが3〜5倍であることが好ましい。Next, the processing (multi-value image binarization method) by the above-described multi-value image binarization apparatus will be described with reference to FIG.
The multi-valued image dividing means 21 divides the multi-valued image 31 into a plurality of small areas 32. Further, the threshold value calculating means 22
Represents a plurality of small areas 32 obtained by dividing the multi-valued image 31
Of the threshold value calculation region 34 that includes the binarized small region 33 to be binarized and has a larger area than the binarized small region, Small area 33
Means for calculating the threshold value. At this time, if the length of one side of the binarized small region 33 is less than three times, the area of the threshold value calculation region 34 may not be appropriately generated as a quiet zone, which will be described later. Small area 3
If the length of one side of 3 is more than 5 times, it will be greatly affected by luminance unevenness and noise around the two-dimensional code.
As for the area of the threshold value calculation obtaining area 34, it is preferable that the length of one side of the binarized small area 33 is 3 to 5 times.
【0109】そして、小領域2値化手段23は、前記し
きい値算出手段22によって得られたしきい値と被2値
化小領域33中の各画素の輝度値とを比較し2値化する
手段である。このとき、被2値化小領域33中に記号ま
たは2次元コードの一部または全体が存在する場合、前
記記号または2次元コードの外側にクワイエットゾーン
が生成されるようになる。なお、前記しきい値算出手段
22および小領域2値化手段23は、多値画像分割手段
21で得られた全ての小領域に対し行われる。The small area binarizing means 23 compares the threshold value obtained by the threshold value calculating means 22 with the luminance value of each pixel in the binarized small area 33, and performs binarization. It is a means to do. At this time, when a part or the whole of the symbol or the two-dimensional code exists in the binarized small area 33, a quiet zone is generated outside the symbol or the two-dimensional code. The threshold value calculating means 22 and the small area binarizing means 23 are applied to all the small areas obtained by the multi-value image dividing means 21.
【0110】通常、多値画像を2値化して、記号や2次
元コードの位置、形状および/または大きさを検出する
には、前記記号や2次元コードの外側にクワイエットゾ
ーンと呼ばれる空白の部分が存在しなければならない
が、被2値化小領域33内のみの輝度値を用いてしきい
値を算出する従来のプログラムの場合、多値画像中のノ
イズがしきい値算出に影響し、2値化を行った後もノイ
ズが残存する問題があった。なお、前記クワイエットゾ
ーンとはオフで表される領域、すなわち2進数で表示し
た場合にゼロで表される領域である。図4はクワイエッ
トゾーンの二つの例の説明図であり、本発明により
(a)の「7」という文字(数字)や、(b)の2次元
コードの外側にクワイエットゾーン36(破線で挟まれ
る領域)が生成される。Usually, in order to binarize a multi-valued image and detect the position, shape and / or size of a symbol or a two-dimensional code, a blank portion called a quiet zone outside the symbol or the two-dimensional code is used. However, in the case of a conventional program that calculates a threshold using only the luminance value in the binarized small area 33, noise in the multi-valued image affects the calculation of the threshold, There is a problem that noise remains even after binarization. The quiet zone is an area represented by OFF, that is, an area represented by zero when represented by a binary number. FIG. 4 is an explanatory diagram of two examples of the quiet zone. According to the present invention, the quiet zone 36 (enclosed by a broken line) is outside the two-dimensional code (7) or the letter (7) of (a). Region) is generated.
【0111】前述の、クワイエットゾーンが生成されず
ノイズが残存する問題を、従来のしきい値算出の説明図
である図5に基づいて説明する。なお、図5中における
41の折れ線は多値画像の輝度値の変化を表し、42の
破線は多値画像の輝度値41から算出されたしきい値で
ある。また、43の輝度値はノイズを示し、44の輝度
値はオン状態のセルを示す。The above-mentioned problem that a quiet zone is not generated and noise remains will be described with reference to FIG. 5 which is an explanatory diagram of a conventional threshold value calculation. Note that the broken line 41 in FIG. 5 represents a change in the luminance value of the multi-valued image, and the broken line 42 is a threshold value calculated from the luminance value 41 of the multi-valued image. A luminance value of 43 indicates noise, and a luminance value of 44 indicates a cell in an ON state.
【0112】従来のように、被2値化小領域45のしき
い値を算出するにあたり、被2値化小領域45内のみの
輝度値を用いて算出すると、ノイズ43の影響を受けた
しきい値42となり、その結果2値画像46においても
ノイズ47が残存する。As in the prior art, when the threshold value of the binarized small area 45 is calculated by using only the luminance value in the binarized small area 45, the noise 43 is affected. The threshold value becomes 42, and as a result, noise 47 remains in the binary image.
【0113】これに対し、本実施形態のしきい値算出の
説明図である図6に示すように、しきい値算出領域48
を被2値化小領域45よりも大きい領域とすることによ
り、しきい値算出領域48内における輝度値の高低差が
顕著になり、その結果オン状態のセル44とノイズ43
との周辺のしきい値42’はノイズ43の輝度値よりも
低い値となる。したがって前記しきい値42’に基づい
て2値化を行うとノイズ43は除去されるようになり、
2値画像46中において空白の部分、すなわちクワイエ
ットゾーン49が生成されるようになる。このように、
本実施形態の多値画像2値化手段により多値画像を2値
化することによって、多値画像を2値画像に変換できる
と同時に、記号や2次元コードの周辺にクワイエットゾ
ーンを生成することができる。On the other hand, as shown in FIG. 6, which is an explanatory diagram of the threshold value calculation according to the present embodiment, the threshold value calculation region 48
Is larger than the binarized small area 45, the difference in luminance value in the threshold value calculation area 48 becomes remarkable, and as a result, the cell 44 in the ON state and the noise 43
Is a value lower than the luminance value of the noise 43. Therefore, when binarization is performed based on the threshold value 42 ′, the noise 43 is removed,
A blank portion, that is, a quiet zone 49, is generated in the binary image 46. in this way,
By binarizing the multi-valued image by the multi-valued image binarizing means of the present embodiment, the multi-valued image can be converted into a binary image, and at the same time, a quiet zone is generated around a symbol or a two-dimensional code. Can be.
【0114】このとき、しきい値算出手段22は、しき
い値算出領域48中の輝度値に基づいて被2値化小領域
45のしきい値を算出する場合、しきい値算出領域48
における最大の輝度値Lmaxと最小の輝度値Lminとの算
術平均値、すなわち(Lmax+Lmin)÷2をしきい値と
すると、適正なしきい値を高速に算出することができ
る。At this time, when the threshold value calculating means 22 calculates the threshold value of the binarized small area 45 based on the luminance value in the threshold value calculation area 48, the threshold value calculation area 48
If an arithmetic average value of the maximum luminance value Lmax and the minimum luminance value Lmin in , that is, ( Lmax + Lmin ) ÷ 2, is used as the threshold value, an appropriate threshold value can be calculated at high speed.
【0115】以上説明したように、本実施形態の2次元
コード読取装置、2次元コード読取方法および2次元コ
ード読取プログラムによれば、記号や2次元コード等の
コードの外側にクワイエットゾーンを生成できるので、
前記コードの輪郭が極めて明確になり、その後の画像処
理において、2値画像中におけるコードの位置、傾き、
および形状の検出を正確に行えるという効果を奏する。
特に、しきい値算出領域における最大の輝度値と最小の
輝度値との算術平均値をしきい値として2値化を行うこ
とによってほぼ確実に、かつ高速にノイズを除去できる
ようになり、処理効率が向上する。As described above, according to the two-dimensional code reading device, the two-dimensional code reading method and the two-dimensional code reading program of the present embodiment, a quiet zone can be generated outside a code such as a symbol or a two-dimensional code. So
The outline of the code becomes extremely clear, and in the subsequent image processing, the position, inclination,
Also, there is an effect that the shape can be accurately detected.
In particular, by performing binarization using the arithmetic mean value of the maximum luminance value and the minimum luminance value in the threshold value calculation region as a threshold value, noise can be removed almost surely and at high speed. Efficiency is improved.
【0116】[2次元コード読み取り]本発明に係る2
次元コード読取装置、2次元コード読取方法および2次
元コード読取プログラムは、特にノイズを多く含む多値
画像からマトリックス式の2次元コードを正確に読み取
るためのものである。[Two-dimensional code reading]
The two-dimensional code reading apparatus, the two-dimensional code reading method, and the two-dimensional code reading program are intended to accurately read a matrix-type two-dimensional code from a multi-valued image containing a lot of noise.
【0117】まず、マトリックス式の2次元コードの一
つ、データマトリックスコードについて説明する。図7
に示すデータマトリックスコード10は、直交する2辺
に論理状態がオン(塗りつぶし)のセルが複数個配置さ
れた略L字型のガイドセル列11と、ガイドセル列11
と平行かつ対向する残りの2辺に論理状態がオンのセル
とオフ(塗りつぶしなし)のセルが交互に配置されたタ
イミングセル列12と、ガイドセル列11およびタイミ
ングセル列12によって囲まれた略正方形の領域に格子
状に配置されたオンまたはオフのデータセル13とから
構成されている。なお、図7では、オンのセルを黒丸で
示し、オフのセルを白丸で示しているが、セルの形状は
丸に限らず四角でも良い。また、以下の説明において
は、ガイドセル列11を構成する各セルをガイドセルと
いい、タイミングセル列12を構成する論理状態がオン
のセルをタイミングセルという。First, a data matrix code, one of the matrix type two-dimensional codes, will be described. FIG.
Is a substantially L-shaped guide cell row 11 in which a plurality of cells whose logic state is ON (filled) are arranged on two orthogonal sides, and a guide cell row 11
A timing cell row 12 in which cells whose logic state is on and cells in which the logic state is off (no fill) are alternately arranged on the remaining two sides parallel to and opposed to each other, and are substantially surrounded by a guide cell row 11 and a timing cell row 12. And on / off data cells 13 arranged in a grid in a square area. In FIG. 7, ON cells are indicated by black circles, and OFF cells are indicated by white circles. However, the shape of the cells is not limited to a circle but may be a square. In the following description, each cell constituting the guide cell row 11 is referred to as a guide cell, and a cell constituting the timing cell row 12 whose logic state is ON is referred to as a timing cell.
【0118】また、同図において、符号14は、ガイド
セル列11およびタイミングセル列12の周辺、すなわ
ちデータマトリックスコード10の外周に生成されるク
ワイエットゾーン(後述)である。クワイエットゾーン
14は一セル幅以上の空白の領域であり、データマトリ
ックスコードの位置や形状、大きさ等を検出するための
ものである。また、符号15,16はガイドセルの外接
線を示し、符号17,18はタイミングセルの外接線を
示し、符号19はガイドセル頂点を示す。In the figure, reference numeral 14 denotes a quiet zone (to be described later) generated around the guide cell row 11 and the timing cell row 12, that is, around the data matrix code 10. The quiet zone 14 is a blank area of one cell width or more, and is for detecting the position, shape, size, and the like of the data matrix code. Reference numerals 15 and 16 denote external tangents of the guide cell, reference numerals 17 and 18 denote external tangents of the timing cell, and reference numeral 19 denotes a vertex of the guide cell.
【0119】続いて、本発明に係る2次元コード読取装
置および2次元コード読取方法の実施形態について説明
する。なお、本発明に係る2次元コード読取プログラム
については、2次元コード読取方法を実行させるための
プログラムであることから、その説明は以下の2次元コ
ード読取方法の説明に含まれる。また、2次元コード読
取に係る本実施形態では、2次元コードとしてデータマ
トリックスコードを例に説明を行っていくが、特に断り
がない限りこのデータマトリックスコードを2次元コー
ドと呼ぶ。Next, an embodiment of a two-dimensional code reading apparatus and a two-dimensional code reading method according to the present invention will be described. Since the two-dimensional code reading program according to the present invention is a program for executing the two-dimensional code reading method, the description is included in the following description of the two-dimensional code reading method. Further, in the present embodiment relating to two-dimensional code reading, a data matrix code will be described as an example of a two-dimensional code, but this data matrix code is referred to as a two-dimensional code unless otherwise specified.
【0120】本実施形態の2次元コード読取装置は、図
8に示すように、特許請求の範囲の2値化/クワイエッ
トゾーン生成手段に該当する多値画像2値化/クワイエ
ットゾーン生成部121と、2次元コード概略存在領域
決定手段に該当する2次元コード概略存在領域決定部1
22と、2次元コード回転角度決定手段に該当する2次
元コード回転角度決定部123と、ガイドセル外接線検
出手段に該当するガイドセル外接線検出部124と、タ
イミングセル外接線検出手段に該当するタイミングセル
外接線検出部125と、タイミングセル検出手段に該当
するタイミングセル検出部126と、消失タイミングセ
ル補完手段に該当する消失タイミングセル補完部127
と、データセル領域設定手段に該当するデータセル領域
設定部128と、データセル論理状態識別手段に該当す
るデータセル論理状態識別部129とを備えて構成され
ている。As shown in FIG. 8, the two-dimensional code reader of this embodiment has a multi-valued image binarization / quiet zone generation unit 121 corresponding to the binarization / quiet zone generation means of the present invention. Two-dimensional code approximate existence area determining unit 1 corresponding to two-dimensional code approximate existence area determination means
22, a two-dimensional code rotation angle determining unit 123 corresponding to the two-dimensional code rotation angle determining unit, a guide cell external tangent detecting unit 124 corresponding to the guide cell external tangent detecting unit, and a timing cell external tangent detecting unit. Timing cell external tangent detection section 125, timing cell detection section 126 corresponding to timing cell detection means, and lost timing cell complementation section 127 corresponding to lost timing cell complementation means
And a data cell area setting unit 128 corresponding to the data cell area setting means, and a data cell logical state identifying unit 129 corresponding to the data cell logical state identifying means.
【0121】また、本実施形態の2次元コード読取方法
は、図9に示すように、多値画像2値化/クワイエット
ゾーン生成ステップS21と、2次元コード概略存在領
域決定ステップS22と、2次元コード回転角度決定ス
テップS23と、ガイドセル外接線検出ステップS24
と、タイミングセル外接線検出ステップS25と、タイ
ミングセル検出ステップS26と、消失タイミングセル
補完ステップS27と、データセル領域設定ステップS
28と、データセル論理状態識別ステップS29とを有
する。すなわち、図9に示したフローチャートが2次元
コード読取方法のメインルーチン的なものであり、各ス
テップがサブルーチン的なものである。以下、これらサ
ブルーチン的なステップのそれぞれについて詳細に説明
する。As shown in FIG. 9, the two-dimensional code reading method according to the present embodiment includes a multi-value image binarization / quiet zone generation step S21, a two-dimensional code general existence area determination step S22, and a two-dimensional code Code rotation angle determination step S23, guide cell outer tangent detection step S24
A timing cell external tangent detection step S25, a timing cell detection step S26, a lost timing cell complementation step S27, and a data cell area setting step S25.
28 and a data cell logic state identification step S29. That is, the flowchart shown in FIG. 9 is a main routine of the two-dimensional code reading method, and each step is a subroutine. Hereinafter, each of these subroutine steps will be described in detail.
【0122】<多値画像2値化/クワイエットゾーンの
生成>まず、多値画像2値化/クワイエットゾーン生成
ステップS21(多値画像2値化/クワイエットゾーン
生成部21)について説明する。当該ステップは、図7
に示した2次元コードを含む画像領域をCCDカメラ
(電荷結合素子カメラ)やスキャナ装置等で撮像して得
られた多値画像を2値化し、同時にクワイエットゾーン
を生成するステップであり、図10のフローチャートに
示された複数のサブステップから構成されている。<Generation of Multivalued Image Binarization / Quiet Zone> First, the multivalued image binarization / quiet zone generation step S21 (multivalued image binarization / quiet zone generation unit 21) will be described. This step is shown in FIG.
FIG. 10 is a step of binarizing a multi-valued image obtained by imaging the image area including the two-dimensional code shown in FIG. 10 with a CCD camera (charge-coupled device camera) or a scanner device, and simultaneously generating a quiet zone. Is comprised of a plurality of sub-steps shown in the flowchart of FIG.
【0123】まず、ステップS31では、図3に示すよ
うに、多値画像31を被2値化区画として複数の小領域
32に分割する。次に、ステップS32では、ステップ
S31で得られた複数の小領域32中の1つを2値化の
対象である被2値化小領域33とし、この被2値化小領
域33を含み、かつ、被2値化小領域33より広い面積
を有するしきい値算出領域34を定める。次に、ステッ
プS33では、しきい値算出領域34内の最大輝度値と
最小輝度値の算術平均値を被2値化小領域33のための
しきい値として算出する。次に、ステップS34では、
ステップS33で算出されたしきい値と被2値化小領域
33中の各画素の輝度値とを比較して、被2値化小領域
33を2値化する。First, in step S31, as shown in FIG. 3, the multivalued image 31 is divided into a plurality of small areas 32 as binarized sections. Next, in step S32, one of the plurality of small regions 32 obtained in step S31 is set as a binarized small region 33 to be binarized, and the binarized small region 33 is included. In addition, a threshold calculation area 34 having an area larger than the binarized small area 33 is determined. Next, in step S33, the arithmetic average of the maximum luminance value and the minimum luminance value in the threshold value calculation area 34 is calculated as a threshold value for the binarized small area 33. Next, in step S34,
The threshold value calculated in step S33 is compared with the luminance value of each pixel in the binarized small area 33 to binarize the binarized small area 33.
【0124】なお、本実施形態において、被2値化小領
域33の幅は1セル幅の数倍程度とし、しきい値算出領
域34の幅は被2値化小領域33の数倍程度とした。そ
の結果、しきい値算出領域34の面積は、図3に示した
ように、被2値化小領域33の3〜5倍となるように設
定することが望ましい。3〜5倍とした理由は、3倍未
満であると後述するクワイエットゾーンの生成が適切に
行われなくなるからであり、5倍を超えると2次元コー
ド周辺の輝度ムラやノイズの影響を大きく受けるように
なってしまうからである。In this embodiment, the width of the binarized small area 33 is about several times the cell width, and the width of the threshold value calculation area 34 is about several times that of the binarized small area 33. did. As a result, it is desirable that the area of the threshold value calculation region 34 be set to be 3 to 5 times the binarized small region 33 as shown in FIG. The reason for setting it to 3 to 5 times is that if it is less than 3 times, a quiet zone described later will not be generated properly. If it exceeds 5 times, it will be greatly affected by luminance unevenness and noise around the two-dimensional code. It is because it becomes like this.
【0125】多値画像2値化/クワイエットゾーン生成
ステップS21は、ステップS32〜S34をステップ
S31で得られた各小領域32に対して行う。その結
果、2次元コードの周辺には、図7の符号14に示した
ようなクワイエットゾーンと呼ばれる一セル程度の幅を
有する空白の領域が生成される。In the multivalued image binarization / quiet zone generation step S21, steps S32 to S34 are performed on each small area 32 obtained in step S31. As a result, a blank area having a width of about one cell called a quiet zone as shown by reference numeral 14 in FIG. 7 is generated around the two-dimensional code.
【0126】以下、図5および図6を参照して、クワイ
エットゾーンが生成される仕組みまたは様子について説
明する。図5は、被2値化小領域と同じ位置にしきい値
算出領域を設定した場合の従来の2値化手法を示し、図
6は、上述した被2値化小領域よりも大きな領域をしき
い値算出領域とした本発明に係る2値化手法を示す。Hereinafter, a mechanism or a mode of generation of a quiet zone will be described with reference to FIGS. 5 and 6. FIG. 5 shows a conventional binarization method when a threshold value calculation area is set at the same position as a binarized small area, and FIG. 6 shows an area larger than the above-described binarized small area. 5 shows a binarization method according to the present invention in which a threshold value calculation region is set.
【0127】図5および図6において、符号41で示し
た折れ線は多値画像の輝度値の変化を表し、符号42,
42’で示した破線は多値画像の輝度値から算出された
しきい値を示し、符号43はノイズを示し、符号44は
論理状態がオン状態となるセルの一例を示し、符号45
は被2値化小領域を示す。また、符号46は2値画像を
示し、符号47はノイズとしての2値画像を示し、符号
48は本発明に係るしきい値算出領域を示し、符号49
は、多値画像2値化/クワイエットゾーン生成ステップ
S21によって生成されたクワイエットゾーンを示す。In FIGS. 5 and 6, a broken line indicated by reference numeral 41 indicates a change in the luminance value of the multi-valued image.
The dashed line indicated by 42 'indicates a threshold value calculated from the luminance value of the multi-valued image, reference numeral 43 indicates noise, reference numeral 44 indicates an example of a cell whose logical state is turned on, and reference numeral 45.
Indicates a binarized small area. Reference numeral 46 indicates a binary image, reference numeral 47 indicates a binary image as noise, reference numeral 48 indicates a threshold value calculation area according to the present invention, and reference numeral 49
Indicates a quiet zone generated in the multi-level image binarization / quiet zone generating step S21.
【0128】図5に示すように、しきい値算出領域を被
2値化小領域45と同じ位置に設定し、この領域内の最
大輝度値と最小輝度値の算術平均値をしきい値として2
値化を行うと、ノイズ43の影響を受けてしまうため、
2値画像46にノイズ47が含まれてしまう。しかしな
がら、図6に示すように、被2値化小領域45よりも大
きな領域をしきい値算出領域48とすることにより、し
きい値算出領域48内における輝度値の高低差が顕著に
なるため、しきい値42’はノイズ43の輝度値よりも
低い値となる。したがって、しきい値42’に基づいて
2値化を行うと、2値画像46からノイズ47が排除さ
れ、クワイエットゾーン49が生成される。As shown in FIG. 5, the threshold value calculation region is set at the same position as the binarized small region 45, and the arithmetic mean value of the maximum luminance value and the minimum luminance value in this region is set as the threshold value. 2
If the value is converted, it is affected by the noise 43.
The noise 47 is included in the binary image 46. However, as shown in FIG. 6, by setting an area larger than the binarized small area 45 as the threshold calculation area 48, the difference in luminance value in the threshold calculation area 48 becomes significant. , The threshold value 42 ′ is lower than the luminance value of the noise 43. Therefore, when binarization is performed based on the threshold value 42 ′, noise 47 is eliminated from the binary image 46, and a quiet zone 49 is generated.
【0129】以上説明したように、多値画像2値化/ク
ワイエットゾーン生成ステップS21(多値画像2値化
/クワイエットゾーン生成部21)では、被2値化小領
域よりも広い面積のしきい値算出領域内の輝度値に基づ
いてしきい値を算出し、これを用いて被2値化小領域を
2値化しているため、2次元コードの周辺にクワイエッ
トゾーンが生成される。したがって、多値画像にノイズ
が含まれていても2次元コードの輪郭が極めて明確にな
る。また、分割された小領域毎にしきい値を算出し、こ
れを用いて被2値化小領域を2値化しているため、多値
画像に輝度ムラがあっても正確に2値化することができ
る。As described above, in the multi-valued image binarization / quiet zone generation step S21 (multi-valued image binarization / quiet zone generation unit 21), the threshold is larger than the binarized small region. Since the threshold value is calculated based on the brightness value in the value calculation area and the binarized small area is binarized using the calculated threshold value, a quiet zone is generated around the two-dimensional code. Therefore, even if noise is included in the multi-valued image, the outline of the two-dimensional code becomes extremely clear. Further, since a threshold value is calculated for each of the divided small areas and the threshold value is used to binarize the binarized small area, it is necessary to accurately binarize even if the multi-valued image has uneven brightness. Can be.
【0130】<2次元コード概略存在領域の決定>次
に、2次元コード概略存在領域決定ステップS22(2
次元コード概略存在領域決定部22)について説明す
る。当該ステップは、2次元コードのガイドセル頂点を
検出して、2値化画像内の一部を2次元コードの概略存
在領域として定めるステップであり、図11のフローチ
ャートに示された複数のサブステップから構成されてい
る。<Determination of Schematic Two-Dimensional Code Existing Area> Next, a two-dimensional code schematic existing area determination step S22 (2
The dimension code approximate existence area determination unit 22) will be described. This step is a step of detecting a guide cell vertex of the two-dimensional code and determining a part in the binarized image as a general existence region of the two-dimensional code, and includes a plurality of sub-steps shown in the flowchart of FIG. It is composed of
【0131】まず、ステップS61では、図12に示し
たL字型のマスク(以下、L字マスクという)70を用
いて、多値画像2値化/クワイエットゾーン生成ステッ
プS21で得られた2値化画像の全域を走査する。この
ステップで用いられるL字マスクは、2次元コードがガ
イドセルに重なったときのマッチング値が最大となるよ
う各領域の値を定義している。また、2値化画像中の2
次元コードが数度、例えば±5度傾いていてもこれを許
容してガイドセル頂点を検出できるようにするために、
一辺の長さ71を2次元コードの一辺の2/3程度と
し、辺の幅72を一セル程度としている。なお、マスク
はL字型に限らず逆コの字型等でも良い。First, in step S61, using the L-shaped mask (hereinafter referred to as an L-shaped mask) 70 shown in FIG. 12, the binary image obtained in the multi-value image binarization / quiet zone generation step S21 is used. Scans the entire area of the structured image. The L-shaped mask used in this step defines the value of each area so that the matching value when the two-dimensional code overlaps the guide cell is maximized. Also, 2 in the binarized image
In order to allow the dimensional code to be inclined several degrees, for example, ± 5 degrees, and to detect the guide cell apex,
The length 71 of one side is about 2/3 of one side of the two-dimensional code, and the width 72 of the side is about one cell. The mask is not limited to the L-shape, but may be an inverted U-shape or the like.
【0132】次に、ステップS62では、L字マスクと
2値化画像のパタンマッチング処理を行ってパタンマッ
チング値を得る。パタンマッチング値pmは、図12に
示すL字マスクの頂点73の座標を(x0,y0)とし、
L字マスクの各座標の値をmask(x,y)とし、L
字マスクの頂点73と重なった画像座標を(i0,j0)
とし、2値化画像の各座標における輝度値をI(i0,
j0)とすると、以下に示す式(1)によって求められ
る。Next, in step S62, a pattern matching process is performed on the L-shaped mask and the binarized image to obtain a pattern matching value. The pattern matching value pm is obtained by setting (x 0 , y 0 ) the coordinates of the vertex 73 of the L-shaped mask shown in FIG.
Let the value of each coordinate of the L-shaped mask be mask (x, y),
The image coordinates overlapping the vertex 73 of the character mask are (i 0 , j 0 )
And the luminance value at each coordinate of the binarized image is I (i 0 ,
j 0 ), it is obtained by the following equation (1).
【0133】 pm=Σ{mask(x+n,y+m)×I(i0+n,j0+m)} …(1 ) (但し、n=0,1,…, m=0,1,…)Pm = {mask (x + n, y + m) × I (i 0 + n, j 0 + m)} (1) (where n = 0, 1,..., M = 0, 1,...)
【0134】次に、ステップS63では、ステップS6
2で得られたパタンマッチング値が最大値となる点をガ
イドセル頂点として検出する。次に、ステップS64
は、ガイドセル頂点を含み、クワイエットゾーンで囲ま
れた領域(2次元コード)全体を含む四角形の領域を2
次元コードの概略存在領域として定める。なお、この時
点では2次元コードの大きさは未知であるため、図13
に示すように、2次元コードの設計形状に対して数十%
大きな領域を2次元コード82の概略存在領域81と定
める。Next, in step S63, step S6
The point at which the pattern matching value obtained in step 2 becomes the maximum value is detected as a guide cell vertex. Next, step S64
Represents a square area including the guide cell vertices and including the entire area (two-dimensional code) surrounded by the quiet zone.
Defined as the approximate existence area of the dimensional code. At this point, since the size of the two-dimensional code is unknown, FIG.
As shown in the figure, several tens%
The large area is defined as the approximate existence area 81 of the two-dimensional code 82.
【0135】以上説明したように、2次元コード概略存
在領域決定ステップS22(2次元コード概略存在領域
決定部22)では、L字マスクを用いてパタンマッチン
グを行うことによりガイドセル頂点を検出しているた
め、2次元コードが数度回転していても2次元コードの
概略位置を決定できる。また、2値化画像中の一部の領
域が2次元コードの概略存在領域として定められ、当該
ステップで定められた領域以外の領域はこれ以降のステ
ップでは処理対象とされないため、2次元コード概略存
在領域の決定は領域外のノイズが排除されたことに等し
い。言い換えると、以降のステップにおいて処理対象と
なる画像領域中の2次元コードの占める面積率が高くな
るため、相対的に画像中のノイズの存在比率を低くする
ことができる。As described above, in the two-dimensional code approximate existence area determining step S22 (two-dimensional code approximate existence area determination unit 22), the guide cell apex is detected by performing pattern matching using an L-shaped mask. Therefore, even if the two-dimensional code is rotated several degrees, the approximate position of the two-dimensional code can be determined. In addition, a part of the area in the binarized image is determined as a general existence area of the two-dimensional code, and an area other than the area defined in this step is not processed in subsequent steps. Determining the existence area is equivalent to eliminating noise outside the area. In other words, in the subsequent steps, the area ratio of the two-dimensional code in the image area to be processed increases, so that the noise presence ratio in the image can be relatively reduced.
【0136】<2次元コード回転角度の決定>次に、2
次元コード回転角度決定ステップS23(2次元コード
回転角度決定部23)について説明する。当該ステップ
は、2次元コードの回転角度を決定するステップであ
り、図14のフローチャートに示された複数のサブステ
ップから構成されている。なお、2次元コードの回転角
度とは、2次元コード概略存在領域決定ステップS22
で定められた四角形の2次元コード概略存在領域に対す
る角度的なずれをいう。また、本実施形態では、2次元
コード概略存在領域の一辺(望ましくは下辺)をX軸と
し、X軸と直交する一辺(望ましくは左辺)をY軸とす
る。<Determination of Two-Dimensional Code Rotation Angle>
The dimension code rotation angle determination step S23 (two-dimensional code rotation angle determination unit 23) will be described. This step is a step of determining the rotation angle of the two-dimensional code, and is composed of a plurality of sub-steps shown in the flowchart of FIG. Note that the rotation angle of the two-dimensional code refers to the two-dimensional code general existence area determination step S22.
Refers to the angular deviation from the quadratic two-dimensional code approximate existence area defined in. Further, in the present embodiment, one side (preferably, a lower side) of the two-dimensional code approximate existence area is set as the X axis, and one side (preferably, the left side) orthogonal to the X axis is set as the Y axis.
【0137】まず、ステップS91では、X軸に対して
±θmax度の範囲で射影軸をθstep度きざみで回転さ
せ、2次元コード概略存在領域の2値化画像に対して射
影処理を行うことによって、各回転角度毎に射影軸上の
射影強度を求める。なお、射影処理とは、ある角度θに
設定された射影軸に対して垂直な方向に射影することで
あり、射影強度は、射影軸に対して垂直な方向に論理状
態がオン(塗りつぶし)のセルが多く配置されているほ
ど高くなる。次に、ステップS92では、射影軸の回転
角度θ毎に射影強度の最大値Max(θ)を求める。次
に、ステップS93では、ステップS92で得られた最
大値Max(θ)の中でも最も値の高い最大値Max
(θ0)が得られた回転角度θ0をX軸に対する2次元コ
ードの回転角度とする。First, in step S91, the projection axis is rotated by θstep degrees within a range of ± θmax degrees with respect to the X axis, and projection processing is performed on the binarized image of the two-dimensional code approximate existence area. And the projection intensity on the projection axis for each rotation angle. Note that the projection processing is to project in a direction perpendicular to the projection axis set at a certain angle θ, and the projection intensity is such that the logical state is ON (filled) in the direction perpendicular to the projection axis. The higher the number of cells, the higher the value. Next, in step S92, a maximum value Max (θ) of the projection intensity is obtained for each rotation angle θ of the projection axis. Next, in step S93, the maximum value Max having the highest value among the maximum values Max (θ) obtained in step S92.
The rotation angle θ 0 at which (θ 0 ) is obtained is defined as the rotation angle of the two-dimensional code with respect to the X axis.
【0138】図15(a)に、射影軸の回転角度をθ0
としたときの射影処理の様子を示す。同図に示したよう
に、射影強度は射影軸上のガイドセル列と交わる点で最
も高くなっている。また、図15(b)は、射影軸の回
転角度がθ0ではないときの、射影軸上の射影強度を示
している。FIG. 15A shows that the rotation angle of the projection axis is θ 0.
The state of the projection processing when “1” is set is shown. As shown in the figure, the projection intensity is highest at a point where the projection cell intersects the guide cell row on the projection axis. FIG. 15B shows the projection intensity on the projection axis when the rotation angle of the projection axis is not θ 0 .
【0139】以上はX軸に対する2次元コードの回転角
度を決定するための方法であるが、同様のステップS9
1〜S93を行うことによってY軸に対する2次元コー
ドの回転角度φ0も決定する。すなわち、Y軸に対して
射影軸を回転させ、各回転角度における2次元コード概
略存在領域の2値化画像の射影処理を行うことによっ
て、Y軸に対する2次元コードの回転角度φ0を決定す
る。The method for determining the rotation angle of the two-dimensional code with respect to the X axis has been described above.
By performing 1 to S93, the rotation angle φ 0 of the two-dimensional code with respect to the Y axis is also determined. That is, the rotation axis φ 0 of the two-dimensional code with respect to the Y axis is determined by rotating the projection axis with respect to the Y axis and projecting the binarized image of the two-dimensional code approximate existence area at each rotation angle. .
【0140】以上説明したように、2次元コード回転角
度決定ステップS23(2次元コード回転角度決定部2
3)では、射影軸を少しずつ回転し、その度に射影処理
を行うことによって得られた射影強度の中から最も射影
強度の高い値を有する回転角度を2次元コードの回転角
度としている。したがって、2次元コード概略存在領域
中にノイズが含まれていたり、個々のセルに滲みやかけ
等の変形があったり、個々のセルが消失していたとして
も、複数の結果の中から最適なものを選択しているため
に回転角度を正確に決定することができる。また、2次
元コードの回転角度はX軸とY軸とで独立に決定されて
いるため、例えば本来は正方形である2次元コードが印
字や撮像光学系のゆがみ等の影響によってひし形に変形
していたとしても、2次元コードの回転角度を正確に求
めることができる。As described above, the two-dimensional code rotation angle determination step S23 (two-dimensional code rotation angle determination unit 2)
In 3), the projection axis is rotated little by little, and the rotation angle having the highest projection intensity among the projection intensities obtained by performing the projection process each time is set as the rotation angle of the two-dimensional code. Therefore, even if noise is included in the two-dimensional code approximate existence region, or individual cells have deformation such as bleeding or sprinkling, or even if individual cells have disappeared, the optimal result is obtained from among a plurality of results. Since the object is selected, the rotation angle can be accurately determined. Further, since the rotation angle of the two-dimensional code is determined independently for the X axis and the Y axis, for example, a two-dimensional code that is originally a square is deformed into a diamond shape due to the influence of printing, distortion of the imaging optical system, and the like. Even if it is, the rotation angle of the two-dimensional code can be obtained accurately.
【0141】<ガイドセルの外接線の検出>次に、ガイ
ドセル外接線検出ステップS24(ガイドセル外接線検
出部24)について説明する。当該ステップは、2次元
コードに含まれているガイドセルの外接線を求めるステ
ップであり、図16のフローチャートに示された複数の
サブステップから構成されている。<Detection of Guide Cell Outer Tangent Line> Next, the guide cell outer tangent detection step S24 (guide cell outer tangent detector 24) will be described. This step is a step of obtaining an outer tangent of the guide cell included in the two-dimensional code, and is composed of a plurality of sub-steps shown in the flowchart of FIG.
【0142】まず、ステップS111では、射影軸を2
次元コード回転角度決定ステップS23(2次元コード
回転角度決定部23)で決定されたX軸に対する回転角
度θ 0だけ傾けて射影処理を行うことによって、射影軸
上の射影強度を求める。次に、ステップS112では、
ステップS111で得られた射影強度に基づいてガイド
セルの外接線の通過点を定める。First, in step S111, the projection axis is set to 2
Dimension code rotation angle determination step S23 (two-dimensional code
The rotation angle with respect to the X axis determined by the rotation angle determination unit 23)
Degree θ 0By performing the projection process by tilting only the projection axis
Obtain the above projected intensity. Next, in step S112,
Guide based on the projection intensity obtained in step S111
Determine the passing point of the cell's outer tangent.
【0143】例えば、図15(a)に示した射影強度の
場合は、射影強度が最大となる点101からガイドセル
頂点102側に向かって射影強度を画素毎に順に調べ、
射影強度が最大値(符号101で示した点の射影強度)
の所定割合Rg%をはじめて下回り(103)、かつ、
更に同方向にある所定数(Ng)セルの各射影強度が、
前記最大値の所定割合Rg%をはじめて下回った点10
3の射影強度を上回らない場合、前記射影強度が最大値
の所定割合Rg%をはじめて下回った点103をガイド
セルの外接線の通過点Pxgとして定める。For example, in the case of the projection intensity shown in FIG. 15A, the projection intensity is examined for each pixel in order from the point 101 where the projection intensity is maximum toward the guide cell vertex 102 side.
Projection intensity is the maximum value (projection intensity at the point indicated by reference numeral 101)
Falls for the first time below the predetermined ratio Rg% (103), and
Further, each projection intensity of a predetermined number (Ng) cells in the same direction is
The point 10 below the predetermined ratio Rg% of the maximum value for the first time
In the case where the projection intensity does not exceed the projection intensity of No. 3, a point 103 at which the projection intensity first falls below the predetermined ratio Rg% of the maximum value is determined as a passing point Pxg of the tangent to the guide cell.
【0144】同様に、射影軸を2次元コード回転角度決
定ステップS23(2次元コード回転角度決定部23)
で決定されたY軸に対する回転角度φ0だけ傾けて射影
処理を行うことにより、通過点Pxgと交差するガイド
セルの外接線の通過点Pygを求める。このようにして
求められた通過点Pxg,Pygから、ステップS11
3では、ガイドセルの各外接線を表す式を求める。Similarly, the projection axis is set to the two-dimensional code rotation angle determination step S23 (two-dimensional code rotation angle determination unit 23).
The projection process is performed by inclining by the rotation angle φ 0 with respect to the Y axis determined in the above, thereby obtaining the passing point Pyg of the tangent to the guide cell that intersects the passing point Pxg. From the passing points Pxg and Pyg obtained in this manner, step S11 is performed.
In step 3, an expression representing each tangent to the guide cell is determined.
【0145】 y=tanφ0×(x−Pxg) …(2) x=tanθ0×(y−Pyg) …(3) (但し、上式においては、Pxgはx成分のみを表し、
Pxyはy成分のみを表す)Y = tan φ 0 × (x−Pxg) (2) x = tan θ 0 × (y−Pyg) (3) (where Pxg represents only the x component,
Pxy represents only the y component)
【0146】次に、ステップS114では、上式
(2),(3)で表された、通過点Pxgを通り2次元
コードのY軸に対する回転角度φ0だけ傾いたガイドセ
ル外接線と、通過点Pygを通り2次元コードのX軸に
対する回転角度θ0だけ傾いたガイドセル外接線を生成
する。Next, in step S114, the outer tangent of the guide cell, which is represented by the above equations (2) and (3) and which passes through the passing point Pxg and is inclined by the rotation angle φ 0 with respect to the Y axis of the two-dimensional code, An external tangent to the guide cell that passes through the point Pyg and is inclined by the rotation angle θ 0 with respect to the X axis of the two-dimensional code is generated.
【0147】以上説明したように、ガイドセル外接線検
出ステップS24(ガイドセル外接線検出部24)で
は、射影軸を2次元コード回転角度決定ステップS23
(2次元コード回転角度決定部23)で得られた回転角
度だけ傾けて射影処理を行い、その結果得られた射影強
度に基づいて、条件を満たした点をガイドセル外接線の
通過点として定めている。したがって、個々のガイドセ
ルに滲みや欠け等の変形があったり消失していたとして
も、ガイドセルの外接線を各々独立に求めることができ
る。結果として、例えば本来は正方形である2次元コー
ドが印字や撮像光学系のゆがみ等の影響によってひし形
に変形していたとしても、各ガイドセル外接線を正確に
求めることができる。As described above, in the guide cell external tangent detection step S24 (guide cell external tangent detection unit 24), the projection axis is set to the two-dimensional code rotation angle determination step S23.
(Two-dimensional code rotation angle determination unit 23) performs projection processing by inclining by the rotation angle obtained, and determines a point satisfying the condition as a passing point of the guide cell external tangent based on the projection intensity obtained as a result. ing. Therefore, even if each guide cell has a deformation such as bleeding or chipping or disappears, it is possible to obtain the external tangent of the guide cell independently. As a result, for example, even if the originally square two-dimensional code is deformed into a diamond shape due to the influence of printing, distortion of the imaging optical system, or the like, the external tangent of each guide cell can be accurately obtained.
【0148】なお、Rg%を例えば50%とし、前記所
定数Ngをクワイエットゾーンの幅程度(例えば、クワ
イエットゾーンが一セルの幅であれば、Ng=一セル
分)とすることによってより正確に通過点Pxg,Py
gを定めることができる。By setting Rg% to, for example, 50% and setting the predetermined number Ng to about the width of a quiet zone (for example, if the quiet zone has a width of one cell, Ng = one cell), it is more accurate. Passing point Pxg, Py
g can be determined.
【0149】<タイミングセル外接線の検出>次に、タ
イミングセル外接線検出ステップS25(タイミングセ
ル外接線検出部25)について説明する。当該ステップ
は、2次元コードに含まれているタイミングセルの外接
線を検出するステップであり、図17のフローチャート
に示された複数のサブステップから構成されている。<Detection of Timing Cell External Tangential Line> Next, the timing cell external tangent detecting step S25 (timing cell external tangent detecting section 25) will be described. This step is a step of detecting an external tangent of the timing cell included in the two-dimensional code, and includes a plurality of sub-steps shown in the flowchart of FIG.
【0150】まず、ステップS121では、射影軸を2
次元コード回転角度決定ステップS23(2次元コード
回転角度決定部23)で決定されたX軸に対する回転角
度θ 0だけ傾けて射影処理を行うことによって、射影軸
上の射影強度を求める。次に、ステップS122では、
ステップS121で得られた射影強度に基づいてタイミ
ングセルの外接線の通過点を定める。First, in step S121, the projection axis is set to 2
Dimension code rotation angle determination step S23 (two-dimensional code
The rotation angle with respect to the X axis determined by the rotation angle determination unit 23)
Degree θ 0By performing the projection process by tilting only the projection axis
Obtain the above projected intensity. Next, in step S122,
Time based on the projection intensity obtained in step S121
The passing point of the outer tangent line of the cell is determined.
【0151】例えば、図15(a)に示した射影強度の
場合は、射影強度が最大となる点101からガイドセル
頂点102と反対の方向に向かって射影強度を画素毎に
順に調べ、射影強度が最大値(符号101で示した点の
射影強度)の所定割合Rt%を下回り(104)、か
つ、更に同方向にある所定数(Nt)セルの各射影強度
が、前記最大値の所定割合Rt%を下回った点104の
射影強度を上回らない場合、前記射影強度が最大値の所
定割合Rt%を下回った点104をタイミングセルの外
接線の通過点Pxtとして定める。なお、同様の点が複
数存在する場合は、各点を仮のタイミングセル外接線の
通過点Pxt(i)(i=0,1,…)とする。For example, in the case of the projection intensity shown in FIG. 15A, the projection intensity is examined for each pixel in order from the point 101 where the projection intensity is maximum in the direction opposite to the guide cell vertex 102, and the projection intensity is checked. Is less than a predetermined ratio Rt% of the maximum value (projection intensity of the point indicated by reference numeral 101) (104), and further, each projection intensity of a predetermined number (Nt) of cells in the same direction is a predetermined ratio of the maximum value. If the projection intensity of the point 104 that is lower than Rt% does not exceed the predetermined intensity Rt%, the point 104 where the projection intensity is lower than the predetermined ratio Rt% is determined as the passing point Pxt of the tangent to the timing cell. When there are a plurality of similar points, each point is set as a passing point Pxt (i) (i = 0, 1,...) Of a temporary tangent line outside the timing cell.
【0152】同様に、射影軸を2次元コード回転角度決
定ステップS23(2次元コード回転角度決定部23)
で決定されたY軸に対する回転角度φ0だけ傾けて射影
処理を行うことにより、通過点Ptgと交差するタイミ
ングセルの外接線の通過点Ptgを求める。この場合
も、同様の点が複数存在する場合は、各点を仮のタイミ
ングセル外接線の通過点Pyt(i)(i=0,1,
…)とする。このようにして求められた通過点Pxt,
Pytから、ステップS123では、タイミングセルの
各外接線を表す式を求める。Similarly, the projection axis is set to a two-dimensional code rotation angle determination step S23 (two-dimensional code rotation angle determination unit 23).
The projection process is performed by inclining by the rotation angle φ 0 with respect to the Y axis determined in the above, thereby obtaining the passing point Ptg of the tangent to the timing cell that intersects the passing point Ptg. Also in this case, when there are a plurality of similar points, each point is set to a passing point Pyt (i) (i = 0, 1,
…). The passing point Pxt, thus obtained,
In step S123, an expression representing each tangent to the timing cell is obtained from Pyt.
【0153】 y=tanφ0×{x−Pxt(i)} …(4) x=tanθ0×{y−Pyt(i)} …(5) (但し、上式においては、Pxgはx成分のみを表し、
Pxyはy成分のみを表す。また、i=0,1,…)Y = tan φ 0 × {x−Pxt (i)} (4) x = tan θ 0 × {y−Pyt (i)} (5) (In the above equation, Pxg is only the x component. Represents
Pxy represents only the y component. Also, i = 0, 1,...)
【0154】次に、ステップS124では、上式
(4),(5)で表された、通過点Pxt(i)を通
り、一方のガイドセル外接線と平行、すなわち傾きが2
次元コードのY軸に対する回転角度φ0の仮のタイミン
グセルの外接線と、通過点Pyt(i)を通り、もう一
方のガイドセル外接線と平行、すなわち傾きが2次元コ
ードのX軸に対する回転角度θ0の仮のタイミングセル
の外接線を生成する。このとき、仮のタイミングセル外
接線の通過点が複数存在するとき、複数のタイミングセ
ル外接線が生成される。例えば、図18に示すように、
一方のガイドセル外接線131と平行な仮のタイミング
セルの外接線132,133と、もう一方のガイドセル
外接線134と平行な仮のタイミングセルの外接線13
5,136を生成する。Next, in step S124, it passes through the passing point Pxt (i) expressed by the above equations (4) and (5) and is parallel to one of the external tangents of the guide cell, that is, the inclination is 2
The tangent line of the temporary timing cell having the rotation angle φ 0 with respect to the Y axis of the two-dimensional code passes through the passing point Pyt (i) and is parallel to the other tangent line of the other guide cell. An external tangent to the temporary timing cell at the angle θ 0 is generated. At this time, when there are a plurality of passing points of the temporary timing cell outer tangent, a plurality of timing cell outer tangents are generated. For example, as shown in FIG.
The outer tangents 132 and 133 of the temporary timing cell parallel to one guide cell outer tangent 131 and the outer tangent 13 of the temporary timing cell parallel to the other guide cell outer tangent 134.
5,136 is generated.
【0155】次に、ステップS125では、ステップS
124で生成された仮のタイミングセル外接線の中か
ら、各ガイドセル外接線に平行なそれぞれ交差する2本
の正規のタイミングセル外接線を選別する。このとき、
2本のガイドセル外接線および交差する2本の仮のタイ
ミングセル外接線によって形成される四角形の各辺の長
さが2次元コードの設計値に最も近いという第1の条件
と、最も多くのタイミングセルが接しているという第2
の条件とを満たすタイミングセル外接線を正規のタイミ
ングセル外接線として選別する。すなわち、互いに交差
する2本の仮のタイミングセル外接線の任意の組み合わ
せの中から上記2つの条件を満たす組み合わせを正規の
タイミングセル外接線の組み合わせとして採用する。Next, at step S125, step S125
From the temporary timing cell outer tangents generated at 124, two normal timing cell outer tangents that intersect with the respective guide cell outer tangents are selected. At this time,
The first condition that the length of each side of a rectangle formed by two guide cell external tangents and two intersecting temporary timing cell tangents is closest to the design value of the two-dimensional code, The second that the timing cell is touching
The external tangent to the timing cell that satisfies the above condition is selected as a normal external tangent to the timing cell. In other words, a combination that satisfies the above two conditions is adopted as a combination of normal timing cell external tangents from an arbitrary combination of two temporary timing cell external tangents that intersect each other.
【0156】なお、2次元コードの設計値には、画像上
の画素数、2次元コードのガイドセル数、2次元コード
の種類、セル面積およびセルの色等の情報が含まれ、2
次元コードの一辺の長さは、例えば2次元コードのガイ
ドセル数にセルの直径を掛け合わせることによって求め
ることができる。The design value of the two-dimensional code includes information such as the number of pixels on the image, the number of guide cells of the two-dimensional code, the type of the two-dimensional code, the cell area and the color of the cell.
The length of one side of the two-dimensional code can be obtained, for example, by multiplying the number of guide cells of the two-dimensional code by the diameter of the cell.
【0157】以上説明したように、タイミングセル外接
線検出ステップS25(タイミングセル外接線検出部2
5)では、射影軸を2次元コード回転角度決定ステップ
S23(2次元コード回転角度決定部23)で得られた
回転角度に基づいて射影処理を行い、その結果得られた
射影強度に基づいて条件を満たした点をタイミングセル
外接線の通過点として定めている。したがって、個々の
タイミングセルに滲みや欠け等の変形があったり消失し
ていたとしても、タイミングセルの外接線を各々独立に
求めることができる。結果として例えば本来は正方形で
ある2次元コードが印字や撮像光学系のゆがみ等の影響
によってひし形に変形していたとしても、各タイミング
セル外接線を正確に求めることができる。As described above, the timing cell external tangent detection step S25 (timing cell external tangent detection unit 2)
In 5), the projection axis is subjected to projection processing based on the rotation angle obtained in the two-dimensional code rotation angle determination step S23 (two-dimensional code rotation angle determination unit 23), and a condition is determined based on the projection intensity obtained as a result. Are defined as passing points of the tangent to the outside of the timing cell. Therefore, even if each of the timing cells has a deformation such as bleeding or chipping or disappears, the external tangents of the timing cells can be obtained independently. As a result, for example, even if the originally square two-dimensional code is deformed into a diamond shape due to the influence of printing or distortion of the imaging optical system, the external tangent of each timing cell can be accurately obtained.
【0158】また、タイミングセル外接線の通過点が複
数定められた場合には、互いに交差する仮のタイミング
セル外接線の組み合わせの中から上記説明した2つの条
件に最も適合したタイミングセル外接線を採用すること
によって、これを正規のタイミングセル外接線としてい
る。したがって、タイミングセルが欠けていたりタイミ
ングセル列にノイズが混入していても、タイミングセル
の外接線を正確に検出することができる。なお、例えば
2次元コードのたて横比が異なるとき、上記2つの条件
の内のいずれかを満たしたとき、仮のタイミングセル外
接線を正規のタイミングセル外接線として判別しても良
い。When a plurality of passing points of the timing cell external tangent are determined, the timing cell external tangent most suitable to the above two conditions is selected from the combination of the temporary timing cell external tangents that intersect each other. By employing this, this is set as a normal timing cell external tangent. Therefore, even if the timing cell is missing or noise is mixed in the timing cell row, the external tangent of the timing cell can be accurately detected. For example, when the vertical aspect ratio of the two-dimensional code is different, and when any of the above two conditions is satisfied, the temporary timing cell external tangent may be determined as a normal timing cell external tangent.
【0159】なお、Rt%を例えば30%とし、前記所
定数Ntをクワイエットゾーンの幅程度(例えば、クワ
イエットゾーンが一セルの幅であれば、Nt=一セル
分)とすることによってより正確に通過点Pxg,Py
gを定めることができる。By setting Rt% to, for example, 30% and setting the predetermined number Nt to be about the width of a quiet zone (for example, if the quiet zone has a width of one cell, Nt = one cell). Passing point Pxg, Py
g can be determined.
【0160】<タイミングセルの検出>次に、タイミン
グセル検出ステップS26(タイミングセル検出部2
6)について説明する。当該ステップは、タイミングセ
ル外接線検出ステップS25(タイミングセル外接線検
出部25)で検出されたタイミングセル外接線に接する
タイミングセルを検出するステップであり、図19のフ
ローチャートに示された複数のサブステップから構成さ
れている。<Detection of Timing Cell> Next, a timing cell detection step S26 (timing cell detection section 2)
6) will be described. This step is a step of detecting a timing cell tangent to the external tangent of the timing cell detected by the external cell tangent detecting step S25 (timing cell external tangent detecting unit 25), and includes a plurality of sub-cells shown in the flowchart of FIG. It consists of steps.
【0161】まず、ステップS141では、図20
(a)に示すように、タイミングセル外接線検出ステッ
プS25(タイミングセル外接線検出部25)で検出さ
れたタイミングセル外接線151と、このタイミングセ
ル外接線151よりガイドセル頂点側に約1セル分平行
移動した直線152と、他方のタイミングセル外接線1
53と、このタイミングセル外接線153に対向するガ
イドセル外接線154とによって囲まれた画像をタイミ
ングセル外接線151側に射影する。このステップS1
41で射影した結果を図20(b)に示す。同図に示さ
れているように、タイミングセルの在る部分は射影強度
が高くなっている。First, in step S141, FIG.
As shown in (a), a timing cell external tangent 151 detected in the timing cell external tangent detection step S25 (timing cell external tangent detection unit 25) and about one cell from the timing cell external tangent 151 to the guide cell vertex side. The straight line 152 shifted in parallel by one minute and the other external tangent line 1 to the timing cell
The image surrounded by 53 and the guide cell outer tangent 154 facing the timing cell outer tangent 153 is projected on the timing cell outer tangent 151 side. This step S1
The result of the projection at 41 is shown in FIG. As shown in the figure, the portion where the timing cell exists has a high projection intensity.
【0162】次に、ステップS142では、ステップS
141で得られた射影強度の最大値と最小値の算術平均
値を2値化のためのしきい値として算出する。次に、ス
テップS143では、ステップS142で算出された算
術平均値を用いて射影強度を2値化し、仮のタイミング
セルを求める。このとき得られた仮のタイミングセルを
図20(c)に示す。同図において、論理状態がオン
(または)の区間の中心を仮のタイミングセルの位置P
a(i)とし、同区間の幅を仮のタイミングセルの幅W
a(i)とする。(但し、i=0,1,…)Next, in step S142, step S
The arithmetic mean of the maximum value and the minimum value of the projection intensity obtained in 141 is calculated as a threshold for binarization. Next, in step S143, the projection intensity is binarized using the arithmetic average value calculated in step S142, and a temporary timing cell is obtained. The temporary timing cell obtained at this time is shown in FIG. In the figure, the center of the section where the logical state is ON (or) is set to the position P of the temporary timing cell.
a (i), and the width of the section is the width W of the temporary timing cell.
Let a (i). (However, i = 0, 1, ...)
【0163】次に、ステップS144では、2次元コー
ドの設計値から得られるタイミングセルの位置Pb
(j)とタイミングセルの幅Wb(j)を求める。(但
し、j=0,1,…)例えば、図20(a)の仮のタイ
ミングセル外接線153とガイドセル外接線154との
間の距離を2次元コードの設計値が示す2次元コードの
一辺に含まれるタイミングセル数で等分することにより
タイミングセルの位置Pb(j)を算出し、また、タイ
ミングセル外接線153/ガイドセル外接線154間の
距離を2次元コードの設計値が示す2次元コードの一辺
に含まれるガイドセル数で等分することによりタイミン
グセルの幅Wb(j)を求める。このステップS144
で得られたタイミングセルの位置Pb(j)および幅W
b(j)を図20(d)に示す。以下、位置Pb(j)
および幅Wb(j)のタイミングセルを算出タイミング
セルという。Next, in step S144, the position Pb of the timing cell obtained from the design value of the two-dimensional code
(J) and the width Wb (j) of the timing cell are obtained. (Where j = 0, 1,...) For example, the distance between the temporary tangent line 153 of the timing cell and the tangent line 154 of the guide cell in FIG. The position Pb (j) of the timing cell is calculated by dividing equally by the number of timing cells included in one side, and the design value of the two-dimensional code indicates the distance between the external tangent 153 of the timing cell and the external tangent 154 of the guide cell. The width Wb (j) of the timing cell is obtained by equally dividing the number of guide cells included in one side of the two-dimensional code. This step S144
The position Pb (j) and width W of the timing cell obtained in
FIG. 20D shows b (j). Hereinafter, the position Pb (j)
The timing cell having the width Wb (j) is referred to as a calculated timing cell.
【0164】次に、ステップS145では、ステップS
144で算出した算出タイミングセルと一対一に対応す
る仮のタイミングセルの存在の有無を判別し、算出タイ
ミングセルに一対一に対応する仮のタイミングセルを正
規のタイミングセルとして採用する。本実施形態では、
仮のタイミングセルの位置Pa(i)と算出タイミング
セルの位置Pb(j)との位置差が許容誤差δPよりも
小さいといった条件と、仮のタイミングセルの幅Wa
(i)と算出タイミングセルの幅Wb(j)との幅差が
許容誤差δWよりも小さいといった条件とを満たす仮の
タイミングセルを正規のタイミングセルとする。なお、
仮のタイミングセルがいずれか一方の条件を満たすとき
これを正規のタイミングセルとしても良い。Next, in step S145, step S
The presence / absence of a provisional timing cell that corresponds one-to-one with the calculated timing cell calculated in 144 is determined, and the provisional timing cell that corresponds one-to-one with the calculated timing cell is adopted as a regular timing cell. In this embodiment,
The condition that the position difference between the position Pa (i) of the temporary timing cell and the position Pb (j) of the calculated timing cell is smaller than the allowable error δP, and the width Wa of the temporary timing cell
A temporary timing cell that satisfies the condition that the width difference between (i) and the width Wb (j) of the calculated timing cell is smaller than the allowable error δW is defined as a normal timing cell. In addition,
When the temporary timing cell satisfies one of the conditions, it may be used as a normal timing cell.
【0165】前記条件は下記式で表すことができる。許
容誤差δP,δWは、例えば0.5セル幅である。 |Pb(j)−Pa(i)|<δP …(6) |Wb(j)−Wa(i)|<δW …(7) (但し、i,j=0,1,…)The above condition can be expressed by the following equation. The allowable errors δP and δW are, for example, 0.5 cell width. | Pb (j) −Pa (i) | <δP (6) | Wb (j) −Wa (i) | <δW (7) (where i, j = 0, 1,...)
【0166】次に、ステップS146では、ステップS
145で求められた正規のタイミングセルの数を計数す
る。このステップS146で得られたタイミングセルの
数は、タイミングセル外接線検出ステップS25(タイ
ミングセル外接線検出部25)においてタイミングセル
外接線が正しく求められている場合(図20)はその数
が最大となるが、図21に示したようにタイミングセル
外接線が正しく求められていない場合、タイミングセル
の数は正しく求められているときよりも少なくなる。な
お、このステップS146で計数されたタイミングセル
の数が所定値よりも少ない場合は「エラー」と判断し、
処理を中断する。Next, in step S146, step S146
The number of regular timing cells obtained at 145 is counted. The number of the timing cells obtained in step S146 is the largest when the timing cell external tangent is correctly obtained in the timing cell external tangent detection step S25 (timing cell external tangent detection unit 25) (FIG. 20). However, when the timing cell outer tangent is not correctly obtained as shown in FIG. 21, the number of timing cells is smaller than when the timing cell is correctly obtained. If the number of timing cells counted in this step S146 is smaller than a predetermined value, it is determined as "error",
Stop processing.
【0167】以上説明したように、タイミングセル検出
ステップS26(タイミングセル検出部26)では、タ
イミングセル外接線検出ステップS25(タイミングセ
ル外接線検出部25)で検出したタイミングセル外接線
に基づいて得られた仮のタイミングセルと、2次元コー
ドの設計値に基づいて得られた算出タイミングセルとを
比較することによって、正規のタイミングセルを検出し
ている。したがって、タイミングセル列にノイズが混入
していたり、タイミングセルに滲みや欠け等の変形があ
ったとしてもタイミングセルを正確に求めることができ
る。As described above, in the timing cell detecting step S26 (timing cell detecting unit 26), the timing cell detecting step S25 (timing cell external tangent detecting unit 25) obtains the timing cell external tangent detected based on the timing cell external tangent detected in the timing cell external tangent detecting step S25. The normal timing cell is detected by comparing the obtained provisional timing cell with a calculated timing cell obtained based on the design value of the two-dimensional code. Therefore, even if noise is mixed in the timing cell row or the timing cell is deformed such as bleeding or chipping, the timing cell can be accurately obtained.
【0168】より具体的には、ノイズの混入は、ステッ
プS142において射影強度を2値化することによって
小さなノイズであれば論理状態がオンとならないという
射影処理の平均効果によってキャンセルされ、タイミン
グセルの滲みや欠け等の変形は、ステップS145にお
いて仮のタイミングセルと算出タイミングセルとを比較
しているために多少の滲みや欠けであれば正規のタイミ
ングセルの検出に影響を及ぼさない。More specifically, the mixing of noise is canceled by binarizing the projection intensity in step S142 by the average effect of the projection processing in which the logical state is not turned on if the noise is small, and the timing cell Deformation such as bleeding or chipping does not affect the detection of normal timing cells if the bleeding or chipping is a little, because the temporary timing cell and the calculated timing cell are compared in step S145.
【0169】<消失タイミングセルの補完>次に、消失
タイミングセル補完ステップS27(消失タイミングセ
ル補完部27)について説明する。当該ステップは、消
失してしまった2次元コードのタイミングセルを補完す
るステップであり、図22のフローチャートに示された
複数のサブステップから構成されている。<Completion of Erasure Timing Cell> Next, the erasure timing cell complementation step S27 (erasure timing cell complementer 27) will be described. This step is a step for complementing the lost timing cell of the two-dimensional code, and includes a plurality of sub-steps shown in the flowchart of FIG.
【0170】まず、ステップS161では、例えば図2
3に示すように、ステップS144で算出した算出タイ
ミングセルに対応する正規のタイミングセルが存在しな
いとき、存在しない正規のタイミングセルに対応する算
出タイミングセルの位置Pb(k)を、 消失したタイ
ミングセルの仮位置として求める。次に、ステップS1
62では、算出タイミングセルの位置Pb(k)と同位
置の、存在しないタイミングセルに近接する正規のタイ
ミングセルの位置Pa(k′),Pa(k″)を求め
る。次に、ステップS163では、ステップS162で
求めた正規のタイミングセルの位置Pa(k′),Pa
(k″)の内分点Pa(k)または外分点Pa(k)を
求めて、その位置にタイミングセルを生成する。First, in step S161, for example, FIG.
As shown in FIG. 3, when there is no normal timing cell corresponding to the calculated timing cell calculated in step S144, the position Pb (k) of the calculated timing cell corresponding to the non-existent normal timing cell is replaced by the lost timing cell. As a temporary position of Next, step S1
In step 62, the positions Pa (k ') and Pa (k ") of regular timing cells which are in the same position as the position Pb (k) of the calculated timing cell and which are close to the non-existent timing cell are obtained. , Pa (k ′), Pa of the normal timing cell obtained in step S162
An inner dividing point Pa (k) or outer dividing point Pa (k) of (k ″) is obtained, and a timing cell is generated at that position.
【0171】なお、内分によって消失したタイミングセ
ルの位置Pa(k)を求めるときは、 Pa(k)={Pa(k′)+Pa(k″)}/2 …(8) によって求めることができ、外分によって消失したタイ
ミングセルの位置Pa(k)を求めるときは、 Pa(k)=2×Pa(k′)+Pa(k″) …(9) によって求めることができる。但し、Pa(k′)<P
a(k)<Pa(k″)であり、k=0,1,…,N−
1(但し、Nは設計上のタイミングセル数)であり、
k′,k″=0,1,…である。When calculating the position Pa (k) of the timing cell which has disappeared due to the internal division, it is possible to obtain Pa (k) = {Pa (k ′) + Pa (k ″)} / 2 (8) When obtaining the position Pa (k) of the timing cell which has been lost due to the external part, it can be obtained by the following expression: Pa (k) = 2 × Pa (k ′) + Pa (k ″) (9) However, Pa (k ') <P
a (k) <Pa (k ″), and k = 0, 1,..., N−
1 (where N is the number of timing cells in the design)
k ′, k ″ = 0, 1,...
【0172】以上説明したように、消失タイミングセル
補完ステップS27(消失タイミングセル補完部27)
では、算出タイミングセルに対応する正規のタイミング
セルが存在しないときは、消失したタイミングセルがあ
った位置にタイミングセルを生成している。したがっ
て、タイミングセルが消失しても全タイミングセルの位
置を正確に求めることができる。As described above, the erasure timing cell complementation step S27 (the erasure timing cell complementer 27)
In, when there is no regular timing cell corresponding to the calculated timing cell, the timing cell is generated at the position where the lost timing cell was. Therefore, even if the timing cells disappear, the positions of all the timing cells can be accurately obtained.
【0173】<データセル領域の設定>次に、データセ
ル領域設定ステップS28(データセル領域設定部2
8)について説明する。当該ステップは、2次元コード
のデータセルの論理状態を識別するために用いられるデ
ータセル領域を設定するステップであり、図24のフロ
ーチャートに示された複数のサブステップから構成され
ている。<Setting of Data Cell Area> Next, a data cell area setting step S28 (data cell area setting section 2)
8) will be described. This step is a step of setting a data cell area used for identifying the logical state of the data cell of the two-dimensional code, and includes a plurality of sub-steps shown in the flowchart of FIG.
【0174】まず、ステップS171では、図25に示
すように、一方のタイミングセル列の各タイミングセル
の中心を通り、他方のタイミングセル列に平行な直線1
81、または一方のタイミングセル列の各タイミングセ
ルの中点を通り、他方のタイミングセル列に平行な直線
182と、他方のタイミングセル列の各タイミングセル
の中心を通り、一方のタイミングセル列に平行な直線1
83、または他方のタイミングセル列の各タイミングセ
ルの中点を通り、一方のタイミングセル列に平行な直線
184との交点185を求めて、各データセル領域の中
心点とする。First, in step S171, as shown in FIG. 25, a straight line 1 passing through the center of each timing cell in one timing cell row and parallel to the other timing cell row
81, or a straight line 182 that passes through the midpoint of each timing cell in one of the timing cell rows, and passes through the center of each timing cell in the other timing cell row, and Parallel straight line 1
An intersection 185 with the straight line 184 that passes through the center point of each timing cell of the other timing cell column 83 or 83 and is parallel to one timing cell column is obtained and set as the center point of each data cell region.
【0175】次に、ステップS172では、一方のタイ
ミングセル外接線とこれに対向するガイドセル外接線と
の距離D1と、他方のタイミングセル外接線とこれに対
向するガイドセル外接線との距離D2を求め、これら距
離D1,D2を2次元コードの設計値が示す2次元コー
ドの一辺に含まれるガイドセル数で分割した値W1,W
2を一辺の長さとし、交点185を中心とした領域をデ
ータセル領域186として生成する。なお、図25に
は、交点185を中心としたデータセル領域186のみ
が具体的に記されているが、データセル領域186と同
様の複数のデータセル領域が行列状に並んでいる。Next, in step S172, the distance D1 between one external tangent to the timing cell and the external tangent to the guide cell facing it, and the distance D2 between the external tangent to the other timing cell and the external tangent to the guide cell facing it. Are obtained by dividing the distances D1 and D2 by the number of guide cells included in one side of the two-dimensional code indicated by the design value of the two-dimensional code.
2 is defined as the length of one side, and an area around the intersection 185 is generated as a data cell area 186. Although FIG. 25 specifically shows only the data cell area 186 centered on the intersection 185, a plurality of data cell areas similar to the data cell area 186 are arranged in a matrix.
【0176】以上説明したように、データセル領域設定
ステップS28(データセル領域設定部28)では、各
タイミングセルの中心または中点を通る直線が交わる点
を中心としたデータセル領域を生成しているため、デー
タセルの論理状態を判別するための領域を設定すること
ができる。As described above, in the data cell area setting step S28 (data cell area setting section 28), a data cell area centered on a point where a straight line passing through the center or the midpoint of each timing cell intersects is generated. Therefore, an area for determining the logic state of the data cell can be set.
【0177】<データセル論理状態の識別>最後に、デ
ータセル論理状態識別ステップS29(データセル論理
状態識別部29)について説明する。当該ステップは、
2次元コード内のデータセルの論理状態をオンまたはオ
フのいずれかに識別するステップであり、図26のフロ
ーチャートに示された複数のサブステップから構成され
ている。<Identification of Data Cell Logic State> Finally, the data cell logic state identification step S29 (data cell logic state identification unit 29) will be described. The steps are:
This is a step of identifying the logical state of the data cell in the two-dimensional code as either ON or OFF, and includes a plurality of sub-steps shown in the flowchart of FIG.
【0178】まず、ステップS191では、2本のガイ
ドセル外接線とタイミングセル外接線とで囲まれた領域
内をラベリング処理することによってラベルを生成す
る。次に、ステップS192では、ステップS191で
得られた全ラベルの内、1つのラベルの面積が2次元コ
ードの設計値が示すセル面積のR1%以上R2%以下
(例えば、20%以上200%以下)であるラベルの面
積を加算し、この加算値を加算されたラベル数で割るこ
とによって加算平均面積S0を算出する。次に、ステッ
プS193では、ステップS191で生成された全ラベ
ルの内、面積が加算平均面積S0に対し±R3%(例え
ば、±30%)のラベルを抽出し、抽出されたラベルが
独立した1個のデータセルを表すとみなす。First, in step S191, a label is generated by performing labeling processing in an area surrounded by two guide cell outer tangents and timing cell outer tangent. Next, in step S192, out of all the labels obtained in step S191, the area of one label is R1% or more and R2% or less (for example, 20% or more and 200% or less) of the cell area indicated by the design value of the two-dimensional code. ) Is added, and the added value is divided by the number of added labels to calculate an added average area S 0 . Next, in step S193, of all labels generated in step S191, the area is ± R3% relative summing the average area S 0 (e.g., ± 30%) to extract the label of the extracted label independent Considered to represent one data cell.
【0179】なお、ステップS192において、個々の
データセルが図27(a)のように2次元コードの設計
値に近い値で得られる場合は、ラベルの面積を加算する
際に、セル面積に近い面積を有するラベルのみを加算す
ることが望ましい。In step S192, when individual data cells are obtained with values close to the design value of the two-dimensional code as shown in FIG. 27A, when adding the label area, the cell area is close to the cell area. It is desirable to add only labels having an area.
【0180】また、ステップS192で加算平均面積S
0を算出することにより、読み取った2次元コードの明
るさに応じたデータセルの判別を行うことができる。す
なわち、実際には図27に示すように、1つのラベル面
積が設計値の示すセル面積と同等である場合(a)だけ
に限らず、露光不足等により1つのラベル面積が設計値
の示すセル面積よりも全体的に小さくなっている場合
(b)や、露光過度等により1つのラベル面積が設計値
の示すセル面積よりも全体的に大きくなっている場合
(c)もある。Also, in step S192, the addition average area S
By calculating 0 , it is possible to determine the data cell according to the brightness of the read two-dimensional code. That is, actually, as shown in FIG. 27, not only the case where one label area is equal to the cell area indicated by the design value (a) but also the case where one label area is equal to the cell area indicated by the design value due to insufficient exposure or the like. In some cases, the entire label area is smaller than the area (b), and in another case, the entire label area is larger than the cell area indicated by the design value due to excessive exposure or the like (c).
【0181】しかしながら、これら図27(b)や
(c)に示した場合は、ステップS191で生成された
ラベルからデータセルを正確に判別できなくなる恐れが
ある。したがって、ステップS193で、設計値が示す
一セル面積を用いるよりもステップS192で算出され
た加算平均面積S0を用いてラベルを抽出することによ
って、露光状態に左右されずに1個のデータセルの大き
さ(面積)を判別することができる。However, in the case shown in FIGS. 27B and 27C, there is a possibility that the data cell cannot be accurately determined from the label generated in step S191. Therefore, by extracting the label using the averaging area S 0 calculated in step S192 rather than using the one cell area indicated by the design value in step S193, one data cell can be extracted regardless of the exposure state. Can be determined.
【0182】次に、ステップS194では、第1のデー
タセル論理状態判定として、ステップS193で抽出さ
れたラベルと、データセル領域設定ステップS28(デ
ータセル領域設定部28)で生成されたデータセル領域
との重なりに基づいて、データセル領域の論理状態を定
める。例えば、ある1つのデータセル領域内にラベルが
在るとき、このデータセル領域の論理状態をオンと定め
る。但し、図28(a)に示すように、ラベル201が
複数のデータセル領域にまたがっている場合は、データ
セルを表すラベル201が最も広く重なっているデータ
セル領域202の論理状態をオンと定める。Next, in step S194, as the first data cell logical state determination, the label extracted in step S193 and the data cell area generated in data cell area setting step S28 (data cell area setting unit 28) are determined. , The logic state of the data cell area is determined. For example, when a label exists in one data cell area, the logic state of this data cell area is determined to be ON. However, as shown in FIG. 28A, when the label 201 extends over a plurality of data cell areas, the logic state of the data cell area 202 where the label 201 representing the data cell overlaps the widest is set to ON. .
【0183】このステップS194では、データセル領
域の論理状態の決定にしきい値を用いていないため、図
28(b)に示すように、露光不足等によって1つのラ
ベルの面積が小さくても、最も占有面積が広いデータセ
ル領域を論理状態オンと判断する。したがって、ラベル
が小さくデータセル領域の中心にラベルがなくても、論
理状態を正確に求めることができる。In this step S194, since the threshold value is not used for determining the logical state of the data cell area, as shown in FIG. 28B, even if the area of one label is small due to insufficient exposure, etc. The logic state of a data cell region having a large occupied area is determined to be on. Therefore, even if the label is small and there is no label at the center of the data cell area, the logical state can be accurately obtained.
【0184】次に、ステップS195では、第2のデー
タセル論理状態判定として、ステップS194で論理状
態がオフと判断された各データセル領域について、デー
タセル領域203の中心部(例えば、データセル幅の2
0%)204の画像がオン、すなわちラベルが在る状態
であり、かつ、同データセル領域203中、オン状態の
画素が全画素のRth%(例えば、30%)以上である
とき、同データセル領域203の論理状態をオンと定め
る。このステップS195では、図28(c)に示すよ
うに、露光過度等によって1つのラベルの面積が大きく
ても、データセル領域の中心部がオン状態となっていな
ければ同データセル領域の論理状態をオンとは判断しな
いため、データセルの滲みや位置ずれ等により隣接する
データセルが張り出してもデータセル領域の論理状態を
正確に求めることができる。Next, in step S195, as the second data cell logic state determination, the center of the data cell area 203 (for example, the data cell width) is determined for each data cell area whose logic state is determined to be off in step S194. 2
0%) When the image of 204 is ON, that is, in the state where a label is present, and when the pixels in the ON state are equal to or more than Rth% (for example, 30%) of all the pixels in the same data cell area 203, the same data The logic state of the cell region 203 is set to ON. In this step S195, as shown in FIG. 28C, even if the area of one label is large due to overexposure or the like, the logical state of the data cell area is not turned on unless the center of the data cell area is turned on. Is not determined to be ON, the logical state of the data cell area can be accurately obtained even if adjacent data cells protrude due to bleeding or misalignment of the data cells.
【0185】以上説明したように、データセル論理状態
識別ステップS29(データセル論理状態識別部29)
では、ラベルの大きさに合わせた加算平均面積S0を用
いてラベルを抽出して、これをデータセルとみなし、ラ
ベルが単体で複数のデータセル領域にまたがっていると
きは、ラベルが最も広く重なっているデータセル領域の
論理状態をオンと定め、面積の大きい複数のラベルが1
つのデータセル領域の一部をオン状態としているとき
は、ラベルによる占有面積がしきい値以上であってもデ
ータセル領域の中心部がオン状態となっていなければデ
ータセル領域の論理状態をオン状態とは判断しない。As described above, data cell logic state identification step S29 (data cell logic state identification unit 29)
Then, the label is extracted using the averaging area S 0 according to the size of the label, and the extracted label is regarded as a data cell. When the label singly extends over a plurality of data cell areas, the label is most widely used. The logic state of the overlapping data cell region is set to ON, and a plurality of labels having a large area
When a part of one data cell region is turned on, the logic state of the data cell region is turned on unless the center of the data cell region is turned on even if the area occupied by the label is equal to or larger than the threshold value. Does not judge the state.
【0186】したがって、データセルの欠けや縮小、位
置ずれ等によりデータセル領域の中心にデータセルがな
くてもデータセル領域の論理状態を正確に求めることが
できる。また、データセルの滲みや拡大、位置ずれ等に
より隣接するデータセルが張り出してもデータセル領域
の論理状態を正確に求めることができる。Therefore, the logic state of the data cell area can be accurately obtained even if there is no data cell at the center of the data cell area due to lack, reduction, displacement, or the like of the data cell. Further, even if adjacent data cells overhang due to bleeding, enlargement, displacement, or the like of the data cells, the logical state of the data cell area can be accurately obtained.
【0187】なお、ステップS194の第1のデータセ
ル論理状態判定として、占有面積に依らずに、データセ
ル領域の中心点からラベルまでの距離、すなわち、中心
点からオン状態である画素までの距離を算出し、最も短
い距離が得られたデータラベル領域の論理状態をオンと
定めても良い。Note that the first data cell logical state determination in step S194 determines the distance from the center point of the data cell region to the label, that is, the distance from the center point to the pixel in the ON state, regardless of the occupied area. May be calculated, and the logical state of the data label area in which the shortest distance is obtained may be determined to be on.
【0188】このように、各ステップ(部)において、
多値画像の輝度ムラやノイズ、2次元コードの変形、セ
ルの滲みや欠けといった変形、セルの消失、セルの位置
ずれ等に対してこれらの影響を受けずに所望の処理を行
っていくことにより、多値画像中の2次元コードを正確
に読み取ることができる。As described above, in each step (part),
Perform desired processing without being affected by luminance unevenness and noise of multi-valued images, deformation of two-dimensional code, deformation such as bleeding or chipping of cells, loss of cells, displacement of cells, etc. Thereby, the two-dimensional code in the multi-valued image can be accurately read.
【0189】[0189]
【発明の効果】以上説明したように、本発明の多値画像
2値化装置、多値画像2値化方法および多値画像2値化
プログラムによれば、多値画像分割手段(多値画像分割
ステップ)において、複数のドットの組み合わせで表現
される記号を含んだ多値画像を複数の小領域に分割し、
しきい値算出手段(しきい値算出ステップ)において、
小領域のうち2値化の対象である被2値化小領域を包含
し、かつ該被2値化小領域よりも広い面積を有するしき
い値算出領域の輝度値から被2値化小領域のしきい値を
算出し、小領域2値化手段(小領域2値化ステップ)に
おいて、しきい値算出手段で求められたしきい値により
前記被2値化小領域を2値化すると同時に、被2値化小
領域中に記号が存在する場合、該記号の外側にクワイエ
ットゾーンを生成している。As described above, according to the multi-value image binarizing apparatus, the multi-value image binarization method and the multi-value image binarization program of the present invention, the multi-value image dividing means (multi-value image Dividing step), a multi-valued image including a symbol represented by a combination of a plurality of dots is divided into a plurality of small areas,
In the threshold value calculating means (threshold value calculating step),
Among the small regions, the binarized small region that includes the binarized small region to be binarized and has a larger area than the binarized small region is calculated based on the luminance value of the threshold calculation region. And in the small area binarizing means (small area binarizing step), the binarized small area is binarized by the threshold value calculated by the threshold value calculating means. When a symbol exists in the binarized small area, a quiet zone is generated outside the symbol.
【0190】また、2次元コードを含んだ多値画像を複
数の小領域に分割し、しきい値算出手段(しきい値算出
ステップ)において、小領域のうち2値化の対象である
被2値化小領域を包含し、かつ該被2値化小領域より大
きいしきい値算出領域の輝度値から前記被2値化小領域
のしきい値を算出し、小領域2値化手段(小領域2値化
ステップ)において、しきい値により前記被2値化小領
域を2値化すると同時に、被2値化小領域中に2次元コ
ードが存在する場合、該2次元コードの外側にクワイエ
ットゾーンを生成している。Further, the multi-valued image including the two-dimensional code is divided into a plurality of small areas, and the threshold value calculating means (threshold value calculating step) selects the two-dimensional image to be binarized among the small areas. The threshold value of the binarized small area is calculated from the luminance value of the threshold value calculation area that includes the binarized small area and is larger than the binarized small area, In the region binarizing step), the binarized small region is binarized by a threshold value, and if a two-dimensional code exists in the binarized small region, a quiet outside of the two-dimensional code is performed. Creating a zone.
【0191】このように、被2値化小領域よりも大きな
広い面積を有するしきい値算出領域の輝度値に基づいて
しきい値を算出し、これを用いて被2値化小領域を2値
化することによって、被2値化小領域中に記号または2
次元コードが存在する場合は、記号または2次元コード
の外側にクワイエットゾーンが生成されるため、記号ま
たは2次元コードの輪郭が極めて明確になる。したがっ
て、多値画像にノイズが含まれていても、記号または2
次元コードの位置、傾きおよび形状等の検出といった2
値化後の画像処理を正確に行うことができるといった効
果を奏する。また、分割された小領域毎にしきい値を算
出し、これを用いて被2値化小領域を2値化しているた
め、多値画像に輝度ムラがあっても正確に2値化するこ
とができるといった効果を奏する。As described above, the threshold value is calculated based on the luminance value of the threshold value calculation region having a larger area than the binarized small region, and the threshold value is calculated using the threshold value. By binarizing, a symbol or 2 appears in the binarized small area.
When a dimensional code is present, a quiet zone is generated outside the symbol or the two-dimensional code, so that the outline of the symbol or the two-dimensional code is extremely clear. Therefore, even if the multi-valued image contains noise,
2 such as detection of position, inclination, shape, etc. of dimensional code
There is an effect that image processing after the binarization can be performed accurately. Further, since a threshold value is calculated for each of the divided small areas and the threshold value is used to binarize the binarized small area, it is necessary to accurately binarize even if the multi-valued image has uneven brightness. It has the effect of being able to
【0192】結果として、多値画像の輝度ムラやノイ
ズ、2次元コードの変形、セルの滲みや欠けといった変
形、セルの消失、セルの位置ずれ等に対してこれらの影
響を受けずに所望の処理を行っていくことにより、多値
画像中の2次元コードを正確に読み取ることができる。As a result, desired effects can be obtained without being affected by luminance unevenness or noise of a multi-valued image, deformation of a two-dimensional code, deformation such as bleeding or chipping of a cell, loss of a cell, or displacement of a cell. By performing the processing, the two-dimensional code in the multi-valued image can be accurately read.
【0193】また、本発明に係る2次元コード読取装
置、2次元コード読取方法および2次元コード読取プロ
グラムによれば、2値化/クワイエットゾーン生成手段
(2値化/クワイエットゾーン生成ステップ)におい
て、多値画像を2値化すると共に、多値画像に含まれて
いる2次元コードの周囲にクワイエットゾーンを生成
し、タイミングセル検出手段(タイミングセル検出ステ
ップ)において、クワイエットゾーンに囲まれた2次元
コード中のタイミングセルを検出し、データセル領域設
定手段(データセル領域設定ステップ)において、タイ
ミングセル検出部で検出された各タイミングセルの中心
または中点を通る直線と他の直線との交点を中心とした
所定領域を、2次元コード中の各データセルの論理状態
を識別するために用いられるデータセル領域として設定
し、データセル論理状態識別手段(データセル論理状態
識別ステップ)において、2次元コードの領域をラベリ
ング処理することによって得られたラベルと、データセ
ル領域設定ステップで設定したデータセル領域との重な
りに基づいて、各データセル領域の論理状態を識別する
ことによって、2次元コードを含む多値画像から2次元
コードを読み取っている。According to the two-dimensional code reading device, the two-dimensional code reading method and the two-dimensional code reading program of the present invention, the binarization / quiet zone generation means (binarization / quiet zone generation step) The multi-level image is binarized, a quiet zone is generated around the two-dimensional code included in the multi-level image, and the timing cell detecting means (timing cell detecting step) detects the two-dimensional area surrounded by the quiet zone. A timing cell in the code is detected, and a data cell area setting means (data cell area setting step) determines an intersection of a straight line passing through the center or midpoint of each timing cell detected by the timing cell detection unit with another straight line. The predetermined area at the center is used to identify the logical state of each data cell in the two-dimensional code. A label obtained by labeling the two-dimensional code area in the data cell logic state identification means (data cell logic state identification step), and the data set in the data cell area setting step. The two-dimensional code is read from the multi-valued image including the two-dimensional code by identifying the logical state of each data cell area based on the overlap with the cell area.
【0194】2値化/クワイエットゾーン生成手段(2
値化/クワイエットゾーン生成ステップ)では、2次元
コードの周辺にクワイエットゾーンが生成されるため2
次元コードの輪郭が極めて明確になり、多値画像にノイ
ズが含まれていてもその影響をあまり受けない。また、
データセル領域設定手段(データセル領域設定ステッ
プ)において、タイミングセル検出手段(タイミングセ
ル検出ステップ)で検出したタイミングセルの中心また
は中点を通る直線と他の直線との交点を中心とした所定
領域をデータセル領域として設定し、データセル論理状
態識別手段(データセル論理状態識別ステップ)におい
て、ラベリング処理によって得られたラベルと、設定さ
れたデータセル領域との重なりに基づいて、各データセ
ル領域の論理状態を識別しているため、2次元コードを
含む多値画像から2次元コードを正確に読み取ることが
できる。The binarization / quiet zone generation means (2
In the binarization / quiet zone generation step), a quiet zone is generated around the two-dimensional code.
The contour of the dimensional code becomes very clear, and even if noise is included in the multi-valued image, it is not so affected. Also,
In the data cell area setting means (data cell area setting step), a predetermined area centered on the intersection of a straight line passing through the center or midpoint of the timing cell detected by the timing cell detecting means (timing cell detecting step) and another straight line Is set as a data cell area, and in the data cell logic state identification means (data cell logic state identification step), each data cell area is determined based on the overlap between the label obtained by the labeling process and the set data cell area. , The two-dimensional code can be accurately read from the multi-valued image including the two-dimensional code.
【0195】また、2次元コード概略存在領域決定手段
(2次元コード概略存在領域決定ステップ)において、
2値化/クワイエットゾーン生成手段で得た2値化画像
中の、クワイエットゾーンで囲まれた領域全体を含む四
角形の領域を、2次元コード概略存在領域として定め、
2次元コード回転角度決定手段(2次元コード回転角度
決定ステップ)において、2次元コード概略存在領域の
略直交する2辺のそれぞれに対する、2次元コード概略
存在領域中の2次元コードの回転角度を求め、ガイドセ
ル外接線検出手段(ガイドセル外接線検出ステップ)に
おいて、2次元コード回転角度決定手段で求めた回転角
度、および2次元コード中の一列に並んだガイドセルに
外接するガイドセル外接線の通過点に基づいて、ガイド
セル外接線を検出し、タイミングセル外接線検出手段
(タイミングセル外接線検出ステップ)において、2次
元コード回転角度決定手段で求めた回転角度、および2
次元コード中の一列に並んだタイミングセルに外接する
タイミングセル外接線の通過点に基づいて、タイミング
セル外接線を検出し、ガイドセル外接線検出手段で検出
したガイドセル外接線と、タイミングセル外接線検出手
段で検出したタイミングセル外接線とによって囲まれた
領域を2次元コードとしている。In the two-dimensional code approximate existence area determining means (two-dimensional code approximate existence area determination step),
In the binarized image obtained by the binarization / quiet zone generating means, a quadrangular region including the entire region surrounded by the quiet zone is determined as a two-dimensional code general existence region,
In the two-dimensional code rotation angle determining means (two-dimensional code rotation angle determining step), the rotation angle of the two-dimensional code in the two-dimensional code general existence area is determined for each of two substantially orthogonal sides of the two-dimensional code general existence area. In the guide cell outer tangent detecting means (guide cell outer tangent detecting step), the rotation angle obtained by the two-dimensional code rotation angle determining means and the guide cell outer tangent tangent to the guide cells arranged in a line in the two-dimensional code are determined. A guide cell outer tangent is detected based on the passing point, and a timing cell outer tangent detecting means (timing cell outer tangent detecting step) detects the rotation angle obtained by the two-dimensional code rotation angle determining means;
A timing cell outer tangent is detected based on a passing point of the timing cell outer tangent circumscribing the timing cells arranged in a line in the dimension code, and the guide cell outer tangent detected by the guide cell outer tangent detecting means and the timing cell outer tangent are detected. The area surrounded by the timing cell external tangent detected by the line detecting means is defined as a two-dimensional code.
【0196】2次元コード概略存在領域決定手段(2次
元コード概略存在領域決定ステップ)では、2値化画像
中の一部を2次元コード概略存在領域として抽出し、当
該領域以外は2次元コード読み取りのためには用いられ
ることがないため、当該領域以外の領域に混入している
ノイズの影響を受けることがなくなる。また、ガイドセ
ル外接線検出手段(ガイドセル外接線検出ステップ)で
は2次元コード回転角度決定手段(2次元コード回転角
度決定ステップ)で求めた回転角度および通過点に基づ
いてガイドセル外接線を検出しており、タイミングセル
外接線検出手段(タイミングセル外接線検出ステップ)
では2次元コード回転角度決定手段(2次元コード回転
角度決定ステップ)で求めた回転角度および通過点に基
づいてタイミングセル外接線を検出しているため、2次
元コードの位置、形状および領域を正確に特定すること
ができる。The two-dimensional code approximate existence area determining means (two-dimensional code approximate existence area determination step) extracts a part of the binarized image as a two-dimensional code approximate existence area, and reads the two-dimensional code other than the area. Therefore, it is not affected by noise mixed in an area other than the area. The guide cell outer tangent detecting means (guide cell outer tangent detecting step) detects the guide cell outer tangent based on the rotation angle and the passing point obtained by the two-dimensional code rotation angle determining means (two-dimensional code rotation angle determining step). And timing cell external tangent detection means (timing cell external tangent detection step)
Since the tangent line outside the timing cell is detected based on the rotation angle and the passing point obtained by the two-dimensional code rotation angle determining means (two-dimensional code rotation angle determination step), the position, shape and area of the two-dimensional code can be accurately determined. Can be specified.
【0197】さらに、2次元コード中のタイミングセル
の一部が消失しているとき、消失タイミングセル補完ス
テップ(消失タイミングセル補完手段)において、タイ
ミングセルが消失している位置を算出し、該算出位置に
タイミングセルを補完している。したがって、タイミン
グセルが消失しても全タイミングセルの位置を正確に求
めることができる。Further, when a part of the timing cell in the two-dimensional code is lost, a position where the timing cell is lost is calculated in a lost timing cell complementing step (erasing timing cell complementing means). The position is complemented by a timing cell. Therefore, even if the timing cells disappear, the positions of all the timing cells can be accurately obtained.
【図1】データマトリックスコードを示す説明図であ
る。FIG. 1 is an explanatory diagram showing a data matrix code.
【図2】多値画像2値化装置における処理の流れを示す
フローチャートである。FIG. 2 is a flowchart illustrating a flow of processing in the multi-value image binarization device.
【図3】多値画像2値化装置における処理を示す説明図
である。FIG. 3 is an explanatory diagram showing processing in a multi-value image binarization device.
【図4】クワイエットゾーンが生成された2値画像を示
す説明図である。FIG. 4 is an explanatory diagram illustrating a binary image in which a quiet zone is generated.
【図5】従来のしきい値算出方法で求めたしきい値によ
る2値化の説明図である。FIG. 5 is an explanatory diagram of binarization using a threshold value obtained by a conventional threshold value calculation method.
【図6】本発明のしきい値算出方法で求めたしきい値に
よる2値化の説明図である。FIG. 6 is an explanatory diagram of binarization based on a threshold value obtained by the threshold value calculation method of the present invention.
【図7】データマトリックスコードを示す説明図であ
る。FIG. 7 is an explanatory diagram showing a data matrix code.
【図8】本発明に係る2次元コード読取装置を説明する
説明図である。FIG. 8 is an explanatory diagram illustrating a two-dimensional code reader according to the present invention.
【図9】本発明に係る2次元コード読取方法のメインル
ーチンを示すフローチャートである。FIG. 9 is a flowchart showing a main routine of the two-dimensional code reading method according to the present invention.
【図10】2次元コード読取方法のサブルーチンの一つ
である多値画像2値化/クワイエットゾーン生成ステッ
プS21を示すフローチャートである。FIG. 10 is a flowchart showing a multilevel image binarization / quiet zone generation step S21 which is one of subroutines of a two-dimensional code reading method.
【図11】2次元コード読取方法のサブルーチンの一つ
である2次元コード概略存在領域決定ステップS22を
示すフローチャートである。FIG. 11 is a flowchart showing a two-dimensional code approximate existence area determining step S22 which is one of subroutines of a two-dimensional code reading method.
【図12】2次元コード概略存在領域決定ステップS2
2で用いられるL字マスクを示す説明図である。FIG. 12 is a schematic two-dimensional code existence area determining step S2.
FIG. 4 is an explanatory diagram showing an L-shaped mask used in No. 2;
【図13】2次元コード概略存在領域決定ステップS2
2で定められる2次元コードの概略存在領域を示す説明
図である。FIG. 13 is a diagram showing a two-dimensional code approximate existence area determining step S2.
FIG. 4 is an explanatory diagram showing a schematic existence area of a two-dimensional code determined by 2;
【図14】2次元コード読取方法のサブルーチンの一つ
である2次元コード回転角度決定ステップS23を示す
フローチャートである。FIG. 14 is a flowchart showing a two-dimensional code rotation angle determining step S23 which is one of subroutines of a two-dimensional code reading method.
【図15】(a)は射影軸の回転角度をθ0としたとき
の射影処理の様子を示す説明図であり、(b)は射影軸
の回転角度がθ0ではないときの射影軸上の射影強度を
示す説明図である。15A is an explanatory diagram showing a state of projection processing when the rotation angle of the projection axis is set to θ 0, and FIG. 15B is a diagram illustrating a state on the projection axis when the rotation angle of the projection axis is not θ 0. FIG. 9 is an explanatory diagram showing the projection intensity of the image.
【図16】2次元コード読取方法のサブルーチンの一つ
であるガイドセル外接線検出ステップS24を示すフロ
ーチャートである。FIG. 16 is a flowchart showing a guide cell external tangent detection step S24 which is one of subroutines of a two-dimensional code reading method.
【図17】2次元コード読取方法のサブルーチンの一つ
であるタイミングセル外接線検出ステップS25を示す
フローチャートである。FIG. 17 is a flowchart showing a timing cell external tangent detection step S25, which is one of subroutines of a two-dimensional code reading method.
【図18】2次元コードのガイドセル外接線および正規
のタイミングセル外接線を含む仮のタイミングセル外接
線を示す説明図である。FIG. 18 is an explanatory diagram showing a temporary timing cell outer tangent including a guide cell outer tangent and a normal timing cell outer tangent of a two-dimensional code.
【図19】2次元コード読取方法のサブルーチンの一つ
であるタイミングセル検出ステップS26を示すフロー
チャートである。FIG. 19 is a flowchart showing a timing cell detection step S26 which is one of subroutines of a two-dimensional code reading method.
【図20】正しく求められたタイミングセル外接線に基
づいたタイミングセルの位置検出を示す説明図である。FIG. 20 is an explanatory view showing position detection of a timing cell based on a timing cell outer tangent obtained correctly.
【図21】正しく求められていないタイミングセル外接
線に基づいたタイミングセルの位置検出を示す説明図で
ある。FIG. 21 is an explanatory diagram showing timing cell position detection based on a timing cell external tangent that is not correctly obtained.
【図22】2次元コード読取方法のサブルーチンの一つ
である消失タイミングセル補完ステップS27を示すフ
ローチャートである。FIG. 22 is a flowchart showing a lost timing cell complementing step S27, which is one of subroutines of a two-dimensional code reading method.
【図23】タイミングセルが消失しているときのタイミ
ングセルの生成を示す説明図である。FIG. 23 is an explanatory diagram showing generation of a timing cell when the timing cell has disappeared.
【図24】2次元コード読取方法のサブルーチンの一つ
であるデータセル領域設定ステップS28を示すフロー
チャートである。FIG. 24 is a flowchart showing a data cell area setting step S28 which is one of subroutines of a two-dimensional code reading method.
【図25】2次元コード内に生成されたデータセル領域
を示す説明図である。FIG. 25 is an explanatory diagram showing a data cell area generated in a two-dimensional code.
【図26】2次元コード読取方法のサブルーチンの一つ
であるデータセル論理状態識別ステップS29を示すフ
ローチャートである。FIG. 26 is a flowchart showing a data cell logical state identification step S29 which is one of subroutines of a two-dimensional code reading method.
【図27】(a)はラベル面積が2次元コードの設計値
が示すセル面積と略同等な場合の2次元コードを示し、
(b)はラベル面積が設計値の示すセル面積よりも全体
的に小さくなっている場合の2次元コードを示し、
(c)はラベル面積が設計値の示すセル面積よりも全体
的に大きくなっている場合の2次元コードを示す説明図
である。FIG. 27A shows a two-dimensional code when the label area is substantially equal to the cell area indicated by the design value of the two-dimensional code,
(B) shows a two-dimensional code when the label area is smaller than the cell area indicated by the design value as a whole,
(C) is an explanatory view showing a two-dimensional code when the label area is larger than the cell area indicated by the design value as a whole.
【図28】(a)はラベル一例とデータセル領域との関
係の一例を示し、(b)は1つのラベルの面積が小さい
ときの2次元コードの一例を示し、(c)は1つのラベ
ルの面積が大きいときの2次元コードの一例を示す説明
図である。FIG. 28A shows an example of a relationship between an example of a label and a data cell area, FIG. 28B shows an example of a two-dimensional code when the area of one label is small, and FIG. FIG. 4 is an explanatory diagram showing an example of a two-dimensional code when the area of the is large.
1 データマトリックスコード 2 データセル 3 タイミングセル 4 ガイドセル 21 多値画像分割手段 22 しきい値算出手段 23 小領域2値化手段 31 多値画像 32 小領域 33 被2値化小領域 34 しきい値算出領域 35 文字 36 クワイエットゾーン 121 多値画像2値化/クワイエットゾーン生成部 122 2次元コード概略存在領域決定部 123 2次元コード回転角度決定部 124 ガイドセル外接線検出部 125 タイミングセル外接線検出部 126 タイミングセル検出部 127 消失タイミングセル補完部 128 データセル領域設定部 129 データセル論理状態識別部 DESCRIPTION OF SYMBOLS 1 Data matrix code 2 Data cell 3 Timing cell 4 Guide cell 21 Multi-valued image division means 22 Threshold value calculation means 23 Small area binarization means 31 Multi-valued image 32 Small area 33 Binarized small area 34 Threshold Calculation area 35 Character 36 Quiet zone 121 Multi-valued image binarization / quiet zone generator 122 Two-dimensional code approximate existence area determiner 123 Two-dimensional code rotation angle determiner 124 Guide cell external tangent detector 125 Timing cell external tangent detector 126 Timing cell detection unit 127 Erasure timing cell complement unit 128 Data cell area setting unit 129 Data cell logical state identification unit
Claims (38)
記号を含んだ多値の画像を2値化する多値画像2値化装
置であって、 多値画像を複数の小領域に分割する多値画像分割手段
と、 前記小領域のうち2値化の対象である被2値化小領域を
包含し、かつ該被2値化小領域よりも広い面積を有する
しきい値算出領域の輝度値から前記被2値化小領域のし
きい値を算出するしきい値算出手段と、 前記しきい値算出手段で求められたしきい値により前記
被2値化小領域を2値化すると同時に、被2値化小領域
中に記号が存在する場合、該記号の外側にクワイエット
ゾーンを生成する小領域2値化手段と、を備えたことを
特徴とする多値画像2値化装置。1. A multi-level image binarizing apparatus for binarizing a multi-level image including a symbol represented by a combination of a plurality of dots, wherein the multi-level image is divided into a plurality of small areas. Value image dividing means, and a luminance value of a threshold value calculation region including a binarized small region to be binarized among the small regions and having an area larger than the binarized small region A threshold value calculating means for calculating a threshold value of the binarized small area from a threshold value calculated by the threshold value calculating means; A multi-valued image binarizing apparatus, comprising: a small area binarizing means for generating a quiet zone outside a symbol when the symbol exists in the binarized small area.
化する多値画像2値化装置であって、 多値画像を複数の小領域に分割する多値画像分割手段
と、 前記小領域のうち2値化の対象である被2値化小領域を
包含し、かつ該被2値化小領域より大きいしきい値算出
領域の輝度値から前記被2値化小領域のしきい値を算出
するしきい値算出手段と、 前記しきい値により前記被2値化小領域を2値化すると
同時に、被2値化小領域中に2次元コードが存在する場
合、該2次元コードの外側にクワイエットゾーンを生成
する小領域2値化手段と、を備えたことを特徴とする多
値画像2値化装置。2. A multi-valued image binarization device for binarizing a multi-valued image including a two-dimensional code, the multi-valued image dividing means for dividing the multi-valued image into a plurality of small areas, The threshold of the binarized small area is determined based on the luminance value of the threshold value calculation area which is larger than the binarized small area and which includes the binarized small area to be binarized. Threshold value calculating means for calculating a value; and, when the two-dimensional code is present in the binarized small area, the two-dimensional code is And a small area binarizing unit for generating a quiet zone outside the multi-valued image.
算出領域における最大の輝度値と最小の輝度値との算術
平均値をしきい値とすることを特徴とする請求項1また
は2記載の多値画像2値化装置。3. The threshold value calculation unit according to claim 1, wherein the threshold value is an arithmetic average of a maximum luminance value and a minimum luminance value in the threshold value calculation area. The multivalued image binarization device according to the above.
記号を含んだ多値の画像を2値化する多値画像2値化方
法であって、 多値画像を複数の小領域に分割する多値画像分割ステッ
プと、 前記小領域のうち2値化の対象である被2値化小領域を
包含し、かつ該被2値化小領域よりも広い面積を有する
しきい値算出領域の輝度値から前記被2値化小領域のし
きい値を算出するしきい値算出ステップと、 前記しきい値算出手段で求められたしきい値により前記
被2値化小領域を2値化すると同時に、被2値化小領域
中に記号が存在する場合、該記号の外側にクワイエット
ゾーンを生成する小領域2値化ステップと、を有するこ
とを特徴とする多値画像2値化方法。4. A multi-valued image binarization method for binarizing a multi-valued image including a symbol represented by a combination of a plurality of dots, wherein the multi-valued image is divided into a plurality of small areas. Value image dividing step; and a luminance value of a threshold value calculation region including a binarized small region to be binarized among the small regions and having an area larger than the binarized small region. A threshold value calculating step of calculating a threshold value of the binarized small region from the following; and, at the same time, binarizing the binarized small region with the threshold value calculated by the threshold value calculating means, A binarizing step of generating a quiet zone outside the symbol when the symbol exists in the binarized small region.
化する多値画像2値化方法であって、 多値画像を複数の小領域に分割する多値画像分割ステッ
プと、 前記小領域のうち2値化の対象である被2値化小領域を
包含し、かつ該被2値化小領域より大きいしきい値算出
領域の輝度値から前記被2値化小領域のしきい値を算出
するしきい値算出ステップと、 前記しきい値により前記被2値化小領域を2値化すると
同時に、被2値化小領域中に2次元コードが存在する場
合、該2次元コードの外側にクワイエットゾーンを生成
する小領域2値化ステップと、を有することを特徴とす
る多値画像2値化方法。5. A multi-valued image binarization method for binarizing a multi-valued image including a two-dimensional code, the method comprising: dividing a multi-valued image into a plurality of small regions; The threshold of the binarized small area is determined based on the luminance value of the threshold value calculation area which is larger than the binarized small area and which includes the binarized small area to be binarized. A threshold value calculating step of calculating a value; and, when the two-dimensional code is present in the binarized small area, the two-dimensional code is A small area binarizing step of generating a quiet zone outside of the multi-valued image.
い値算出領域における最大の輝度値と最小の輝度値との
算術平均値をしきい値とすることを特徴とする請求項4
または5記載の多値画像2値化方法。6. The threshold value calculating step, wherein the threshold value is an arithmetic average of a maximum luminance value and a minimum luminance value in the threshold value calculation region.
Or the multilevel image binarization method according to 5.
2値化方法をコンピュータに実行させるための多値画像
2値化プログラム。7. A multi-level image binarization program for causing a computer to execute the multi-level image binarization method according to claim 4.
次元コードを読み取る2次元コード読取装置であって、 多値画像を2値化すると共に、前記多値画像に含まれて
いる2次元コードの周囲にクワイエットゾーンを生成す
る2値化/クワイエットゾーン生成手段と、 前記クワイエットゾーンに囲まれた2次元コード中のタ
イミングセルを検出するタイミングセル検出手段と、 前記タイミングセル検出手段で検出された各タイミング
セルの中心または中点を通る直線と他の前記直線との交
点を中心とした所定領域を、前記2次元コード中の各デ
ータセルの論理状態を識別するために用いられるデータ
セル領域として設定するデータセル領域設定手段と、 前記2次元コードの領域をラベリング処理することによ
って得られたラベルと、前記データセル領域設定手段で
設定したデータセル領域との重なりに基づいて、各デー
タセル領域の論理状態を識別するデータセル論理状態識
別手段と、を備えたことを特徴とする2次元コード読取
装置。8. A multi-valued image including a two-dimensional code,
A two-dimensional code reader for reading a two-dimensional code, wherein the two-dimensional image is binarized and a quiet zone is generated around a two-dimensional code included in the multi-value image. Means, a timing cell detecting means for detecting a timing cell in the two-dimensional code surrounded by the quiet zone, a straight line passing through a center or a midpoint of each timing cell detected by the timing cell detecting means, and the other Data cell area setting means for setting a predetermined area centered on an intersection with a straight line as a data cell area used for identifying a logical state of each data cell in the two-dimensional code; Of the label obtained by performing the labeling process on the data cell area set by the data cell area setting means. 2. A two-dimensional code reader, comprising: data cell logical state identification means for identifying a logical state of each data cell area based on a preamble.
段で得た2値化画像中の、前記クワイエットゾーンで囲
まれた領域全体を含む四角形の領域を、2次元コード概
略存在領域として定める2次元コード概略存在領域決定
手段と、 前記2次元コード概略存在領域の互いに交差する2辺の
それぞれに対する、前記2次元コード概略存在領域中の
2次元コードの回転角度を求める2次元コード回転角度
決定手段と、 前記2次元コード回転角度決定手段で求めた回転角度、
および前記2次元コード中の一列に並んだガイドセルに
外接するガイドセル外接線の通過点に基づいて、前記ガ
イドセル外接線を検出するガイドセル外接線検出手段
と、 前記2次元コード回転角度決定手段で求めた回転角度、
および前記2次元コード中の一列に並んだタイミングセ
ルに外接するタイミングセル外接線の通過点に基づい
て、前記タイミングセル外接線を検出するタイミングセ
ル外接線検出手段と、を備え、 前記ガイドセル外接線検出手段で検出したガイドセル外
接線と、前記タイミングセル外接線検出手段で検出した
タイミングセル外接線とによって囲まれた領域を前記2
次元コードとすることを特徴とする請求項8記載の2次
元コード読取装置。9. A two-dimensional area which defines a quadrangular area including the entire area surrounded by the quiet zone in the binary image obtained by the binary / quiet zone generating means as a two-dimensional code roughly existing area. Code approximate existence area determining means; two-dimensional code rotation angle determining means for determining a rotation angle of a two-dimensional code in the two-dimensional code approximate existence area with respect to each of two sides of the two-dimensional code approximate existence area that intersect each other; A rotation angle obtained by the two-dimensional code rotation angle determining means;
And a guide cell outer tangent detecting means for detecting the guide cell outer tangent based on a passing point of a guide cell outer tangent circumscribing the guide cells arranged in a line in the two-dimensional code; and determining the two-dimensional code rotation angle. Rotation angle obtained by means,
And a timing cell external tangent detecting means for detecting the timing cell external tangent based on a passing point of a timing cell external tangent circumscribing the timing cells arranged in a line in the two-dimensional code. The area surrounded by the guide cell outer tangent detected by the line detector and the timing cell outer tangent detected by the timing cell outer tangent detector is defined as
The two-dimensional code reader according to claim 8, wherein the two-dimensional code reader is a two-dimensional code.
部が消失しているとき、 タイミングセルが消失している位置を算出して、該算出
位置にタイミングセルを補完する消失タイミングセル補
完手段を備えたことを特徴とする請求項9記載の2次元
コード読取装置。10. When a part of a timing cell in a two-dimensional code is lost, a position where the timing cell is lost is calculated, and a lost timing cell complementer for complementing the timing cell with the calculated position is provided. The two-dimensional code reader according to claim 9, further comprising:
手段は、 多値画像を複数の小領域に分割し、 前記分割された小領域であって、2値化の対象とされた
被2値化小領域を含み、該被2値化小領域よりも広い面
積を有するしきい値算出領域を設定し、 前記しきい値算出領域内の輝度値に基づいて、前記被2
値化小領域のためのしきい値を算出し、 前記しきい値と前記被2値化小領域中の各画素の輝度値
とを比較して前記被2値化小領域を2値化することを特
徴とする請求項8、9または10記載の2次元コード読
取装置。11. The binarizing / quiet zone generating means divides a multi-valued image into a plurality of small areas, and converts the multi-valued image into a plurality of small areas, and the binarized object to be binarized. A threshold calculation region including a small region and having a larger area than the binarized small region is set, and the threshold value calculation region is set based on a luminance value in the threshold calculation region.
Calculating a threshold value for the binarized small area, binarizing the binarized small area by comparing the threshold value with the luminance value of each pixel in the binarized small area. The two-dimensional code reader according to claim 8, 9 or 10, wherein:
が配置されているとき、 前記2次元コード概略領域決定手段は、 前記2値化/クワイエットゾーン生成手段で得た2値化
画像に対してマスクを用いてパタンマッチング処理を行
うことにより、前記2値化画像の各座標のパタンマッチ
ング値を求め、 前記パタンマッチング値が最大となる点をガイドセル頂
点として検出し、 前記ガイドセル頂点を含み、前記クワイエットゾーンに
囲まれた領域全体を含む四角形の領域を、前記2次元コ
ード概略存在領域として定めることを特徴とする請求項
9、10または11記載の2次元コード読取装置。12. When a guide cell is arranged at an inner edge of the two-dimensional code, the two-dimensional code general area determining means determines a binarized image obtained by the binarization / quiet zone generation means. By performing a pattern matching process using a mask, a pattern matching value of each coordinate of the binarized image is obtained, a point having the maximum pattern matching value is detected as a guide cell vertex, and the guide cell vertex is included. 12. The two-dimensional code reading device according to claim 9, wherein a quadrangular area including the entire area surrounded by the quiet zone is determined as the two-dimensional code general existence area.
ているとき、前記マスクとして略L字型のマスクを用い
ることを特徴とする請求項12記載の2次元コード読取
装置。13. The two-dimensional code reader according to claim 12, wherein when the guide cells are arranged in a substantially L shape, a substantially L-shaped mask is used as the mask.
は、 前記2次元コード概略存在領域の互いに交差する2辺の
それぞれに対して、所定範囲の角度で射影軸を所定角度
ずつ回転させ、前記2次元コード概略存在領域に対する
射影処理を行うことにより、各回転角度毎に前記射影軸
上の射影強度を求め、 前記射影軸の回転角度毎に前記射影強度の最大値を求
め、 前記最大値の中で最も値の高い最大値が得られた回転角
度を求め、 前記回転角度を前記2次元コード概略存在領域の各辺に
対する2次元コードの回転角度とすることを特徴とする
請求項9、10、11、12または13記載の2次元コ
ード読取装置。14. The two-dimensional code rotation angle determining means rotates a projection axis by a predetermined angle at a predetermined angle with respect to each of two mutually intersecting sides of the two-dimensional code roughly existing area. By performing projection processing on the dimensional code approximate existence area, a projection intensity on the projection axis is obtained for each rotation angle, a maximum value of the projection intensity is obtained for each rotation angle of the projection axis, and A rotation angle at which a maximum value having the highest value is obtained, and the rotation angle is a rotation angle of the two-dimensional code with respect to each side of the two-dimensional code approximate existence area. 14. The two-dimensional code reader according to 11, 12, or 13.
それぞれに対し、前記射影軸を、対象とされている辺に
対応する前記2次元コードの回転角度だけ傾けて射影処
理を行うことにより、前記射影軸上の射影強度を求め、 前記射影強度に基づいてガイドセル外接線の通過点を求
め、 前記通過点および前記2次元コードの回転角度からガイ
ドセル外接線を生成することを特徴とする請求項9、1
0、11、12、13または14記載の2次元コード読
取装置。15. The guide cell outer tangent detection means, for each of two sides of the two-dimensional code roughly existing area, which intersects each other, sets the projection axis to the two-dimensional code corresponding to the target side. By performing projection processing by inclining by the rotation angle of, the projection intensity on the projection axis is obtained, and the passing point of the guide cell external tangent is obtained based on the projection intensity, and the rotation angle of the passing point and the two-dimensional code is obtained. 10. A guide cell external tangent is generated from the following.
The two-dimensional code reader according to 0, 11, 12, 13 or 14.
は、 前記2次元コード概略存在領域の互いに交差する2辺の
それぞれに対し、前記射影軸を前記2次元コード回転角
度決定手段で求めた、対象とされている辺に対応する前
記2次元コードの回転角度だけ傾けて射影処理を行うこ
とにより、前記射影軸上の射影強度を求め、 前記射影強度に基づいてタイミングセル外接線の通過点
を求め、 前記通過点および前記2次元コードの回転角度からタイ
ミングセル外接線を生成することを特徴とする請求項
9、10、11、12、13、14または15記載の2
次元コード読取装置。16. The timing cell outer tangent detection means, wherein the projection axis is determined by the two-dimensional code rotation angle determination means for each of two mutually intersecting sides of the two-dimensional code existence area. By performing projection processing by inclining by the rotation angle of the two-dimensional code corresponding to the side being determined, a projection intensity on the projection axis is determined, and a passing point of a timing cell external tangent is determined based on the projection intensity, 16. The method according to claim 9, wherein a tangent line external to the timing cell is generated from the passing point and the rotation angle of the two-dimensional code.
Dimension code reader.
タイミングセル外接線が複数生成されたとき、 前記タイミングセル外接線検出手段は、 生成された複数のタイミングセル外接線それぞれを仮の
タイミングセル外接線とし、 互いに交差する仮のタイミングセル外接線と、前記ガイ
ドセル外接線検出手段が検出した互いに交差するガイド
セル外接線とによって形成される四角形の各辺の長さ
が、設計値としての2次元コードの一辺の長さに最も近
いという第1の条件、および前記仮のタイミングセル外
接線の内側に存在するタイミングセル数が最も多いとい
う第2の条件のいずれか一方または両方を満たした互い
に交差する仮のタイミングセル外接線を正規のタイミン
グセル外接線として選別することを特徴とする請求項1
6記載の2次元コード読取装置。17. When a plurality of timing cell external tangents are generated by the timing cell external tangent detecting means, the timing cell external tangent detecting means replaces each of the generated timing cell external tangents with a temporary timing cell external tangent. The length of each side of the quadrangle formed by the intersecting temporary cell tangents intersecting each other and the intersecting guide cell external tangents detected by the guide cell external tangent detecting means is two-dimensional as a design value. Intersecting each other which satisfies one or both of the first condition that is closest to the length of one side of the code and the second condition that the number of timing cells existing inside the tentative timing cell outer tangent is the largest. 2. The method according to claim 1, wherein the tentative timing cell external tangent is selected as a normal timing cell external tangent.
6. The two-dimensional code reader according to 6.
イミングセル外接線と、該一方のタイミングセル外接線
から前記一方のタイミングセル外接線に対向するガイド
セル外接線側に一セル分平行移動した直線と、他方のタ
イミングセル外接線と、該他方のタイミングセル外接線
に対向するガイドセル外接線とによって囲まれた2値化
画像を前記一方のタイミングセル外接線側に射影して、
前記一方のタイミングセル外接線上の前記射影強度を求
め、 前記射影強度に基づいてしきい値を算出し、 前記しきい値を用いて前記射影強度を2値化し、仮のタ
イミングセルを求め、 前記他方のタイミングセル外接線と該他方のタイミング
セル外接線に対向するガイドセル外接線との間の距離
と、設計値としての2次元コード一辺に含まれるガイド
セル数およびタイミングセル数とから算出タイミングセ
ルを求め、 前記仮のタイミングセルと前記算出タイミングセルとを
比較して、算出タイミングセルに一対一に対応する仮の
タイミングセルを正規のタイミングセルとすることを特
徴とする請求項16または17記載の2次元コード読取
装置。18. The timing cell detecting means includes: a timing cell external tangent detected by the timing cell external tangent detecting means; and a guide cell facing the one timing cell external tangent from the one timing cell external tangent. The binarized image surrounded by the straight line translated by one cell toward the external tangent side, the other external tangent to the timing cell, and the external tangent to the guide cell opposite to the external tangent to the other timing cell, Projecting to the outer tangent side,
Calculating the projection intensity on the outer tangent to the one timing cell; calculating a threshold based on the projection intensity; binarizing the projection intensity using the threshold to obtain a temporary timing cell; Timing calculated from the distance between the external tangent of the other timing cell and the external tangent of the guide cell opposed to the external tangent of the other timing cell, and the number of guide cells and the number of timing cells included in one side of the two-dimensional code as a design value 18. A cell is obtained, and the temporary timing cell and the calculated timing cell are compared, and a temporary timing cell corresponding to the calculated timing cell on a one-to-one basis is set as a normal timing cell. 2. The two-dimensional code reader according to claim 1.
の位置を、消失したタイミングセルの仮位置とし、 前記消失タイミングセルの仮位置と同位置に近接する2
つの正規のタイミングセルを求め、 前記近接する2つの正規のタイミングセルの内分点また
は外分点が示す位置にタイミングセルを補完することを
特徴とする請求項18記載の2次元コード読取装置。19. The lost timing cell complementing means sets a position of the calculated timing cell corresponding to the lost timing cell as a temporary position of the lost timing cell, and sets the calculated timing cell to a position close to the same position as the temporary position of the lost timing cell.
19. The two-dimensional code reading apparatus according to claim 18, wherein two regular timing cells are obtained, and the timing cell is complemented at a position indicated by an internal dividing point or an external dividing point of the two adjacent regular timing cells.
ルの中心または中点を通る直線と他の前記直線との交点
を求め、 各交点を中心とした所定面積を有する各領域を前記デー
タセル領域として生成することを特徴とする請求項8、
9、10、11、12、13、14、15、16、1
7、18または19記載の2次元コード読取装置。20. The data cell area setting means obtains an intersection between a straight line passing through the center or midpoint of each timing cell detected by the timing cell detecting means and another straight line, and determines a predetermined point around each intersection. 9. An area having an area is generated as the data cell area.
9, 10, 11, 12, 13, 14, 15, 16, 1
20. The two-dimensional code reader according to 7, 18 or 19.
囲まれた領域内をラベリング処理して、ラベルを生成
し、 前記生成された全ラベルの内、1つのラベルの面積が所
定範囲内のラベルの加算平均面積を算出し、 前記生成されたラベルの内、面積が前記加算平均面積を
中心とした所定範囲のラベルを抽出し、 前記抽出されたラベルと、前記データセル領域設定手段
が設定したデータセル領域との重なりに基づいて、各デ
ータセル領域の論理状態を判定することを特徴とする請
求項8、9、10、11、12、13、14、15、1
6、17、18、19または20記載の2次元コード読
取装置。21. The data cell logical state identification means generates a label by performing labeling processing on an area surrounded by the guide cell external tangent and the timing cell external tangent, and generates a label for all the generated labels. The area of one label calculates the average area of the labels within a predetermined range, and among the generated labels, extracts the label of the predetermined range whose area is centered on the average area. The logic state of each data cell area is determined based on the overlap between the label and the data cell area set by the data cell area setting means. 13, 14, 15, 1
The two-dimensional code reader according to 6, 17, 18, 19 or 20.
またがっているとき、前記ラベルが最も広く重なってい
るデータセル領域の論理状態をオンと判定し、 前記論理状態がオフと判定されたデータセル領域に対し
て、前記単体のラベル以外のラベルが占める面積の割合
が所定値以上であり、かつ、前記データセル領域の中心
部に所定以上の面積の割合でラベルが重なるとき、前記
データセル領域の論理状態をオンと判定することを特徴
とする請求項21記載の2次元コード読取装置。22. The data cell logical state identifying means, when the generated label alone extends over a plurality of data cell areas, turns on the logical state of the data cell area where the label overlaps most widely. In the determination, the ratio of the area occupied by the label other than the single label to the data cell region in which the logical state is determined to be OFF is equal to or greater than a predetermined value, and is equal to or greater than a predetermined value in the center of the data cell region. 22. The two-dimensional code reader according to claim 21, wherein when the labels overlap with each other at a ratio of the area, the logic state of the data cell area is determined to be on.
2次元コードを読み取る2次元コード読取方法であっ
て、 多値画像を2値化すると共に、前記多値画像に含まれて
いる2次元コードの周囲にクワイエットゾーンを生成す
る2値化/クワイエットゾーン生成ステップと、 前記クワイエットゾーンに囲まれた2次元コード中のタ
イミングセルを検出するタイミングセル検出ステップ
と、 前記タイミングセル検出ステップによって検出された各
タイミングセルの中心または中点を通る直線と他の前記
直線との交点を中心とした所定領域を、前記2次元コー
ド中の各データセルの論理状態を識別するために用いら
れるデータセル領域として設定するデータセル領域設定
ステップと、 前記2次元コードの領域をラベリング処理することによ
って得られたラベルと、前記データセル領域設定ステッ
プで設定したデータセル領域との重なりに基づいて、各
データセル領域の論理状態を識別するデータセル論理状
態識別ステップと、を有することを特徴とする2次元コ
ード読取方法。23. A two-dimensional code reading method for reading a two-dimensional code from a multi-valued image including a two-dimensional code, wherein the multi-valued image is binarized and the two-dimensional code included in the multi-valued image is included. A binarizing / quiet zone generating step of generating a quiet zone around the code; a timing cell detecting step of detecting a timing cell in the two-dimensional code surrounded by the quiet zone; and a timing cell detecting step. A predetermined area centered on the intersection of a straight line passing through the center or midpoint of each timing cell and the other straight line is defined as a data cell area used to identify the logical state of each data cell in the two-dimensional code. By setting a data cell area setting step as: and performing a labeling process on the area of the two-dimensional code. And a data cell logical state identifying step of identifying a logical state of each data cell area based on an overlap between the label and the data cell area set in the data cell area setting step. Dimension code reading method.
ステップで得られた2値化画像中の、前記クワイエット
ゾーンで囲まれた領域全体を含む四角形の領域を、2次
元コード概略存在領域として定める2次元コード概略存
在領域決定ステップと、 前記2次元コード概略存在領域の互いに交差する2辺の
それぞれに対する、前記2次元コード概略存在領域中の
2次元コードの回転角度を求める2次元コード回転角度
決定ステップと、 前記2次元コード回転角度決定ステップで求められた回
転角度、および前記2次元コード中の一列に並んだガイ
ドセルに外接するガイドセル外接線の通過点に基づい
て、前記ガイドセル外接線を検出するガイドセル外接線
検出ステップと、前記2次元コード回転角度決定ステッ
プで求められた回転角度、および前記2次元コード中の
一列に並んだタイミングセルに外接するタイミングセル
外接線の通過点に基づいて、前記タイミングセル外接線
を検出するタイミングセル外接線検出ステップと、を有
し、 前記ガイドセル外接線検出ステップで検出されたガイド
セル外接線と、前記タイミングセル外接線検出ステップ
で検出されたタイミングセル外接線とによって囲まれた
領域を前記タイミングセル検出ステップにおける2次元
コードとすることを特徴とする請求項23記載の2次元
コード読取方法。24. A square area including the entire area surrounded by the quiet zone in the binary image obtained in the binary / quiet zone generating step is defined as a two-dimensional code general existence area. Determining a rotation angle of a two-dimensional code in the two-dimensional code approximate existence area with respect to each of two crossing sides of the two-dimensional code approximate existence area; Based on the rotation angle obtained in the two-dimensional code rotation angle determination step and the passing point of the guide cell external tangent circumscribing the guide cells arranged in a line in the two-dimensional code, A guide cell outer tangent detection step, a rotation angle obtained in the two-dimensional code rotation angle determination step, and A timing cell external tangent detecting step of detecting the timing cell external tangent based on a passing point of a timing cell external tangent circumscribing the timing cells arranged in a line in the two-dimensional code; An area surrounded by the guide cell outer tangent detected in the line detecting step and the timing cell outer tangent detected in the timing cell outer tangent detecting step is a two-dimensional code in the timing cell detecting step. 24. The two-dimensional code reading method according to claim 23.
部が消失しているとき、 タイミングセルが消失している位置を算出して、該算出
位置にタイミングセルを補完する消失タイミングセル補
完ステップを有することを特徴とする請求項24記載の
2次元コード読取方法。25. When a part of a timing cell in a two-dimensional code is lost, a position where the timing cell is lost is calculated, and a lost timing cell complementing step of complementing the timing cell with the calculated position is performed. 25. The two-dimensional code reading method according to claim 24, further comprising:
ステップは、 多値画像を複数の小領域に分割する多値画像分割ステッ
プと、 前記多値画像分割ステップで得られた小領域であって、
2値化の対象とされた被2値化小領域を含み、該被2値
化小領域よりも広い面積を有するしきい値算出領域を設
定するしきい値算出領域設定ステップと、 前記しきい値算出領域内の輝度値に基づいて、前記被2
値化小領域のためのしきい値を算出するしきい値算出ス
テップと、 前記しきい値と前記被2値化小領域中の各画素の輝度値
とを比較して前記被2値化小領域を2値化する小領域2
値化ステップと、を有することを特徴とする請求項2
3、24または25記載の2次元コード読取方法。26. The binarizing / quiet zone generating step includes: a multi-valued image dividing step of dividing a multi-valued image into a plurality of small regions; and a small region obtained in the multi-valued image dividing step.
A threshold value calculation region setting step of setting a threshold value calculation region including a binarized small region targeted for binarization and having a larger area than the binarized small region; Based on the luminance value in the value calculation area,
A threshold value calculating step for calculating a threshold value for the binarized small area; and comparing the threshold value with a luminance value of each pixel in the binarized small area to determine the binarized small area. Small area 2 for binarizing the area
3. A quantification step.
The method for reading a two-dimensional code according to 3, 24 or 25.
が配置されているとき、 前記2次元コード概略領域決定ステップは、 前記2値化/クワイエットゾーン生成ステップで得られ
た2値化画像に対してマスクを用いてパタンマッチング
処理を行うことにより、前記2値化画像の各座標のパタ
ンマッチング値を求めるパタンマッチング処理ステップ
を有し、 前記パタンマッチング処理ステップで得られたパタンマ
ッチング値が最大となる点をガイドセル頂点として検出
するガイドセル頂点検出ステップと、を有し、 前記ガイドセル頂点を含み、前記クワイエットゾーンに
囲まれた領域全体を含む四角形の領域を、前記2次元コ
ード概略存在領域として定めることを特徴とする請求項
24、25または26記載の2次元コード読取方法。27. When a guide cell is arranged at an inner edge of the two-dimensional code, the step of determining a general area of the two-dimensional code includes the step of determining a binarized image obtained in the binarization / quiet zone generation step. Performing a pattern matching process using a mask to obtain a pattern matching value for each coordinate of the binarized image, wherein the pattern matching value obtained in the pattern matching process step is a maximum. And a guide cell vertex detecting step of detecting a point as a guide cell vertex. A quadrangular area including the guide cell vertex and including the entire area surrounded by the quiet zone is defined as the two-dimensional code general existence area. The two-dimensional code reading method according to claim 24, 25 or 26, wherein:
ているとき、前記マスクとして略L字型のマスクを用い
ることを特徴とする請求項27記載の2次元コード読取
方法。28. The two-dimensional code reading method according to claim 27, wherein when the guide cells are arranged in a substantially L-shape, a substantially L-shaped mask is used as the mask.
プは、 前記2次元コード概略存在領域の互いに交差する2辺の
それぞれに対して、所定範囲の角度で射影軸を所定角度
ずつ回転させ、前記2次元コード概略存在領域に対する
射影処理を行うことにより、各回転角度毎に前記射影軸
上の射影強度を求める射影処理ステップと、 前記射影軸の回転角度毎に前記射影強度の最大値を求め
る最大射影強度検出ステップと、 前記最大射影強度検出ステップで得られた最大値の中で
最も値の高い最大値が得られた回転角度を求める回転角
度検出ステップと、を有し、 前記回転角度検出ステップで求められた回転角度を、前
記2次元コード概略存在領域の各辺に対する2次元コー
ドの回転角度とすることを特徴とする請求項24、2
5、26、27または28記載の2次元コード読取方
法。29. The two-dimensional code rotation angle determining step comprises: rotating a projection axis by a predetermined angle at a predetermined range angle with respect to each of two mutually intersecting sides of the two-dimensional code roughly existing area; A projection processing step of obtaining a projection intensity on the projection axis for each rotation angle by performing a projection process on the dimensional code approximate existence area; and a maximum projection for obtaining a maximum value of the projection intensity for each rotation angle of the projection axis. An intensity detection step, and a rotation angle detection step of obtaining a rotation angle at which the highest maximum value is obtained among the maximum values obtained at the maximum projection intensity detection step. 25. The rotation angle of the two-dimensional code with respect to each side of the two-dimensional code approximate existence area, wherein the obtained rotation angle is set as the rotation angle of the two-dimensional code.
The two-dimensional code reading method described in 5, 26, 27 or 28.
は、 前記2次元コード概略存在領域の互いに交差する2辺の
それぞれに対し、前記射影軸を、前記2次元コード回転
角度決定ステップで求められた対象とされている辺に対
応する前記2次元コードの回転角度だけ傾けて射影処理
を行うことにより、前記射影軸上の射影強度を求める射
影処理ステップと、 前記射影処理ステップで求められた射影強度に基づいて
ガイドセル外接線の通過点を求めるガイドセル外接線通
過点検出ステップと、 前記通過点および前記2次元コードの回転角度からガイ
ドセル外接線を生成するガイドセル外接線生成ステップ
と、 を有することを特徴とする請求項24、25、26、2
7、28または29記載の2次元コード読取方法。30. The guide cell outer tangent detection step includes: setting the projection axis for each of two mutually intersecting sides of the two-dimensional code approximate existence region in an object obtained in the two-dimensional code rotation angle determination step. By performing projection processing by inclining by the rotation angle of the two-dimensional code corresponding to the side that has been set, a projection processing step of obtaining a projection intensity on the projection axis, and a projection intensity obtained in the projection processing step A guide cell outer tangent passing point detecting step for obtaining a passing point of the guide cell outer tangent based on the basis of: a guide cell outer tangent generating step of generating a guide cell outer tangent from the passing point and the rotation angle of the two-dimensional code. 24. The method according to claim 24, 25, 26, or 2,
The two-dimensional code reading method according to 7, 28 or 29.
プは、 前記2次元コード概略存在領域の互いに交差する2辺の
それぞれに対し、前記射影軸を前記2次元コード回転角
度決定ステップで求められた、対象とされている辺に対
応する前記2次元コードの回転角度だけ傾けて射影処理
を行うことにより、前記射影軸上の射影強度を求める射
影処理ステップと、 前記射影処理ステップで得られた射影強度に基づいてタ
イミングセル外接線の通過点を求めるタイミングセル外
接線通過点検出ステップと、 前記通過点および前記2次元コードの回転角度からタイ
ミングセル外接線を生成するタイミングセル外接線生成
ステップと、を有することを特徴とする請求項24、2
5、26、27、28、29または30記載の2次元コ
ード読取方法。31. The timing cell outer tangent detection step includes: determining a projection axis for each of two mutually intersecting sides of the two-dimensional code approximate existence area in the two-dimensional code rotation angle determining step; By performing projection processing by inclining by the rotation angle of the two-dimensional code corresponding to the side considered, a projection processing step of obtaining a projection intensity on the projection axis, and a projection intensity obtained in the projection processing step A timing cell outer tangent passing point detecting step of obtaining a timing cell outer tangent passing point based on the timing cell outer tangent passing point detecting step; 24. The method according to claim 24, wherein
The method for reading a two-dimensional code according to 5, 26, 27, 28, 29 or 30.
プでタイミングセル外接線が複数生成されたとき、 生成された複数のタイミングセル外接線それぞれを仮の
タイミングセル外接線とし、 互いに交差する仮のタイミングセル外接線と、前記ガイ
ドセル外接線検出ステップで検出された互いに交差する
ガイドセル外接線とによって形成される四角形の各辺の
長さが、設計値としての2次元コードの一辺の長さに最
も近いという第1の条件、および前記仮のタイミングセ
ル外接線の内側に存在するタイミングセル数が最も多い
という第2の条件のいずれか一方または両方を満たした
互いに交差する仮のタイミングセル外接線を正規のタイ
ミングセル外接線として選別する正規タイミングセル外
接線選別ステップを有することを特徴とする請求項31
記載の2次元コード読取方法。32. When a plurality of timing cell external tangents are generated in the timing cell external tangent generation step, each of the generated plurality of timing cell external tangents is used as a temporary timing cell external tangent, and The length of each side of the quadrangle formed by the outer tangent line and the guide cell outer tangent line that intersects each other detected in the guide cell outer tangent detection step is the length of one side of the two-dimensional code as the design value. The temporary timing cell external tangents that intersect each other satisfying one or both of the first condition of closeness and the second condition that the number of timing cells existing inside the temporary timing cell external tangent is the largest. Claims: A method comprising the step of selecting a normal timing cell external tangent to select as a normal timing cell external tangent. 31
The two-dimensional code reading method described in the above.
方のタイミングセル外接線と、該一方のタイミングセル
外接線から前記一方のタイミングセル外接線に対向する
ガイドセル外接線側に一セル分平行移動した直線と、他
方のタイミングセル外接線と、該他方のタイミングセル
外接線に対向するガイドセル外接線とによって囲まれた
2値化画像を前記一方のタイミングセル外接線側に射影
して、前記一方のタイミングセル外接線上の前記射影強
度を求める射影処理ステップと、 前記射影処理ステップで求められた射影強度に基づいて
しきい値を算出するしきい値算出ステップと、 前記しきい値を用いて前記射影強度を2値化し、仮のタ
イミングセルを求める仮タイミングセル検出ステップ
と、 前記他方のタイミングセル外接線と該他方のタイミング
セル外接線に対向するガイドセル外接との間の距離と、
設計値としての2次元コード一辺に含まれるガイドセル
数およびタイミングセル数とから算出タイミングセルを
求める算出タイミングセル導出ステップと、 前記仮のタイミングセルと前記算出タイミングセルとを
比較して、算出タイミングセルに一対一に対応する仮の
タイミングセルを正規のタイミングセルとする正規タイ
ミングセル設定ステップと、を有することを特徴とする
請求項31または32記載の2次元コード読取方法。33. The timing cell detecting step includes: a timing cell outer tangent detected in the timing cell outer tangent detecting step; and a guide facing the one timing cell outer tangent from the one timing cell outer tangent. The binarized image surrounded by a straight line translated by one cell toward the cell outer tangent, the other timing cell outer tangent, and the guide cell outer tangent facing the other timing cell outer tangent is the one timing. A projection processing step of projecting onto the cell tangent side to obtain the projection intensity on the one timing cell tangent, and a threshold value calculation calculating a threshold value based on the projection intensity obtained in the projection processing step A temporary timing cell detecting step of binarizing the projection intensity using the threshold value and obtaining a temporary timing cell. A distance between the other timing cell outer tangent and the guide cell outer tangent facing the other timing cell outer tangent;
A calculation timing cell deriving step of obtaining a calculation timing cell from the number of guide cells and the number of timing cells included in one side of the two-dimensional code as a design value; and comparing the provisional timing cell and the calculation timing cell to calculate a calculation timing. 33. The two-dimensional code reading method according to claim 31, further comprising a normal timing cell setting step of setting a temporary timing cell corresponding to the cell one-to-one as a normal timing cell.
は、 消失したタイミングセルに対応する算出タイミングセル
の位置を、消失したタイミングセルの仮位置とする消失
タイミングセル仮位置決定ステップと、 前記消失タイミングセルの仮位置と同位置に近接する2
つの正規のタイミングセルを求める近接タイミングセル
決定ステップと、 前記近接する2つの正規のタイミングセルの内分点また
は外分点が示す位置にタイミングセルを補完するタイミ
ングセル補完ステップと、を有することを特徴とする請
求項33記載の2次元コード読取方法。34. The erasure timing cell complementing step, wherein a erasure timing cell temporary position determination step of setting a position of a calculated timing cell corresponding to the lost timing cell as a tentative position of the lost timing cell; 2 near the same position as the temporary position
A timing cell determining step of determining two regular timing cells; and a timing cell complementing step of complementing a timing cell at a position indicated by an internal dividing point or an external dividing point of the two adjacent normal timing cells. The two-dimensional code reading method according to claim 33, characterized in that:
タイミングセルの中心または中点を通る直線と他の前記
直線との交点を求める交点設定ステップと、 前記交点設定ステップによって求められた各交点を中心
とした所定面積を有する各領域を前記データセル領域と
して生成するデータセル領域生成ステップと、を有する
ことを特徴とする請求項23、24、25、26、2
7、28、29、30、31、32、33または34記
載の2次元コード読取方法。35. The data cell area setting step, wherein: an intersection setting step of obtaining an intersection of a straight line passing through a center or a midpoint of each timing cell detected by the timing cell detecting step and another straight line; 27. A data cell region generating step of generating, as the data cell region, each region having a predetermined area centered on each intersection obtained by the setting step. 2
The two-dimensional code reading method according to 7, 28, 29, 30, 31, 32, 33, or 34.
は、 前記ガイドセル外接線と前記タイミングセル外接線とで
囲まれた領域内をラベリング処理して、ラベルを生成す
るラベリング処理ステップと、 前記ラベリング処理ステップで生成された全ラベルの
内、1つのラベルの面積が所定範囲内のラベルの加算平
均面積を算出する加算平均面積算出ステップと、 前記ラベリング処理ステップで生成されたラベルの内、
面積が前記加算平均面積を中心とした所定範囲のラベル
を抽出するラベル抽出ステップと、 前記ラベル抽出ステップによって抽出されたラベルと、
前記データセル領域設定ステップで設定されたデータセ
ル領域との重なりに基づいて、各データセル領域の論理
状態を判定するデータセル論理状態判定ステップと、を
有することを特徴とする請求項23、24、25、2
6、27、28、29、30、31、32、33、34
または35記載の2次元コード読取方法。36. The data cell logical state identification step includes: a labeling processing step of generating a label by performing a labeling processing on an area surrounded by the guide cell external tangent and the timing cell external tangent; and the labeling processing. Of all the labels generated in the step, the area of one label is an averaged area calculation step of calculating the averaged area of the labels within a predetermined range, of the labels generated in the labeling processing step,
A label extraction step of extracting a label in a predetermined range centered on the averaging area, and a label extracted by the label extraction step;
25. A data cell logical state determining step of determining a logical state of each data cell area based on an overlap with the data cell area set in the data cell area setting step. , 25, 2
6, 27, 28, 29, 30, 31, 32, 33, 34
35. The two-dimensional code reading method according to 35.
は、 前記ラベリング処理ステップで生成されたラベルが単体
で複数のデータセル領域にまたがっているとき、前記ラ
ベルが最も広く重なっているデータセル領域の論理状態
をオンと判定する第1のデータセル論理状態判定ステッ
プと、 前記第1のデータセル論理状態判定ステップで論理状態
がオフと判定されたデータセル領域に対して、前記単体
のラベル以外のラベルが占める面積の割合が所定値以上
であり、かつ、前記データセル領域の中心部に所定以上
の面積の割合でラベルが重なるとき、前記データセル領
域の論理状態をオンと判定する第2のデータセル論理状
態判定ステップと、を有することを特徴とする請求項3
6記載の2次元コード読取方法。37. The data cell logic state determination step, wherein when the label generated in the labeling processing step extends over a plurality of data cell areas by itself, the logic of the data cell area where the label overlaps the most widely. A first data cell logical state determining step of determining the state to be on, and a label other than the single label for a data cell region whose logical state has been determined to be off in the first data cell logical state determining step. When the ratio of the area occupied by is greater than or equal to a predetermined value, and the label overlaps the center of the data cell region by the ratio of the predetermined area or more, the second data for determining that the logic state of the data cell region is ON 4. A cell logic state determining step.
6. The two-dimensional code reading method according to 6.
7、28、29、30、31、32、33、34、3
5、36または37に記載の2次元コード読取方法をコ
ンピュータに実行させるためのプログラム。38. The method according to claim 23,24,25,26,2.
7, 28, 29, 30, 31, 32, 33, 34, 3
A program for causing a computer to execute the two-dimensional code reading method described in 5, 36, or 37.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001107564A JP2002329163A (en) | 2001-02-27 | 2001-04-05 | Device method and program for multi-valued image binarization, and device, method and program for reading two-dimensional code |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001-52870 | 2001-02-27 | ||
JP2001052870 | 2001-02-27 | ||
JP2001107564A JP2002329163A (en) | 2001-02-27 | 2001-04-05 | Device method and program for multi-valued image binarization, and device, method and program for reading two-dimensional code |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002329163A true JP2002329163A (en) | 2002-11-15 |
Family
ID=26610215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001107564A Pending JP2002329163A (en) | 2001-02-27 | 2001-04-05 | Device method and program for multi-valued image binarization, and device, method and program for reading two-dimensional code |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002329163A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009525524A (en) * | 2006-02-02 | 2009-07-09 | ホーホシューレ・ダルムシュタット・ユニバーシティー・オブ・アプライド・サイエンシズ | How to decode information |
JP2013148980A (en) * | 2012-01-17 | 2013-08-01 | Denso Wave Inc | Two-dimensional coder reading device |
US8746572B2 (en) | 2011-03-17 | 2014-06-10 | Fujitsu Limited | Image processing apparatus and image processing method |
US8760722B2 (en) | 2010-06-25 | 2014-06-24 | Fujitsu Limited | Apparatus and method for processing images |
WO2020179291A1 (en) | 2019-03-01 | 2020-09-10 | オムロン株式会社 | Symbol border identification device, symbol border identification method, and image processing program |
CN112069851A (en) * | 2020-09-07 | 2020-12-11 | 凌云光技术股份有限公司 | Method and device for acquiring DM code area |
-
2001
- 2001-04-05 JP JP2001107564A patent/JP2002329163A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009525524A (en) * | 2006-02-02 | 2009-07-09 | ホーホシューレ・ダルムシュタット・ユニバーシティー・オブ・アプライド・サイエンシズ | How to decode information |
US8760722B2 (en) | 2010-06-25 | 2014-06-24 | Fujitsu Limited | Apparatus and method for processing images |
US8746572B2 (en) | 2011-03-17 | 2014-06-10 | Fujitsu Limited | Image processing apparatus and image processing method |
JP2013148980A (en) * | 2012-01-17 | 2013-08-01 | Denso Wave Inc | Two-dimensional coder reading device |
WO2020179291A1 (en) | 2019-03-01 | 2020-09-10 | オムロン株式会社 | Symbol border identification device, symbol border identification method, and image processing program |
CN112069851A (en) * | 2020-09-07 | 2020-12-11 | 凌云光技术股份有限公司 | Method and device for acquiring DM code area |
CN112069851B (en) * | 2020-09-07 | 2023-12-22 | 凌云光技术股份有限公司 | DM code area acquisition method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6360948B1 (en) | Method of reading two-dimensional code and storage medium thereof | |
EP0672994B1 (en) | Method and apparatus for reading an optically two-dimensional code | |
US7438232B2 (en) | Two-dimensional code and information processing method | |
US6742708B2 (en) | Fiducial mark patterns for graphical bar codes | |
KR20050026955A (en) | Method for reading a symbol having encoded information | |
US20060007452A1 (en) | Coded target and photogrammetry method using such targets | |
EP1562143B1 (en) | Image processing apparatus and control method and program therefor | |
JP2002133426A (en) | Ruled line extracting device for extracting ruled line from multiple image | |
EP0689152A2 (en) | Two dimensional management pattern | |
US7529421B2 (en) | Optical proximity correction in raster scan printing based on corner matching templates | |
JP2002329163A (en) | Device method and program for multi-valued image binarization, and device, method and program for reading two-dimensional code | |
US20100201114A1 (en) | Page mark-up using printed dot barcodes | |
CN110705322A (en) | Two-dimensional code positioning method for AGV navigation | |
US6963664B2 (en) | Segmentation of digital images | |
AU2006252223B2 (en) | Tamper Detection of Documents using Encoded Dots | |
JP2002199206A (en) | Method and device for imbedding and extracting data for document, and medium | |
US5920649A (en) | Braille recognition system with ternary-coding | |
JP3416058B2 (en) | Character extraction method of gray image and recording medium recording the program | |
CN116484899A (en) | Visual identification code for indoor positioning of mobile robot and positioning method | |
US6408106B1 (en) | Information reading system | |
KR100606404B1 (en) | Method and apparatus for detecting color code image | |
US11354526B1 (en) | System and method for locating and decoding unreadable data matrices | |
US4845766A (en) | Simultaneous projection feature analysis apparatus | |
EP4078451B1 (en) | Method and device for reading a two-dimensional encoded pattern applied on a non-uniform background | |
JP4578000B2 (en) | Pattern recognition processing apparatus, method, and information storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060425 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071129 |