(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-09
(45)【発行日】2024-05-17
(54)【発明の名称】二次元コード読取装置
(51)【国際特許分類】
G06K 7/10 20060101AFI20240510BHJP
G06K 7/14 20060101ALI20240510BHJP
G06T 5/73 20240101ALI20240510BHJP
【FI】
G06K7/10 388
G06K7/14 017
G06K7/10 372
G06T5/73
(21)【出願番号】P 2020110337
(22)【出願日】2020-06-26
【審査請求日】2023-02-14
(73)【特許権者】
【識別番号】501428545
【氏名又は名称】株式会社デンソーウェーブ
(74)【代理人】
【識別番号】100095795
【氏名又は名称】田下 明人
(74)【代理人】
【識別番号】100143454
【氏名又は名称】立石 克彦
(72)【発明者】
【氏名】小澤 諒
【審査官】田中 啓介
(56)【参考文献】
【文献】特開2010-272007(JP,A)
【文献】特開2012-221372(JP,A)
【文献】特開2005-196543(JP,A)
【文献】特開2002-230477(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K7/00-7/14
G06K19/00-19/18
G06T1/00-1/40
G06T3/00-5/94
(57)【特許請求の範囲】
【請求項1】
所定の方向に移動する移動体に付された二次元コードを読み取る二次元コード読取装置であって、
前記移動体には、所定の形状の識別表示が付され、
前記二次元コード及び前記識別表示を撮像する撮像部と、
前記撮像部により撮像された前記識別表示の撮像状態に基づいて、当該識別表示とともに撮像された前記二次元コードの前記所定の方向のブレ量を算出するブレ量算出部と、
前記ブレ量算出部により算出された前記ブレ量に基づいて、ブレ量を低減させるように前記二次元コードの画像を補正する画像補正部と、
前記画像補正部により補正された補正画像に対して前記二次元コードをデコードするためのデコード処理を行うデコード部と、
を備え、
前記識別表示は、各バーの長手方向が前記所定の方向に沿うように配置されて、前記移動体に付された前記二次元コードのデコードに関してブレの影響を抑制することを目的とする
情報が記録されるバーコードであることを特徴とする二次元コード読取装置。
【請求項2】
前記移動体は、所定の方向に一定速度で進行する移動体であり、
前記撮像部は、前記移動体とは異なる位置に固定されることを特徴とする請求項1に記載の二次元コード読取装置。
【請求項3】
前記識別表示は、前記二次元コードに対して、前記所定の方向に直交する方向へずれるように配置されることを特徴とする請求項1又は2に記載の二次元コード読取装置。
【請求項4】
前記バーコードには、当該バーコードのサイズに関する情報が記録されることを特徴とする請求項1~3のいずれか一項に記載の二次元コード読取装置。
【請求項5】
前記バーコードには、当該バーコードに対する前記二次元コードの相対位置に関する情報が記録されることを特徴とする請求項1~4のいずれか一項に記載の二次元コード読取装置。
【請求項6】
前記移動体には、前記バーコードに対して所定の隙間を介して前記所定の方向へズレるように補助マーカが付され、
前記補助マーカは、前記バーコードの前記所定の方向の長さを短くした形状にて構成されることを特徴とする請求項1~5のいずれか一項に記載の二次元コード読取装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動体に付された二次元コードを光学的に読み取る二次元コード読取装置に関するものである。
【背景技術】
【0002】
QRコード(登録商標)などの二次元コードを光学的に読み取る読取装置では、二次元コードとの位置関係が一定とならないために、その二次元コードがブレるように撮像されてしまう場合がある。このようにブレて撮像された二次元コードをデコードしようとすると、二次元コードを構成する明色系セルと暗色系セルとの境界が曖昧になるために、デコード処理が失敗してしまうという問題がある。
【0003】
このように二次元コードがブレて撮像された撮像画像からその二次元コードを読み取る読取装置として、例えば、下記特許文献1に開示される光学情報読取装置が知られている。この光学情報読取装置では、二次元コードを記録した読取対象の画像が取り込まれた際に、手ブレが生じていると推測されると、手ブレの補正の処理が実行される。この手ブレの補正の処理では、受光センサの視野の中心部の垂直方向及び水平方向の1ラインずつ予備補正領域が設定され、予備補正領域の各画素における明暗値が所定の補正量に応じて補正される。この補正後の画像データに対する画像処理にて上記所定の補正量が適正であるかを判定し、適正であると判定したときに該当する補正量を適用して画像データ全体に対する補正を行い、デコード処理を行なう。これにより、ブレ補正に要する時間が短縮化されて、読取速度を高めることができる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、所定の方向に移動している移動体に付された二次元コードを撮像して読み取る場合にも、読取装置と二次元コードとの位置関係が一定でないために、二次元コードがブレるように撮像されてしまう場合がある。上記特許文献1の補正処理は、携帯型の読取装置向けに開発された手ブレの影響を抑制するための技術であり、受光センサの視野の中心部に二次元コードが撮影されなければ適切に補正できないという問題がある。
【0006】
ところで、所定の方向に移動している移動体に対して、各バーの長手方向がその移動方向に沿うように配置されるバーコードを表示した場合には、バーコードがブレるように撮像されても、デコード処理に関してブレの影響をなくすことができる。しかしながら、バーコードは、記録可能な情報量が二次元コードに対して少なくなるため、記録すべき情報量が多くなる場合には採用できないという問題がある。
【0007】
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、移動体に付された二次元コードのデコードに関してブレの影響を抑制し得る構成を提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するため、特許請求の範囲の請求項1に記載の発明は、
所定の方向(F)に移動する移動体(1)に付された二次元コード(30)を読み取る二次元コード読取装置(20)であって、
前記移動体には、所定の形状の識別表示(40)が付され、
前記二次元コード及び前記識別表示を撮像する撮像部(23)と、
前記撮像部により撮像された前記識別表示の撮像状態に基づいて、当該識別表示とともに撮像された前記二次元コードの前記所定の方向のブレ量を算出するブレ量算出部(21)と、
前記ブレ量算出部により算出された前記ブレ量に基づいて、ブレ量を低減させるように前記二次元コードの画像を補正する画像補正部(21)と、
前記画像補正部により補正された補正画像に対して前記二次元コードをデコードするためのデコード処理を行うデコード部(21)と、
を備え、
前記識別表示は、各バーの長手方向が前記所定の方向に沿うように配置されて、前記移動体に付された前記二次元コードのデコードに関してブレの影響を抑制することを目的とする情報が記録されるバーコードであることを特徴とする。
なお、上記各括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示すものである。
【発明の効果】
【0009】
請求項1の発明では、所定の方向に移動する移動体には、二次元コードと所定の形状の識別表示とが付される。そして、撮像部により撮像された識別表示の撮像状態に基づいて、当該識別表示とともに撮像された二次元コードの上記所定の方向のブレ量がブレ量算出部により算出されると、この算出されたブレ量に基づいて、ブレ量を低減させるように二次元コードの画像が画像補正部により補正され、この補正画像に対して二次元コードをデコードするためのデコード処理がデコード部により行われる。
【0010】
移動体に付された所定の形状の識別表示がブレて撮像される場合、その撮像画像での識別表示は、ブレのために上記所定の方向の長さ(以下、単に、移動方向長さともいう)がブレていないときの長さよりも長くなる一方で、上記所定の方向に直交する方向の長さ(以下、単に、直交方向長さともいう)は変わらない。このため、識別表示の形状が既知であれば、識別表示の撮像状態、具体的には、ブレた撮像画像での識別表示の移動方向長さと直交方向長さとの比に基づいて、識別表示の上記所定の方向のブレ量を算出することができる。この識別表示の所定の方向のブレ量は、当該識別表示とともに撮像された二次元コードの所定の方向のブレ量に一致するため、ブレ量を低減させるように二次元コードの画像を補正することができる。これにより、ブレ量を低減させるように補正された二次元コードの画像に対してデコード処理を行えるので、移動体に付された二次元コードのデコードに関してブレの影響を抑制することができる。
【0011】
請求項2の発明のように、所定の方向に一定速度で進行する移動体に付された二次元コードであり、撮像部が移動体とは異なる位置に固定されても、ブレ量を低減させるように補正された二次元コードの画像に対してデコード処理を行えるので、鉄道車両に付された二次元コードのデコードに関してブレの影響を抑制することができる。
【0012】
請求項3の発明では、識別表示は、二次元コードに対して、所定の方向に直交する方向へずれるように配置される。これにより、撮像画像において、識別表示と二次元コードとがブレて重なることを防止することができる。
【0013】
請求項1の発明では、識別表示は、各バーの長手方向が上記所定の方向に沿うように配置されて、移動体に付された二次元コードのデコードに関してブレの影響を抑制することを目的とする情報が記録されるバーコードである。これにより、移動体に付されたバーコードがブレて撮像される場合、その撮像画像でのバーコードは、バーの長手方向に長くなる一方で、直交方向長さは変わらないため、そのブレがバーコードのデコード処理に影響を及ぼすことはない。このため、バーコードの形状が既知であれば当該バーコードの所定の方向のブレ量を算出できるだけでなく、そのバーコードに記録される情報と二次元コードに記録される情報とにより二次元コード読取装置に読み取らせる情報量を増加させることができる。
【0014】
請求項4の発明では、バーコードには、当該バーコードのサイズに関する情報が記録されるため、二次元コード読取装置に対して二次元コードとともに移動体に付されるバーコードのサイズに関する情報を予め取得させる必要をなくすことができる。
【0015】
請求項5の発明では、バーコードには、当該バーコードに対する二次元コードの相対位置に関する情報が記録される。これにより、ブレた撮像画像での二次元コードの位置を容易に把握できるので、ブレ量を低減させるための画像補正処理やデコード処理を限定した範囲で行うことができ、画像補正処理及びデコード処理に要する処理負荷の軽減や処理時間の短縮を図ることができる。
【0016】
請求項6の発明では、移動体には、バーコードに対して所定の隙間を介して上記所定の方向へズレるように補助マーカが付され、この補助マーカは、バーコードの上記所定の方向の長さを短くした形状にて構成される。
【0017】
これにより、バーコードがブレて撮像される際には補助マーカもブレて撮像され、バーコードのブレ範囲と補助マーカのブレ範囲とが重なると、黒バーに関してバーコードから補助マーカにかけて、明度が段階的に変化する。具体的には、バーコードの明度が徐々に高くなる範囲(黒が徐々に白に変化する範囲)と補助マーカの明度が徐々に低くなる範囲(白が徐々に黒に変化する範囲)とが重なる第1段階と、バーコードの明度が徐々に高くなる範囲と補助マーカの明度が変化しない範囲とが重なる第2段階と、バーコードの明度が変化しない範囲(ブレても白となる範囲)と補助マーカの明度が変化しない範囲とが重なる第3段階と、に変化する。そうすると、第2段階と第3段階との境界を、バーコードの明度が徐々に高くなる範囲(黒が徐々に白に変化する範囲)とバーコードの明度が変化しない範囲(ブレても白となる範囲)との境界、すなわち、バーコードのブレ範囲の境界とみなすことができる。この第2段階と第3段階との境界は、明度が低くなる(黒に近づく)ことから、ノイズ等の影響を受け難くなるので、当該境界の位置、すなわち、バーコードのブレ量を正確に算出することができる。
【図面の簡単な説明】
【0020】
【
図1】第1実施形態に係る読取装置が採用されたホームを説明する説明図である。
【
図2】
図1の読取装置と鉄道車両に付された二次元コード及びバーコードとの位置関係を説明する概略斜視図である。
【
図3】
図2の二次元コード及びバーコードとホームドアとの位置関係を説明する概略正面図である。
【
図4】読取装置の電気的構成を概略的に例示するブロック図である。
【
図5】
図5(A)は、ブレが生じていないバーコードの撮像画像を示す説明図であり、
図5(B)は、所定の方向にブレが生じたバーコードの撮像画像を示す説明図である。
【
図6】第1実施形態において制御部にてなされる読取処理の流れを示すフローチャートである。
【
図7】二次元コード及びバーコードがブレて撮像された撮像画像を示す説明図である。
【
図8】ブレを低減させるように
図7の撮像画像を補正した補正画像を示す説明図である。
【
図9】バーコードを構成する1つの黒バーがブレて撮像される場合の画素値の変化を説明する説明図である。
【
図10】第2実施形態に係る読取装置によって撮像されるバーコード及び補助マーカを説明する説明図である。
【
図11】
図11(A)は2つの補助マーカにおいて1つの黒バーに関する画素値の変化を説明する説明図であり、
図11(B)はバーコードにおいて1つの黒バーに関する画素値の変化を説明する説明図であり、
図11(C)は、
図11(A)と
図11(B)とを重ね合わせた状態での画素値の変化を説明する説明図である。
【
図12】バーコードが台形状に歪んで撮像された状態を説明する説明図である。
【
図13】第3実施形態に係る読取装置によって撮像される二次元コード及び2つのバーコードを説明する説明図である。
【
図14】台形状に歪んで撮像された2つのバーコードのそれぞれの直交方向の中心線の傾き状態を説明する説明図である。
【
図15】第3実施形態において制御部にてなされる読取処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0021】
[第1実施形態]
以下、本発明の二次元コード読取装置を具現化した第1実施形態について、図面を参照して説明する。
図1及び
図2に示す二次元コード読取装置(以下、単に、読取装置20ともいう)は、所定の方向に移動する移動体に付された二次元コード30を光学的に読み取る読取装置として構成されている。本実施形態では、所定の方向(以下、移動方向Fともいう)にほぼ一定速度で進行する移動体として、鉄道車両1が採用されており、読取装置20は、鉄道車両1が通過又は停車するホーム10の天井11に配置されている。
【0022】
図2及び
図3に示すように、二次元コード30は、所定の形状の識別表示として機能するバーコード40とともに鉄道車両1の車両ドア2近傍の車体3に付されている。二次元コード30は、例えば、QRコードであって、鉄道車両1に関する情報(車両番号や運行会社等)が記録されるように生成され、外縁を構成する一辺にて移動方向Fに沿うように配置される。
【0023】
また、バーコード40は、
図3に示すように、二次元コード30に対して移動方向Fに直交する上方向へずれて、外縁を構成する一辺にて上記所定の方向に沿うように、すなわち、各バーの長手方向が移動方向Fに沿うように配置されている。このバーコード40は、縦横比等の当該バーコード40のサイズに関する情報や鉄道車両1に関する情報等が記録されるように生成される。特に、二次元コード30及びバーコード40は、ホーム10に設置されるホームドア12によって隠されないように、車両ドア2近傍となる車体3の上部に配置されている。
【0024】
読取装置20は、撮像した二次元コード30から読み取った情報を上位端末等に出力する据え置き型の装置であって、移動方向Fに移動している二次元コード30及びバーコード40が撮像視野に入るように、ホーム10の天井11に配置されている。読取装置20は、
図4に示すように、CPU等からなる制御部21、ROM,RAM、不揮発性メモリなどからなる記憶部22、受光センサ(例えば、C-MOSエリアセンサ、CCDエリアセンサ等)を備えたカメラとして構成される撮像部23、上位端末等の外部機器と通信するための通信インタフェースとして構成される通信部24などを備えている。制御部21は、撮像部23にて二次元コード30及びバーコード40を撮像した撮像画像に対して、後述する読取処理を行うことで、二次元コード30等に記録した情報を読み取って上位端末等に出力するように機能する。なお、読取装置20は、撮像部23等が、移動体とは異なる位置に固定される撮像部として、制御部21等を収容した本体部から別体として構成されて、その別体とされる撮像部23等がホーム10の天井11に配置されるように構成されてもよい。
【0025】
次に、二次元コード30を読み取る際に、制御部21にてなされる読取処理について、図面を参照して詳述する。
所定の方向に移動している移動体に付された二次元コードを撮像して読み取る場合、読取装置と二次元コードとの位置関係が一定でないために、二次元コードがブレるように撮像されてしまう場合がある。このようにブレて撮像された二次元コードをデコードしようとすると、二次元コードを構成する明色系セルと暗色系セルとの境界が曖昧になるために、デコード処理が失敗してしまうという問題がある。
【0026】
そこで、本実施形態では、読取対象となる二次元コード30の近傍に付されたバーコード40を利用して、制御部21にてなされる読取処理において、二次元コード30とともに撮像されるバーコード40のブレ量を低減させるように画像補正することで、ブレ量が抑制された二次元コード30の画像を生成する。
【0027】
所定の方向に移動する移動体に付された所定の形状の識別表示がブレて撮像される場合、その撮像画像での識別表示は、ブレのために上記所定の方向の長さ(移動方向長さ)がブレていないときの長さよりも長くなる一方で、上記所定の方向に直交する方向の長さ(直交方向長さ)は変わらない。
【0028】
そうすると、ブレがない場合に、
図5(A)に示すように、移動方向長さW1、直交方向長さH1として撮像されるバーコード40は、上記所定の方向にブレが生じるブレ画像では、
図5(B)に示すように、移動方向長さがW2として長くなり、直交方向長さがH2として変わらないように撮像される。このため、ブレがない場合の移動方向長さW1と直交方向長さH1との比率等が既知であれば、ブレ画像から求められる移動方向長さW2と直交方向長さH2との比に基づいて、バーコード40の上記所定の方向のブレ量を算出することができる。
【0029】
例えば、移動方向長さW1と直交方向長さH1との比率(縦横比)が1:4である場合に、ブレ画像にて移動方向長さW2に相当する画素が「34」、直交方向長さH2に相当する画素が「120」として求められると、ブレがない場合の移動方向長さW1に相当する画素が「30」となるため、4画素分のブレ量が生じていることがわかる。
【0030】
このように算出されたブレ量は、バーコード40とともに撮像された二次元コード30の上記所定の方向のブレ量に一致するため、ブレ量を低減させるように二次元コード30の画像を補正することができる。
【0031】
以下、ホーム10を通過等する鉄道車両1に付された二次元コード30を読み取る際に、制御部21にてなされる読取処理について、
図6に示すフローチャートを参照して詳述する。
【0032】
制御部21にて読取処理が開始されると、まず、
図6のステップS101に示す撮像処理がなされて、撮像部23による二次元コードの撮像が可能な状態になった後、ステップS103に示す二次元コードのデコード処理がなされる。このデコード処理が成功していない場合には(S105でNo)、ステップS107に示すバーコードのデコード処理がなされ、このデコード処理も成功しない場合には(S109でNo)、上記ステップS101からの処理が繰り返される。
【0033】
そして、鉄道車両1がホーム10に停車等したために、ブレていない状態で二次元コード30が撮像されたことから、上述した二次元コードのデコード処理にて、二次元コード30のデコードが成功すると(S105でYes)、ステップS119に示す出力処理にて、そのデコード結果等が通信部24を介して上位端末等に出力されて、本読取処理が終了する。
【0034】
一方、鉄道車両1がホーム10を通過することで、二次元コード30及びバーコード40が、移動方向Fにてブレた状態で撮像されたために、二次元コード30のデコード処理が失敗しても(S105でNo)、移動方向Fのブレに影響されないバーコード40のデコード処理が成功すると(S109でYes)、ステップS111に示すブレ量算出処理がなされる。この処理では、デコードに成功したバーコード40の撮像画像から求められるバーコード40の移動方向長さ(
図5(B)のW2参照)と直交方向長さ(
図5(B)のH2参照)と、バーコード40から読み取った縦横比とから、上述のようにバーコード40のブレ量が算出される。なお、上記ブレ量算出処理を行う制御部21は、「ブレ量算出部」の一例に相当し得る。
【0035】
続いて、ステップS113に示す画像補正処理がなされ、算出されたブレ量に基づいて、バーコード40及び二次元コード30のブレ量を低減させるように、ステップS101にて撮像された画像が補正される。この画像補正方法は、公知の補正方法であって、例えば、算出されたブレ量に基づくブレ関数を計算し、その逆ブレ関数を撮像画像に適用することで、ブレ量を低減させるように撮像画像を補正することができる。
【0036】
例えば、
図7に示す撮像画像D1のように、二次元コード30及びバーコード40がブレて撮像される場合でも、
図7の撮像画像D1から算出されたバーコード40のブレ量に基づいて、その
図7の撮像画像D1を補正することで、
図8に示す撮像画像D2のように、ブレの影響が抑制された二次元コード30及びバーコード40の画像を取得することができる。なお、上記画像補正処理を行う制御部21は、「画像補正部」の一例に相当し得る。
【0037】
上述のように二次元コード30等のブレ量を低減させるように撮像画像が補正されると、ステップS115に示す二次元コードのデコード処理がなされ、上記補正画像に対して二次元コード30を読み取るためのデコード処理がなされる。なお、上記二次元コードのデコード処理を行う制御部21は、「デコード部」の一例に相当し得る。
【0038】
ここで、
図8に示すように、デコード可能に二次元コード30の画像が補正されていることから、二次元コード30のデコードが成功すると(S117でYes)、ステップS119に示す出力処理にて、そのデコード結果等が通信部24を介して上位端末等に出力されて、本読取処理が終了する。一方、二次元コード30のデコードが失敗すると(S117でNo)、上記ステップS101からの処理が繰り返される。
【0039】
以上説明したように、本実施形態に係る読取装置20では、所定の方向に移動する移動体となる鉄道車両1には、二次元コード30と所定の形状の識別表示としてバーコード40とが付される。そして、撮像部23により撮像されたバーコード40の撮像状態に基づいて、当該バーコード40とともに撮像された二次元コード30の上記所定の方向のブレ量が算出されると、この算出されたブレ量に基づいて、ブレ量を低減させるように二次元コード30の画像が補正され、この補正画像に対して二次元コード30をデコードするためのデコード処理が行われる。
【0040】
バーコード40の形状が既知であれば、バーコード40の撮像状態、具体的には、ブレた撮像画像でのバーコード40の移動方向長さと直交方向長さとの比に基づいて、バーコード40の上記所定の方向のブレ量を算出することができる。このバーコード40のブレ量は、当該バーコード40とともに撮像された二次元コード30の上記所定の方向のブレ量に一致するため、ブレ量を低減させるように二次元コード30の画像を補正することができる。これにより、ブレ量を低減させるように補正された二次元コード30の画像に対してデコード処理を行えるので、鉄道車両1に付された二次元コード30のデコードに関してブレの影響を抑制することができる。
【0041】
また、バーコード40は、二次元コード30に対して、上記所定の方向に直交する方向へずれるように配置される(
図3参照)。これにより、撮像画像において、バーコード40と二次元コード30とがブレて重なることを防止することができる。
【0042】
特に、バーコード40は、各バーの長手方向が上記所定の方向に沿うように配置される。これにより、鉄道車両1に付されたバーコード40がブレて撮像される場合、その撮像画像でのバーコード40は、バーの長手方向に長くなる一方で、直交方向長さは変わらないため、そのブレがバーコード40のデコード処理に影響を及ぼすことはない。このため、バーコード40の形状が既知であれば当該バーコード40の所定の方向のブレ量を算出できるだけでなく、そのバーコード40に記録される情報と二次元コード30に記録される情報とにより読取装置20に読み取らせる情報量を増加させることができる。
【0043】
さらに、バーコード40には、当該バーコード40のサイズに関する情報が記録されるため、読取装置20に対して二次元コード30とともに鉄道車両1に付されるバーコード40のサイズに関する情報を予め取得させる必要をなくすことができる。
【0044】
本実施形態の変形例として、バーコード40には、縦横比等の当該バーコード40のサイズに関する情報に加えて、当該バーコード40に対する二次元コード30の相対位置に関する情報が記録されてもよい。これにより、ブレた撮像画像での二次元コード30の位置を容易に把握できるので、ブレ量を低減させるための画像補正処理やデコード処理を限定した範囲で行うことができ、画像補正処理及びデコード処理に要する処理負荷の軽減や処理時間の短縮を図ることができる。
【0045】
[第2実施形態]
次に、本第2実施形態に係る二次元コード読取装置について、図面を参照して説明する。
本第2実施形態では、バーコードの両側に配置された補助マーカを利用して、ブレた画像でのバーコードの移動方向長さを正確に求める点が、上記第1実施形態と主に異なる。したがって、第1実施形態と実質的に同一の構成部分には、同一符号を付し、その説明を省略する。
【0046】
ブレた画像でのバーコードの移動方向長さを求める際、ノイズ等の影響のために、移動方向長さを正確に求めることができない場合がある。例えば、
図9に示すように、バーコード40を構成する1つの黒バーがブレて撮像される場合の画素値(本実施形態では、明度が低くなり黒に近づくほど高くなる値)が0になる点(
図9のP1参照)をブレの端とするとき、ノイズ等(
図9の符号Sn参照)の影響のために、誤った点(
図9のP2参照)がブレの端と誤認される場合がある。
【0047】
そこで、本実施形態では、ブレた画像でのバーコード40の移動方向長さを正確に求めるため、
図10に示すように、バーコード40に対して所定の隙間Gを介して上記所定の方向へズレるように補助マーカ41,42を設ける。補助マーカ41,42は、同じ形状であって、それぞれバーコード40の上記所定の方向の長さを上記所定の隙間Gの2倍程度に短くするようにして構成される。
【0048】
これにより、バーコード40がブレて撮像される際には補助マーカ41,42もブレて撮像され、バーコード40のブレ範囲と補助マーカ41,42のブレ範囲とがそれぞれ重なると、各黒バーに関してバーコード40から補助マーカ41,42にかけて、明度が段階的に変化する。
【0049】
具体的には、同じブレが生じた際の、
図11(A)に示す補助マーカ41,42の1つの黒バーに関する画素値と
図11(B)に示すバーコード40の1つの黒バーに関する画素値とを重ねると、
図11(C)に示す画素値の状態となる。なお、補助マーカ41,42は移動方向長さが十分に短いため、
図11(A)での画素値の最大値が
図11(B)での画素値の最大値よりも小さくなる。
【0050】
図11(C)に示すように、画素値は、第1段階S1、第2段階S2、第3段階S3にて変化する。第1段階S1では、バーコード40に関して画素値が徐々に低くなる範囲(バーコード40の明度が徐々に高くなる範囲:黒が徐々に白に変化する範囲)と、補助マーカ41,42に関して画素値が徐々に高くなる範囲(補助マーカ41,42の明度が徐々に低くなる範囲:白が徐々に黒に変化する範囲)とが重なる。第2段階S2では、バーコード40に関して画素値が徐々に低くなる範囲と、補助マーカ41,42に関して画素値が変化しない範囲(補助マーカ41,42の明度が変化しない範囲)とが重なる。第3段階S3では、バーコード40に関して画素値が変化しない範囲(バーコード40の明度が変化しない範囲:ブレても白となる範囲)と、補助マーカ41,42に関して画素値が変化しない範囲とが重なる。
【0051】
そうすると、第2段階S2と第3段階S3との境界を、バーコード40の明度が徐々に高くなる範囲(黒が徐々に白に変化する範囲)とバーコード40の明度が変化しない範囲(ブレても白となる範囲)との境界、すなわち、バーコード40のブレ範囲の境界P1とみなすことができる。第2段階S2と第3段階S3との境界は、画素値が0よりも高くなる(明度が低くなる:黒に近づく)ことから、ノイズ等の影響を受け難くなるので、当該境界の位置、すなわち、バーコード40のブレ量を正確に算出することができる。
【0052】
このため、制御部21にて読取処理では、上述したステップS111のブレ量算出処理にて、上述のように補助マーカ41,42を利用することでバーコード40のブレ量を正確に算出できるので、より確実にブレ量を低減させるように撮像画像を補正することができる。
【0053】
[第3実施形態]
次に、本第3実施形態に係る二次元コード読取装置について、図面を参照して説明する。
本第3実施形態では、識別表示の近傍に配置される補助識別表示を利用することで、識別表示の台形歪みを低減させるように撮像画像を補正する点が、上記第1実施形態と主に異なる。したがって、第1実施形態と実質的に同一の構成部分には、同一符号を付し、その説明を省略する。
【0054】
二次元コード30及びバーコード40を撮像する撮像部23と鉄道車両1における二次元コード30及びバーコード40が付される車体3の貼り付け面との位置関係等のために、二次元コード30及びバーコード40が台形状に歪んで撮像される場合がある。例えば、
図1及び
図2からわかるように、ホーム10の天井11から二次元コード30及びバーコード40を撮像する場合には、二次元コード30及びバーコード40が台形状に歪んで撮像されてしまう。このため、
図12に例示するように、台形歪みが大きくなるようにバーコード40が撮像されると、バーコード40の移動方向長さを正確に求めることができない場合がある。
【0055】
そこで、本実施形態では、
図13に示すように、バーコード40に対して移動方向Fに沿ってずれるように鉄道車両1に付されるバーコード43を利用して、台形歪みを低減させるように撮像画像を補正する。このバーコード43は、バーコード40と同じ形状であって、区形状の補助識別表示として機能するもので、外縁を構成する一辺にて上記所定の方向に沿うように、すなわち、各バーの長手方向が移動方向Fに沿うように配置されている。
【0056】
このような配置では、バーコード40及びバーコード43が台形状に歪んで撮像される場合、バーコード43はバーコード40に対して移動方向Fに沿ってずれて配置されるため、上記移動方向Fに直交すべきバーコード40の部位と上記移動方向Fに直交すべきバーコード43の部位とが傾いて、それぞれ台形の脚部分の少なくとも一部を構成するように撮像される。
【0057】
例えば、
図14に示すように、バーコード40及びバーコード43が台形状に歪んで撮像される場合には、上記移動方向Fに直交すべきバーコード40の部位となる直交方向の中心線Laと上記移動方向Fに直交すべきバーコード43の部位となる直交方向の中心線Lbとが傾いて、それぞれ台形の脚部分の少なくとも一部を構成するように撮像される。
【0058】
ここで、バーコード40の中心線Laは、例えば、バーコード40を構成する各黒バーに沿ってそれぞれ求めた上記画素値の波形のピークを通る直線として求めることができる。同様に、バーコード43の中心線Lbは、バーコード43を構成する各黒バーに沿ってそれぞれ求めた上記画素値の波形のピークを通る直線として求めることができる。
【0059】
バーコード40の中心線Laの傾き及びバーコード43の中心線Lbの傾きと、上記移動方向Fに沿う2本の直線とに基づいて算出される台形歪みは、バーコード40の台形歪みに一致する。このため、中心線Laの傾き及び中心線Lbの傾き、すなわち、撮像部23により撮像されたバーコード40及びバーコード43の撮像状態に基づいて、バーコード40の台形歪みを算出でき、この台形歪みを低減させるように撮像画像が補正されることで、ブレ量算出時の台形歪みの影響を抑制することができる。
【0060】
このため、本実施形態において制御部21にてなされる読取処理では、
図15に示すフローチャートのように、二次元コードのデコード処理が失敗して(
図15のS105でNo)、バーコードのデコード処理が成功すると(S109でYes)、ステップS121に示す台形歪み算出処理がなされる。この処理では、上述のように、バーコード40の中心線Laの傾きとバーコード43の中心線Lbの傾きとに基づいて、台形歪みが算出される。なお、上記台形歪み算出処理を行う制御部21は、「台形歪み算出部」の一例に相当し得る。
【0061】
続いて、ステップS123に示す台形歪み画像補正処理がなされ、上述のように算出された台形歪みに基づいて、台形歪みを低減させるように撮像画像が補正される。なお、上記台形歪み画像補正処理を行う制御部21は、「台形歪み画像補正部」の一例に相当し得る。
【0062】
そして、ステップS111に示すブレ量算出処理がなされ、台形歪みを低減させるように補正されたバーコード40の画像から求められるバーコード40の移動方向長さ及び直交方向長さと、バーコード40から読み取った縦横比とから、上述のようにバーコード40のブレ量が算出され、上記ステップS113以降の処理がなされる。
【0063】
以上説明したように、本実施形態に係る読取装置20では、区形状の識別表示となるバーコード40が外縁を構成する一辺にて上記所定の方向に沿うように配置され、鉄道車両1には、区形状の補助識別表示となるバーコード43が、外縁を構成する一辺にて上記所定の方向に沿い、バーコード40に対して上記所定の方向に沿ってずれて配置されるように付される。そして、撮像部23により撮像されたバーコード40及びバーコード43の撮像状態に基づいて、バーコード40の台形歪みが算出されると、この算出された台形歪みに基づいて、台形歪みを低減させるように撮像画像が補正される。そして、補正された撮像画像でのバーコード40の撮像状態に基づいて、当該補正された撮像画像における上記ブレ量が算出されると、この算出されたブレ量に基づいて、上述のように補正された撮像画像がブレ量を低減させるようにさらに補正される。
【0064】
このように、撮像部23により撮像されたバーコード40及びバーコード43の撮像状態に基づいて、バーコード40の台形歪みを算出でき、この台形歪みを低減させるように撮像画像が補正されることで、ブレ量算出時の台形歪みの影響が抑制されるので、ブレ量の算出精度を高めることができる。
【0065】
なお、バーコード40に対して上記所定の方向に沿ってずれて配置される区形状の補助識別表示は、上述したバーコード43に限らず、他の情報を記録したバーコードであってもよい。また、バーコード40に対して上記所定の方向に沿ってずれて配置される区形状の補助識別表示として、他の区形状の表示、例えば、外縁を構成する一辺にて上記所定の方向に沿うように配置される二次元コードが採用されてもよい。この場合でも、他の区形状の表示の中心線の傾き等を求めることで、撮像部23により撮像されたバーコード40及び他の区形状の表示の撮像状態に基づいて、バーコード40の台形歪みを算出することができる。
【0066】
[他の実施形態]
なお、本発明は上記各実施形態等に限定されるものではなく、例えば、以下のように具体化してもよい。
(1)所定の方向に移動する移動体に対して二次元コード30とともに付される識別表示として、上述したバーコード40が採用されることに限らず、例えば、外縁を構成する一辺にて上記所定の方向に沿うように配置される矩形状の表示が採用されてもよい。この場合でも、矩形状の表示の縦横比等が既知であることを前提に、ブレ画像での矩形状の表示の移動方向長さと直交方向長さとの比に基づいて、矩形状の表示及び二次元コード30の上記所定の方向のブレ量を算出することができる。同様に、ブレ画像から移動方向長さと直交方向長さとの比を算出可能な形状の表示であっても、上述したバーコード40に代えて採用することができる。
【0067】
(2)バーコード40等の識別表示や二次元コード30が付される移動体は、上述したように所定の方向にほぼ一定速度で進行する鉄道車両1に限らず、例えば、搬送路を所定方向に搬送される搬送物等であってもよい。このようにしても、搬送物等に付されたバーコード40等の撮像画像から算出したブレ量に基づいてブレ量を低減させるように補正された二次元コード30の画像に対してデコード処理を行えるので、搬送物等に付された二次元コード30のデコードに関してブレの影響を抑制することができる。
【符号の説明】
【0068】
1…鉄道車両(移動体)
20…読取装置(二次元コード読取装置)
21…制御部(ブレ量算出部,画像補正部,デコード部,台形歪み算出部,台形歪み画像補正部)
23…撮像部
30…二次元コード
40…バーコード(識別表示)
41,42…補助マーカ
43…バーコード(補助識別表示)