JP2015049753A - 2次元コードを表示する装置、方法、およびプログラムならびに2次元コードを読み取る装置、方法、およびプログラム - Google Patents
2次元コードを表示する装置、方法、およびプログラムならびに2次元コードを読み取る装置、方法、およびプログラム Download PDFInfo
- Publication number
- JP2015049753A JP2015049753A JP2013181553A JP2013181553A JP2015049753A JP 2015049753 A JP2015049753 A JP 2015049753A JP 2013181553 A JP2013181553 A JP 2013181553A JP 2013181553 A JP2013181553 A JP 2013181553A JP 2015049753 A JP2015049753 A JP 2015049753A
- Authority
- JP
- Japan
- Prior art keywords
- dimensional code
- image
- pattern
- display area
- dots
- 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
Images
Abstract
【課題】キャラクタLCDモジュールのように、1単位がn?mドットで構成されるドット・マトリクスが隙間を介して一定の間隔で並べられたような表示領域であっても、2次元コードを表示可能とし、該表示領域に表示された画像から2次元コードの読み取りを可能とすること。【解決手段】キャラクタLCDモジュールのような表示領域で2次元コードを表示する際、2次元コードをn?mドットの小画像に分割し、表示領域の1単位のドット・マトリクスがn?mドットで構成されることを示すパターンとともに表示する。カメラ付き携帯電話・スマートフォンなどで表示領域を撮影して2次元コードを読み取る際、前記パターンを検出することで、ドット・マトリクスや隙間に関連する各値を算出し、撮影で取得した画像イメージから隙間を取り除いた2次元コード画像を再構成する。【選択図】図8
Description
本発明は、2次元コードを表示する装置、方法、およびプログラムならびに2次元コードを読み取る装置、方法、およびプログラムに関する。具体的に本発明は、2次元コードを分割して表示する装置、方法、およびプログラムならびに分割された2次元コードを読み取る装置、方法、およびプログラムに関する。
近年、オフィスや家庭においては、プリンタ、複写機、スキャナ、ファクシミリ、デジタルカメラ、ビデオカメラ、プロジェクタ、電子文具など、さまざまな電子機器が普及している。これらの電子機器は、技術の発達により、日々、高機能化し、複雑化している。一方、これらの電子機器が広く普及することで、電子機器に関する知識が十分ではないユーザ、いわゆる初心者にも及ぶことになり、初心者が高機能化・複雑化した電子機器を使いこなせない、トラブルに際して対応できないといったケースも増えている。
電子機器にトラブルが発生した場合は、その電子機器の持つ表示部に何らかの情報を表示することが多い。複写機など一部の機器では大きな表示部を持ち、現在のトラブル状況やその対処方法などを表示する例もある。しかし、プリンタやファクシミリなど、特に安価な電子機器では、液晶パネルのような小さな表示部しか持たない場合が多い。そのため、このような安価な電子機器では、コード番号やメッセージのような簡易な情報だけを表示するのみで、トラブルの詳細や対処方法まで表示することはできない。
従来、電子機器の使用方法やトラブルに対する対処方法などは、製品に添付される文書形態の取扱説明書を参照することで得ることができた。また近年では、取扱説明書がPDFなどの電子文書形態で製品に添付されることも多い。しかし、電子機器が高機能化・複雑化した昨今では、取扱説明書から必要な情報を探し出すことや、コード番号から対処方法を得ることは、初心者にとって困難なことである。また、年月を経て情報が更新されていたとしても、製品購入時に添付される取扱説明書からは最新の情報が得られない場合もある。さらに取扱説明書を紛失してしまうことで、必要な時に情報が得られないといった問題もあった。
このような問題を解決するため、特許文献1(特開2007−041840)では、プリンタのトラブルの際、インターネット上からトラブルの詳細や対処方法などの最新の情報を得る技術が開示されている。特許文献1では、異常を示す情報をQRコード((株)デンソーウェーブの登録商標)として構成、プリンタの表示部に表示するようにし、そのQRコードをカメラ付き携帯電話などで読み取り、インターネットに接続して必要な情報を得られるようにしている。
QRコードに代表される2次元コードは、横方向および縦方向に配置されたドット(少なくとも10ドット以上)により情報を表している。しかし、先述した安価なプリンタやファクシミリなどで使われる液晶パネルは、1行分の縦方向のドット数が10ドットに満たない場合があり、その場合は2次元コードをすべて表示することができない。
このような問題を解決するため、特許文献2(特開2007−079781)では、2次元コードを狭い領域に分割して表示し、それを読み取るための技術が開示されている。
先述の安価なプリンタやファクシミリなどでは、キャラクタLCDモジュールと呼ばれる液晶パネルを利用している場合が多い。一般的なキャラクタLCDモジュールの場合、1文字を5×7ドットのマトリクスで表現し、そのドット・マトリクスを水平方向に数桁、垂直方向に数行、配置することで1つのモジュールを構成している。通常、この1文字を表現するドット・マトリクスは、桁間あるいは行間に隙間を設けて配置されている。そのため、特許文献2に記載の技術を利用し、2次元コードを分割して表示したとしても、桁間あるいは行間にキャラクタLCDモジュール本来の隙間が入るため、元の2次元コードを正しく復元できないという問題があった。
本発明は上述の問題点を解決するためのものであり、電子機器で利用されるキャラクタLCDモジュール上に2次元コードを表示し、それを正しく読み取ることが可能な方法を提供することを目的とする。
本発明は、1単位がn×mドットで構成されるドット・マトリクスが隙間を介して一定の間隔で並べられた表示領域に2次元コードを表示する装置であって、1単位のドット・マトリクスがn×mドットで構成されることおよび前記隙間の画素数を示すパターンを生成するパターン生成手段と、前記生成したパターンと、分割した2次元コード画像とを前記表示領域に表示する表示手段とを備えたことを特徴とする。
本発明に係る2次元コードの分割表示方法により、キャラクタLCDモジュールのような桁間あるいは行間に隙間のある液晶パネル上であっても、2次元コードを表示することが可能になる。また、本発明に係る2次元コードの読取方法により、同様な液晶パネル上に表示された2次元コードを正しく読み取ることが可能になる。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
(第1の実施形態)
本発明の第1の実施形態を図1から図12を参照しながら説明する。
(第1の実施形態)
本発明の第1の実施形態を図1から図12を参照しながら説明する。
図1は、本発明に係る2次元コードを表示する機器のブロック構成図である。2次元コードを表示する機器1は、制御部101と、表示部105と、入力部106とから構成される。また、制御部101は、機器の様々な処理を制御するCPU102ならびに処理の際の記憶域として利用されるRAM103およびROM104によって構成される。表示部105は、2次元コードの表示に利用される他、必要に応じて様々な情報を表示する。入力部106は、ユーザからの入力を受け取る。
図2は、本発明に係る2次元コードを読み取る機器のブロック構成図である。2次元コードを読み取る機器2は、制御部201と、デジタルカメラ205とから構成される。また、制御部201は、機器の様々な処理を制御するCPU202ならびに処理の際の記憶域として利用されるRAM203およびROM204によって構成される。デジタルカメラ205は、前述の2次元コードを表示する機器1の表示部105に表示されている2次元コードを撮影し、その画像イメージをRAM203に保存する。
図3は、2次元コードを表示する機器1の表示部105として使用されるモジュールの説明図である。このモジュールは、一般的にキャラクタLCDモジュールと呼ばれる液晶パネルなどを想定しており、表示領域301を有している。この表示領域301は、1単位がn×mドットで構成されるドット・マトリクスが、隙間を介して一定の間隔で並べられている。図3では、横6ドット、縦11ドットで構成されるドット・マトリクスが、水平方向に8桁、垂直方向に4行、並べられたものを例示している。CPU102は、この表示領域301の1ドットごとの点灯、消灯を制御し、文字や様々なパターンを表示することが可能である。なお、説明をわかりやすくするため、図中の表示領域301には各ドットを仕切る線が表示されているが、実際のモジュールにおいてはこのような線が見えるわけではない。これは、以降の表示領域に関する図や、そこに表示されるパターンにおいても同様である。
図4は、所望の情報を含む2次元コードを示す。ここでは、2次元コード画像401として横縦29セルで構成されたQRコードを例示している。なお、小さな正方形を上下左右に配列させたマトリクス型の2次元コードであれば、Data Matrix(インターナショナルデータマトリックス社の登録商標)など、他の形式のものを利用してもよい。
図5は、所望の情報を含む2次元コード画像401を分割した図である。2次元コードを表示する機器1の表示部105に表示するため、表示領域301のドット・マトリクスの1単位のドット数(n×m、本実施例では6×11)に収まるよう、2次元コード画像401は小画像501に分割される。また、この小画像501は、表示領域301の桁数、行数に合わせ、小画像グループ502としてグループ化される。
図6(a)は、表示領域301のドット・マトリクスに関する各値を算出するためのパターンを示す。ドット・マトリクスに関する各値を算出するためのパターンとして、2次元コードを表示する機器1の表示領域301上の所定の位置に第一のパターン601と、第二のパターン602とが表示される。また、図6(b)は、2次元コードを読み取る機器2が表示領域301に表示された第一のパターン601および第二のパターン602を撮影することで得られる第一のパターン601および第二のパターン602の画像イメージを示す。この第一のパターン601および第二のパターン602には、特徴的なパターンPが含まれている。2次元コードを読み取る機器2がこの特徴的なパターンPを検出することで、表示領域301のドット・マトリクスに関する様々な値を算出することが可能となる。
図6(a)中で、nは表示領域301のドット・マトリクスの1単位の横方向のドット数、mは同縦方向のドット数を示す。図6(b)中で、Dwはドット・マトリクスの1ドットを占める横の画素数、Dhは同縦の画素数を示す。Uwはドット・マトリクスの1単位の横方向の画素数、Uhは同縦方向の画素数を示す。Chは第一のパターン601に含まれる特長的なパターンPと、第二のパターン602に含まれる特徴的なパターンPとの各中心の横方向の距離を表す画素数、Cvは同縦方向の距離を表す画素数を示す。Ghはドット・マトリクス間の桁間の隙間の画素数、Gvは同行間の隙間の画素数を示す。
図7(a)は、第一のパターンおよび第二のパターンに含まれる特徴的なパターンPの詳細図である。この特徴的なパターンPは、5ドット大の黒(暗)点の四角形と、3ドット大の白(明)点の四角形と、中心の1ドットの黒(暗)点との組み合わせで構成される。この特徴的なパターンPを横切る3つの代表的な走査線(ア)(イ)(ウ)は、図7(b)に示す通り、どの走査線も暗:明:暗:明:暗=1:1:1:1:1の比率となっている。そのため、2次元コードを読み取る機器2は、この特徴的なパターンPを容易に検出することができる。また、図7(c)に示す通り、この特徴的なパターンPの大きさや黒(暗)点の連続を走査することで、角θを得ることができる。よって、撮影した画像イメージに傾きがあるようであれば、適宜、傾き補正を行なうことも可能である。
図8は、表示領域301に、第一のパターン601と、第二のパターン602と、2次元コード画像401を分割した小画像501とを配置し、表示した例を示す。第一のパターン601と、第二のパターン602とは、表示領域301の左上の2桁×2行に表示される。複数の小画像501は、1個の小画像グループ502としてグループ化されている。表示領域301上では、小画像グループ502を一度に表示することが可能であるため、表示領域301内は表示例801のように表示される。
図9は、2次元コードを読み取る機器2のデジタルカメラ205によって撮影された画像イメージを示す。2次元コードを読み取る機器2が2次元コードを表示する機器1の表示領域301を撮影することで、画像イメージ901が得られる。この画像イメージ901は、2次元コードを読み取る機器2のRAM203に保存され、元の2次元コード画像401を得るために解析される。
図10は、画像イメージ901から得られる、2次元コード部分のみを分割して抽出したイメージ(本明細書では「2次元コードの分割画像イメージ」と呼ぶ)を示す。画像イメージ901を解析し、ドット・マトリクスの桁間および行間の隙間ならびに第一のパターン601および第二のパターン602を取り除くことで、2次元コードの分割画像イメージ1001を得ることができる。
図11は、2次元コードを表示する機器1において実行される手順を示すフローチャートである。この手順は、2次元コードを表示する機器1のRAM103あるいはROM104に保存されたプログラムをCPU102が読み込み実行することにより、実行される。図示はしていないが、この手順をHDDなどの記憶媒体に保存するように2次元コードを表示する機器1を構成してもよい。以下、図11を参照しながら2次元コードを表示する手順について説明する。
ステップS1101において、2次元コードを表示する機器1のCPU102は2次元コード画像生成手段として機能し、2次元コード画像を生成する。具体的には、2次元コードを表示する機器1において、何らかの状態が発生し、2次元コードを表示部105の表示領域301に表示する必要性が生じた際、CPU102は、表示すべき情報を保持する2次元コード画像401を生成し、RAM103に保持する。ここでは、生成する2次元コードの種類に合わせ、既知の2次元コード・エンコード用ライブラリが使用される。次いで、手順はステップS1102に進む。
ステップS1102において、2次元コードを表示する機器1は、2次元コード画像を小画像に分割する。具体的には、CPU102は、ステップS1101で生成した2次元コード画像401を表示領域301のドット・マトリクスの1単位を構成する横縦のドット数(n×m)に合わせ、複数の小画像501に分割する。本実施例では、表示領域301のドット・マトリクスの1単位を構成する横縦のドット数が6×11ドット、例示した2次元コード画像401は横縦ともに29セルであるため、2次元コード画像401は15(=5×3)個の小画像501に分割される。次いで、手順はステップS1103に進む。
ステップS1103において、2次元コードを表示する機器1は、小画像を小画像グループにグループ化する。具体的には、CPU102は、ステップS1102で分割することで得た複数の小画像501を表示領域301の桁数および行数に合わせ、小画像グループとしてグループ化する。なお、表示領域301の左上2桁×2行は、第一のパターン601および第二のパターン602を表示するために予約されている。本実施例における表示領域301の場合、桁数8、行数4であるため、15個の小画像501は、1つの小画像グループ502としてグループ化される。次いで、手順はステップS1104に進む。
ステップS1104において、2次元コードを表示する機器1は、第一のパターンおよび第二のパターンを生成する。具体的には、CPU102はパターン生成手段として機能し、第一のパターン601および第二のパターン602を生成する。この第一のパターン601および第二のパターン602は、特徴的なパターンPを含んでいる。また、第一のパターン601および第二のパターン602は、特徴的なパターンPの外周5ドットの四角形の辺を延長することで、表示領域301中のドット・マトリクスの1単位の横縦のドット数(本実施例では横6ドット、縦11ドット)を示している。次いで、手順はステップS1105に進む。
ステップS1105において、2次元コードを表示する機器1は、第一のパターン、第二のパターン、および小画像グループを表示領域に表示する。具体的には、CPU102は、ステップS1104で生成した第一のパターン601および第二のパターン602を、図6(a)のように配置する。そして、ステップS1103でグループ化した小画像グループ502とともに、表示領域301にて表示例801のように表示する。次いで、手順はステップS1106に進む。
ステップS1106において、2次元コードを表示する機器1は、まだ表示領域に表示していない小画像グループがあるか判断する。具体的には、CPU102は、ステップS1103でグループ化した小画像グループのうち、まだ表示領域301で表示していないものがあるかを判断する。表示していない小画像グループがあると判断した場合、手順はステップS1105に戻り、表示していない小画像グループがないと判断した場合、手順はステップS1107に進む。本実施例では、ステップS1103でグループ化した小画像グループ502は1個だけであるため、ステップS1105には戻らず、ステップS1107に進む。
ステップS1107において、2次元コードを表示する機器1は、表示を繰り返すか判断する。具体的には、2次元コードを表示する機器1がすべての小画像グループを表示し終えると、CPU102は、表示を最初から繰り返すかどうかを判断する。ここでは、一定時間、一定回数の表示を行なったら終わるように2次元コードを表示する機器1を構成してもよいし、入力部106から表示を終える指示を受けるように2次元コードを表示する機器1を構成してもよい。表示を繰り返すと判断した場合、手順はステップS1105に戻り、表示を繰り返さないと判断した場合、手順は終了する。
図12は、2次元コードを読み取る機器2において実行する手順を示すフローチャートである。この手順は、2次元コードを読み取る機器2のRAM203あるいはROM204に保存されたプログラムをCPU202が読み込み実行することにより、実行される。図示はしていないが、この手順をHDDなどの記憶媒体に保存するように2次元コードを読み取る機器2を構成してもよい。以下、図12を参照しながら2次元コードを読み取る手順について説明する。
ステップS1201において、2次元コードを読み取る機器2は、画像イメージを撮影する。具体的には、CPU202は、2次元コードを表示する機器1の表示領域301にて表示例801のように表示されている画像イメージを、デジタルカメラ205を使用して撮影する。撮影の結果、得られた画像イメージ901は、A/D変換や2値化といった処理を経て、RAM203に保持される。次いで、手順はステップS1202に進む。
ステップS1202において、2次元コードを読み取る機器2は、第一のパターンおよび第二のパターンを検出する。具体的には、CPU202は、ステップS1201で撮影した画像イメージ901の中から第一のパターン601と、第2のパターン602とを検出する。この検出は、画像イメージ901の中から特徴的なパターンPを探し出すことで可能となる。第一のパターン601と、第二のパターン602とにおいては、特徴的なパターンPの中心点を横切る走査線の明暗比が常に、暗:明:暗:明:暗=1(+α):1:1:1:1(+α)となるので、中心点を容易に検出可能である。なお、ここでいうαとは、隙間に依存する値である。また、画像イメージ901に傾きがあるようであれば、適宜、傾きの補正を行なう。このようにして得られた特徴的なパターンPを含む近接する2個のパターンを選び出し、第一のパターン601および第二のパターン602とする。次いで、手順はステップS1203に進む。
ステップS1203において、2次元コードを読み取る機器2は、ドット・マトリクスの1ドットの縦横の画素数を算出する。具体的には、CPU202は、ステップS1202で得られた第一のパターン601もしくは第二のパターン602を解析し、撮影された画像イメージ901内におけるドット・マトリクスの1ドットを占める横縦の画素数(Dw、Dh)を算出する。ステップS1202で説明した通り、特徴的なパターンPの中心点を検出できるので、その中心点から横方向および縦方向の黒(暗)点の走査を行なうことで、ドット・マトリクスの1ドットを占める横縦の画素数(Dw、Dh)を得ることができる。次いで、手順はステップS1204に進む。
ステップS1204において、2次元コードを読み取る機器2は、ドット・マトリクスの1単位の縦横のドット数を算出する。具体的には、CPU202は、ステップS1202で得られた第一のパターン601もしくは第二のパターン602を解析し、ドット・マトリクスの1単位を構成する横縦のドット数(n、m)を算出する。図6(a)に示した通り、第一のパターン601もしくは第二のパターン602は、特徴的なパターンPの外周5ドットの四角形の辺を延長することで、表示領域301中のドット・マトリクスの1単位の横縦のドット数(n×m)を示している。そのため、特徴的なパターンPの外周の辺の延長線の黒(暗)点を走査することで、ドット・マトリクスの1単位の横方向の画素数Uwと、縦方向の画素数Uhとを得ることができる。よって、以下の式(1)および式(2)によりドット・マトリクスの1単位を構成する横縦のドット数(n、m)を得ることができる。
n=Uw÷Dw 式(1)
m=Uh÷Dh 式(2)
次いで、手順はステップS1205に進む。
n=Uw÷Dw 式(1)
m=Uh÷Dh 式(2)
次いで、手順はステップS1205に進む。
ステップS1205において、2次元コードを読み取る機器2は、ドット・マトリクスの桁間・行間の隙間の画素数を算出する。具体的には、CPU202は、ステップS1202で得られた第一のパターン601および第二のパターン602を解析し、撮影された画像イメージ901内におけるドット・マトリクスの桁間および行間の隙間の画素数(Gh、Gv)を算出する。第一のパターン601と、第二のパターン602とにそれぞれ含まれる特徴的なパターンPの中心に注目すると、各パターンの中心間の距離を示す画素数が横方向にCh、縦方向にCvであることを算出できる。図6(a)に示した通り、第一のパターン601と、第二のパターン602とにそれぞれ含まれる特徴的なパターンPの中心の間には5ドット分+隙間分の距離がある。よって、以下の式(3)および式(4)によりドット・マトリクスの桁間および行間の隙間の画素数(Gh、Gv)を得ることができる。
Gh=Ch−5×Dw 式(3)
Gv=Cv−5×Dh 式(4)
次いで、手順はステップS1206に進む。
Gh=Ch−5×Dw 式(3)
Gv=Cv−5×Dh 式(4)
次いで、手順はステップS1206に進む。
ステップS1206において、2次元コードを読み取る機器2は、2次元コードの分割画像イメージを生成する。具体的には、CPU202は、画像イメージ901から、第一のパターン601と、第二のパターン602と、桁間および行間の隙間とを取り除くことで、2次元コードの分割画像イメージ1001を生成する。ステップS1201で撮影された画像イメージ901には、第一のパターン601と、第二のパターン602と、各ドット・マトリクスの桁間および行間の隙間とが含まれている。従って、まず、ステップS1205で算出したドット・マトリクスの桁間および行間の隙間の画素数(Gh、Gv)を使い、画像イメージ901よりドット・マトリクスの桁間および行間の隙間を取り除く。続いて、ステップS1202で検出した第一のパターン601と、第二のパターン602とを取り除く。こうして、2次元コードの分割画像イメージ1001を得ることができる。次いで、手順はステップS1207に進む。
ステップS1207において、2次元コードを読み取る機器2は、次の未処理の画像イメージがあるか判断する。具体的には、CPU202は、ステップS1202からステップS1206までの処理を行なっていない画像イメージがまだあるかどうかを判断する。処理を行なっていない画像イメージがあると判断した場合、手順はステップS1202に戻り、処理を行っていない画像イメージがないと判断した場合、手順はステップS1208に進む。
ステップS1208において、2次元コードを読み取る機器2は、2次元コードを再構成する。具体的には、すべての画像イメージに対して、2次元コードの分割画像イメージを得られたら、CPU202は、2次元コードの分割画像イメージをつなぎ合わせ、元の2次元コード画像401を再構成し、手順を終了する。本実施形態では、1個の2次元コードの分割画像イメージ1001より、元の2次元コード画像401を再構成する。
以上、説明した通り、本実施形態により、1単位がn×mドットで構成されるドット・マトリクスが隙間を介して一定の間隔で並べられた表示領域であっても、2次元コードを表示し、それを正しく読み取ることが可能となる。
(第2の実施形態)
本発明の第2の実施形態を図1、図2、図4、図7、および図11から図18を参照しながら説明する。本実施形態は、2次元コードを表示しようとする表示領域の大きさ(行数)が十分ではない場合に対処している点で第1の実施形態と相違する。なお、図1、図2、図4、図7に示す構成については、(第1の実施形態)にて説明したものと同様であるため、ここでは詳細な説明は省略する。
本発明の第2の実施形態を図1、図2、図4、図7、および図11から図18を参照しながら説明する。本実施形態は、2次元コードを表示しようとする表示領域の大きさ(行数)が十分ではない場合に対処している点で第1の実施形態と相違する。なお、図1、図2、図4、図7に示す構成については、(第1の実施形態)にて説明したものと同様であるため、ここでは詳細な説明は省略する。
図13は、2次元コードを表示する機器1の表示部105として使用されるモジュールの説明図であり、このモジュールは、表示領域1301を有している。図13では、横5ドット、縦7ドットで構成されるドット・マトリクスが、水平方向に8桁、垂直方向に1行、並べられたものを例示している。
図14は、所望の情報を含む2次元コード画像401を分割した図である。2次元コード画像401は小画像1401に分割され、表示領域1301の桁数、行数に合わせ、小画像グループ1402〜1406としてグループ化される。
図15(a)は、表示領域1301のドット・マトリクスに関する各値を算出するための第一のパターン1501および第二のパターン1502を示す。また、図15(b)は、2次元コードを読み取る機器2が表示領域1301に表示された第一のパターン1501および第二のパターン1502を撮影することで得られる第一のパターン1501および第二のパターン1502の画像イメージを示す。
図15(a)中で、nは表示領域1301のドット・マトリクスの1単位の横方向のドット数、mは同縦方向のドット数を示す。図15(b)中で、Dwはドット・マトリクスの1ドットを占める横の画素数、Dhは同縦の画素数を示す。Uwはドット・マトリクスの1単位の横方向の画素数、Uhは同縦方向の画素数を示す。Chは第一のパターン1501と、第二のパターン1502とに含まれる特徴的なパターンPの各中心の横方向の距離を表す画素数を示す(縦方向の距離は0)。Ghはドット・マトリクス間の桁間の隙間の画素数を示す。
図16は、表示領域1301に、第一のパターン1501と、第二のパターン1502と、2次元コード画像401を分割した小画像1401とを配置し、表示した例を示す。第一のパターン1501および第二のパターン1502は、表示領域1301の左2桁に表示される。複数の小画像1401は、5個の小画像グループ1402〜1406としてグループ化されている。本実施例では、表示領域1301の行数は1であり、表示領域1301上では、これらの小画像グループ1402〜1406を一度に表示することはできないため、表示領域1301は表示例1601〜1605のように切り替えつつ表示される。
図17は、2次元コードを読み取る機器2のデジタルカメラ205によって撮影された画像イメージ1701〜1705を示す。
図18は、画像イメージ1701〜1705から得られる2次元コードの分割画像イメージ1801〜1805を示す。
本実施形態に係る、2次元コードを表示する機器1および2次元コードを読み取る機器2において実行する手順について説明する。図11および図12のフローチャートにおいて、基本的な流れは、第1の実施形態で説明したものとほぼ同じであり、下記の通り、図中の符号を読み替えればよい。表示領域301は表示領域1301に対応する。小画像501は小画像1401に、小画像グループ502は小画像グループ1402〜1406に対応する。第一のパターン601は第一のパターン1501に、第二のパターン602は第二のパターン1502に対応する。表示例801は表示例1601〜1605に対応する。画像イメージ901は画像イメージ1701〜1705に対応する。2次元コードの分割画像イメージ1001は2次元コードの分割画像イメージ1801〜1805に対応する。以下、図11および図12を参照しながら第2の実施形態特有の手順のみ、説明を行なう。
ステップS1102において、CPU102は、ステップS1101で生成した2次元コード画像401を表示領域1301のドット・マトリクスの1単位を構成する横縦のドット数(n×m)に合わせ、複数の小画像1401に分割する。本実施例では、表示領域1301のドット・マトリクスの1単位を構成する横縦のドット数が5×7ドット、例示した2次元コード画像401は横縦ともに29セルであるため、2次元コード画像401は30(=6×5)個の小画像1401に分割される。次いで、手順はステップS1103に進む。
ステップS1103において、CPU102は、ステップS1102で分割することで得た複数の小画像1401を表示領域1301の桁数および行数に合わせ、小画像グループとしてグループ化する。表示領域1301の左2桁は、第一のパターン1501および第二のパターン1502を表示するために予約されている。本実施例における表示領域1301の場合、桁数8、行数1であるため、30個の小画像1401は、5つの小画像グループ1402〜1406としてグループ化される。次いで、手順はステップS1104に進む。
ステップS1104において、CPU102はパターン生成手段として機能し、第一のパターン1501および第二のパターン1502を生成する。第一のパターン1501および第二のパターン1502は、特徴的なパターンPの外周5ドットの四角形の辺を延長することで、表示領域1301中のドット・マトリクスの1単位の横縦のドット数(本実施例では横5ドット、縦7ドット)を示している。次いで、手順はステップS1105に進む。
ステップS1105において、CPU102は、ステップS1104で生成した第一のパターン1501および第二のパターン1502を、図15(a)のように配置する。そして、ステップS1103でグループ化した小画像グループ1402〜1406のいずれかとともに、表示領域1301上にて表示例1601〜1605のように表示する。
ステップS1106において、CPU102は、ステップS1103でグループ化した小画像グループのうち、まだ表示していないものがあるかを判断する。ここでは、一定時間を経たら表示を切り替えるよう構成してもよいし、入力部106より切り替え指示を受けるよう構成してもよい。表示していない小画像グループがあると判断した場合、手順はステップS1105に戻り、表示していない小画像グループがないと判断した場合、手順はステップS1107に進む。
ステップS1205において、CPU202は、ステップS1202で得られた第一のパターン1501および第二のパターン1502を解析し、撮影された画像イメージ1701〜1705内におけるドット・マトリクスの桁間の隙間の画素数Ghを算出する。第一のパターン1501と、第二のパターン1502とにそれぞれ含まれる特徴的なパターンPの中心に注目すると、各パターンの横方向の中心間の距離を示す画素数がChであることを算出できる。図15(a)に示した通り、第一のパターン1501と、第二のパターン1502とにそれぞれ含まれる特徴的なパターンPの中心の間には5ドット分+隙間分の距離がある。よって、以下の式(5)によりドット・マトリクスの桁間の隙間の画素数Ghを得ることができる。
Gh=Ch−5×Dw 式(5)
Gh=Ch−5×Dw 式(5)
ステップS1206において、CPU202は、2次元コードの分割画像イメージ1801〜1805を生成する。まず、ステップS1205で算出したドット・マトリクスの桁間の隙間の画素数Ghを使い、画像イメージ1701〜1705よりドット・マトリクスの桁間の隙間を取り除く。続いて、ステップS1202で検出した第一のパターン1501と、第二のパターン1502とを取り除く。こうして、2次元コードの分割画像イメージ1801〜1805を得ることができる。次いで、手順はステップS1207に進む。
すべての画像イメージに対して、2次元コードの分割画像イメージを得られたら、ステップS1208において、CPU202は、2次元コードの分割画像イメージをつなぎ合わせ、元の2次元コード画像401を再構成する。本実施例では、5個の2次元コードの分割画像イメージ1801〜1805をつなぎ合わせて、元の2次元コード画像401を再構成する。
以上、説明した通り、本実施形態により、1単位がn×mドットで構成されるドット・マトリクスが隙間を介して一定の間隔で並べられた表示領域の大きさ(行数)が十分ではない場合であっても、2次元コードを表示し、それを正しく読み取ることが可能となる。
(その他の実施形態)
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給しそのシステムあるいは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給しそのシステムあるいは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
Claims (13)
- 1単位がn×mドットで構成されるドット・マトリクスが隙間を介して一定の間隔で並べられた表示領域に2次元コードを表示する装置であって、
1単位のドット・マトリクスがn×mドットで構成されることおよび前記隙間の画素数を示すパターンを生成するパターン生成手段と、
前記生成したパターンと、分割した2次元コード画像とを前記表示領域に表示する表示手段と
を備えたことを特徴とする2次元コードを表示する装置。 - 情報が記録された2次元コード画像を生成する2次元コード画像生成手段と、
前記生成した2次元コード画像をn×mドットごとに小画像に分割する分割手段と、
前記表示領域の桁数および行数に収まるよう、前記分割された小画像を小画像グループとしてグループ化するグループ化手段と
をさらに備えたことを特徴とする請求項1に記載の2次元コードを表示する装置。 - 前記パターン生成手段は、第一のパターンと、第二のパターンとを生成し、
前記表示手段は、前記表示領域の所定の位置に前記生成した第一のパターンおよび前記第二のパターンを配置し、当該配置されていない前記表示領域の空いている位置に前記小画像グループを配置して、前記小画像グループを表示することを特徴とする請求項2に記載の2次元コードを表示する装置。 - 前記パターンは、検出を容易にするための特徴的なパターンを含むことを特徴とする請求項1に記載の2次元コードを表示する装置。
- 前記小画像グループが複数あるとき、前記表示手段は、前記表示領域に小画像グループを1つずつ切り替えて表示することを特徴とする請求項2に記載の2次元コードを表示する装置。
- 1単位がn×mドットで構成されるドット・マトリクスが隙間を介して一定の間隔で並べられた表示領域に2次元コードを表示する方法であって、
1単位のドット・マトリクスがn×mドットで構成されることおよび前記隙間の画素数を示すパターンを生成するパターン生成ステップと、
前記生成したパターンと、分割した2次元コード画像とを前記表示領域に表示する表示ステップと
を備えたことを特徴とする2次元コードを表示する方法。 - コンピュータに、請求項6に記載の方法を実行させるための、プログラム。
- 1単位がn×mドットで構成されるドット・マトリクスが隙間を介して一定の間隔で並べられた表示領域に表示された2次元コードを読み取る装置であって、
1単位のドット・マトリクスがn×mドットで構成されることと、前記隙間の画素数とを示す第一および第二のパターンならびに2次元コード画像を分割しグループ化することで得た小画像グループを含む画像イメージを撮影する手段と、
前記撮影した画像イメージから、情報が記録された2次元コード画像を再構成する手段と
を備えたことを特徴とする2次元コードを読み取る装置。 - 前記撮影した画像イメージの中から前記第一および第二のパターンを検出する手段と、
前記検出した第一または第二のパターンの何れかを走査することにより、前記撮影した画像イメージの中でドット・マトリクスの1ドットを占める横縦の画素数を夫々算出する手段と、
ドット・マトリクスの1単位の横方向の画素数と、ドット・マトリクスの1単位の縦方向の画素数と、前記算出したドット・マトリクスの1ドットを占める横縦の画素数とに基づき、ドット・マトリクスの1単位を構成する横縦のドット数を夫々算出する手段と、
前記検出した第一および第二のパターンの位置と、前記算出したドット・マトリクスの1ドットを占める横縦の画素数とに基づき、前記撮影した画像イメージの中での前記隙間の画素数を算出する手段と
前記算出した隙間の画素数を使って、前記撮影した画像イメージから隙間を取り除き、前記検出した第一および第二のパターンを前記撮影した画像イメージから取り除くことで、2次元コードの分割画像イメージを生成する手段と
をさらに備えたことを特徴とする請求項8に記載の2次元コードを読み取る装置。 - 前記第一および第二のパターンは、検出を容易にするための特徴的なパターンを含むことを特徴とする請求項8に記載の2次元コードを読み取る装置。
- 前記小画像グループが複数あるとき、複数の2次元コードの分割画像イメージが生成され、前記再構成する手段は、前記複数の2次元コードの分割画像イメージをつなぎ合わせることで、2次元コード画像を再構成することを特徴とする請求項8に記載の2次元コードを読み取る装置。
- 1単位がn×mドットで構成されるドット・マトリクスが隙間を介して一定の間隔で並べられた表示領域に表示された2次元コードを読み取る方法であって、
1単位のドット・マトリクスがn×mドットで構成されることと、前記隙間の画素数とを示す第一および第二のパターンならびに2次元コード画像を分割しグループ化することで得た小画像グループを含む画像イメージを撮影するステップと、
前記撮影した画像イメージから、情報が記録された2次元コード画像を再構成するステップと
を備えたことを特徴とする2次元コードを読み取る方法。 - コンピュータに、請求項12に記載の方法を実行させるための、プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013181553A JP2015049753A (ja) | 2013-09-02 | 2013-09-02 | 2次元コードを表示する装置、方法、およびプログラムならびに2次元コードを読み取る装置、方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013181553A JP2015049753A (ja) | 2013-09-02 | 2013-09-02 | 2次元コードを表示する装置、方法、およびプログラムならびに2次元コードを読み取る装置、方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015049753A true JP2015049753A (ja) | 2015-03-16 |
Family
ID=52699702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013181553A Pending JP2015049753A (ja) | 2013-09-02 | 2013-09-02 | 2次元コードを表示する装置、方法、およびプログラムならびに2次元コードを読み取る装置、方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015049753A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016062260A (ja) * | 2014-09-17 | 2016-04-25 | 株式会社デンソーウェーブ | 情報コード読取システムおよび情報コード表示装置 |
CN108921266A (zh) * | 2018-09-29 | 2018-11-30 | 长安大学 | 一种基于图像分割的静态二维码加密显示方法及装置 |
CN110766398A (zh) * | 2019-11-20 | 2020-02-07 | 深圳易嘉恩科技有限公司 | 二维码防更换方法 |
CN114511055A (zh) * | 2022-02-23 | 2022-05-17 | 深圳市中钞信达金融科技有限公司 | 一种条形拼接二维码的生成及解码的方法 |
WO2023094890A1 (en) * | 2021-11-25 | 2023-06-01 | Chau Tsz Him | Animating qr code for mobile payment |
-
2013
- 2013-09-02 JP JP2013181553A patent/JP2015049753A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016062260A (ja) * | 2014-09-17 | 2016-04-25 | 株式会社デンソーウェーブ | 情報コード読取システムおよび情報コード表示装置 |
CN108921266A (zh) * | 2018-09-29 | 2018-11-30 | 长安大学 | 一种基于图像分割的静态二维码加密显示方法及装置 |
CN108921266B (zh) * | 2018-09-29 | 2021-01-22 | 长安大学 | 一种基于图像分割的静态二维码加密显示方法及装置 |
CN110766398A (zh) * | 2019-11-20 | 2020-02-07 | 深圳易嘉恩科技有限公司 | 二维码防更换方法 |
CN110766398B (zh) * | 2019-11-20 | 2023-12-12 | 四川虹微技术有限公司 | 二维码防更换方法 |
WO2023094890A1 (en) * | 2021-11-25 | 2023-06-01 | Chau Tsz Him | Animating qr code for mobile payment |
CN114511055A (zh) * | 2022-02-23 | 2022-05-17 | 深圳市中钞信达金融科技有限公司 | 一种条形拼接二维码的生成及解码的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8134578B2 (en) | Hybrid importance maps for content aware digital image resizing | |
JP4556813B2 (ja) | 画像処理装置、及びプログラム | |
EP3842989B1 (en) | Method and electronic device for reading barcode | |
US9723177B2 (en) | Image processing system, image processing apparatus, and image forming apparatus | |
JP2015049753A (ja) | 2次元コードを表示する装置、方法、およびプログラムならびに2次元コードを読み取る装置、方法、およびプログラム | |
US9563606B2 (en) | Image display apparatus, control method therefor, and storage medium | |
US10296559B2 (en) | Display apparatus, control method therefor, and storage medium | |
JPWO2004084125A1 (ja) | ドットパターンを用いた情報入出力方法 | |
JP5834866B2 (ja) | 画像処理装置、画像生成方法、およびコンピュータプログラム | |
KR101988919B1 (ko) | 기계 가독 도트 패턴의 표시 장치를 이용한 표시 포맷 | |
JP2014211709A (ja) | 1次元バーコードリサイズ装置、方法およびプログラムならびに1次元バーコードシステム | |
JP2011146799A (ja) | 画像処理装置及び画像処理プログラム | |
US8249321B2 (en) | Image processing apparatus and method for red eye detection | |
WO2016166914A1 (ja) | 二次元コード,二次元コード記録担体,二次元コード読取り方法,二次元コード読取用プログラムおよび二次元コード読取り装置 | |
JP5787644B2 (ja) | 画像処理装置および画像処理装置の制御方法 | |
JP2017016635A (ja) | カメラベースのアプリケーション用の高容量2dカラーバーコードの設計および処理方法 | |
CN113096043B (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN112070708B (zh) | 图像处理方法、图像处理装置、电子设备、存储介质 | |
US11057541B2 (en) | Image processing apparatus, printing system, and image processing method | |
JP6592830B2 (ja) | 画像形成装置 | |
JP2017073652A (ja) | 情報処理装置、情報処理方法、及びコンピュータプログラム | |
JP2007310675A (ja) | Qrコード認識装置、qrコード認識装置の制御方法、qrコード認識装置制御プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体 | |
JP5720623B2 (ja) | 二次元コード読取装置 | |
CN108712570B (zh) | 增强智能移动设备检测隐藏图像的实况性与真实性的方法 | |
JP2004062103A (ja) | 画像処理装置および方法、情報処理装置および方法、記録媒体、並びにプログラム |