(57)【要約】【課題】  ２次元コード読取装置が設置されている環境が２次元コードを読み取るために必要な明るさがない暗所である場合に、２次元コードを読み取り可能な１方向からの補助照明で２次元コードを読み取ろうとすると、大きく輝度ムラが発生する。そのため、２次元コードを読み込んだ画像の２値化処理が上手くいかず、２次元コードの読み取りができないという問題点があった。【解決手段】  画像により検出した２次元コードの所定の領域の輝度に基づいて、２次元コードの周辺の明るさを判定して、画像が撮影される付近に接続された補助照明の輝度を制御するので、２次元コード読取装置が設置されている環境が暗所であっても、２次元コードを読み込んだ画像の２値化処理を可能とし、２次元コードの読み取りを行うことができる。【選択図】        図１
2014056382.tif 000002
【特許請求の範囲】
【請求項１】
撮影された画像を読み込む画像読み込み部、
該画像読み込み部で読み込んだ画像の輝度を算出する算出部、
前記画像読み込み部で読み込んだ画像から物体を検出する検出部、
該検出部で検出した物体の画像の所定の領域について前記算出部で算出した輝度に基づいて、前記画像が撮影される周辺の明るさを判定する判定部、
該判定部で判定した明るさに基づいて、画像が撮影される付近に接続された補助照明を制御する制御部
を備えたことを特徴とする２次元コード読取装置。
【請求項２】
前記判定部は、前記検出部で検出した物体の画像の第１の領域について前記算出部で算出した輝度と、前記検出部で検出した物体の画像の第２の領域について前記算出部で算出した輝度に基づいて、前記画像を撮影する周辺の明るさを判定することを特徴とする請求項１記載の２次元コード読取装置。
【請求項３】
前記判定部は、前記第１の領域の輝度と、前記第２の領域の輝度との差分に基づいて、前記画像を撮影する周辺の明るさを判定することを特徴とする請求項２記載の２次元コード読取装置。
【請求項４】
前記制御部は、前記検出部で物体が検出されると前記補助照明を点滅する制御を行い、
前記判定部は、前記制御部が前記補助照明を点灯した時の前記第１の領域の輝度と、前記第２の領域の輝度との差分と、前記制御部が前記補助照明を消灯した時の前記第１の領域の輝度と、前記第２の領域の輝度との差分と、の差分に基づいて、前記画像を撮影する周辺の明るさを判定することを特徴とする請求項２または請求項３に記載の２次元コード読取装置。
【請求項５】
撮影された画像を読み込む画像読み込み部、
該画像読み込み部で読み込んだ画像の輝度を算出する算出部、
前記画像読み込み部で読み込んだ画像から物体を検出する検出部、
該検出部で検出した物体の画像の所定の領域について前記算出部で算出した輝度に基づいて、前記画像が撮影される周辺の明るさを判定する判定部、
該判定部で判定した明るさに基づいて、２次元コードの読み取り位置を指定する読み取り位置指定部
を備えたことを特徴とする２次元読み取り装置。
【請求項６】
前記判定部は、前記検出部で検出した物体の画像の第１の領域について前記算出部で算出した輝度と、前記検出部で検出した物体の画像の第２の領域について前記算出部で算出した輝度に基づいて、前記画像を撮影する周辺の明るさを判定し、
前記位置指定部は、前記算出した輝度の高い領域の方向へ２次元コードの読み取り位置を指定することを特徴とする請求項５記載の２次元コード読取装置。
【請求項７】
前記判定部は、前記検出部で検出した物体の画像の第１の領域の輝度と、前記第２の領域の輝度との差分に基づいて、前記画像を撮影する周辺の明るさを判定し、
前記位置指定部は、前記算出した輝度の高い領域の方向へ２次元コードの読み取り位置を指定することを特徴とする請求項６記載の２次元コード読取装置。
【請求項８】
接続された表示装置に前記撮影された画像を表示する制御を行う表示制御部を更に備え、
該表示制御部は、前記読み取り位置指定部で指定された２次元コードの読み取り位置を前記撮影した画像と重ねて表示する制御を行うことを特徴とする請求項５〜７のいずれかに記載の２次元コード読取装置。
【請求項９】
前記判定部で判定した明るさに基づいて、画像が撮影される付近に接続された補助照明を制御する制御部を更に備え、
該制御部は、前記検出部で物体が検出されると前記補助照明を点滅する制御を行い、
前記判定部は、前記制御部が前記補助照明を点灯した時の前記第１の領域の輝度と、前記第２の領域の輝度との差分と、前記制御部が前記補助照明を消灯した時の前記第１の領域の輝度と、前記第２の領域の輝度との差分と、の差分に基づいて、前記画像を撮影する周辺の明るさを判定することを特徴とする請求項６〜８のいずれかに記載の２次元コード読取装置。
【請求項１０】
前記検出部で物体を検出すると、前記画像読み込み部から読み込んだ画像から２次元コードの画像を取得する２次元コード画像取得部と、
該２次元コード画像取得部で取得した２次元コードの画像が２次元コードの全体であるか一部であるかを判断する取得画像判断部と、
該取得画像判断部で２次元コードの画像が一部であると判断すると、前記２次元コード画像取得部で取得した２次元コードの部分画像を保存する画像保存部と、
該画像保存部で保存した画像を組み合わせることにより２次元コードとして合成可能か否かを判断する部分画像合成可否判断部と、
該部分画像合成可否判断部が合成可能と判断すると前記画像保存部で保存した画像から１つの２次元コードの画像として合成する部分画像合成部とを更に備え、
前記読取位置指定部は、前記取得画像判断部が２次元コードの画像が一部であると判断すると該判定部で判定した明るさに基づいて、２次元コードの読み取り位置を指定し、
前記２次元コード画像取得部は、前記読取位置指定部で２次元コードの読み取り位置を指定した後の画像を取得し、前記画像保存部に保存することを特徴とする請求項５〜９のいずれかに記載の２次元コード読取装置。
【請求項１１】
２次元コード読取装置による２次元コードを読み取る方法において、
撮影された画像を読み込む画像読み込みステップ、
該画像読み込みステップで読み込んだ画像の輝度を算出する輝度算出ステップ、
前記画像読み込みステップで読み込んだ画像から物体を検出する検出ステップ、
該検出ステップで検出した物体の画像の所定の領域について前記輝度算出ステップで算出した輝度に基づいて、前記画像が撮影される周辺の明るさを判定する判定ステップ、
該判定ステップで判定した明るさに基づいて、画像が撮影される付近に接続された補助照明の輝度を制御する制御ステップ
を備えたことを特徴とする２次元コード読取方法。
【請求項１２】
２次元コード読取装置による２次元コードを読み取る方法において、
撮影された画像を読み込む画像読み込みステップ、
該画像読み込みステップで読み込んだ画像の輝度を算出する輝度算出ステップ、
前記画像読み込みステップで読み込んだ画像から物体を検出する検出ステップ、
該検出ステップで検出した物体の画像の所定の領域について前記輝度算出ステップで算出した輝度に基づいて、前記画像が撮影される周辺の明るさを判定する判定ステップ、
該判定ステップで判定した明るさに基づいて、２次元コードの読み取り位置を指定する読み取り位置指定ステップ
を備えたことを特徴とする２次元コード読取方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２次元コードを読み取る２次元コード読取装置および２次元コード読取方法に関するものである。
【背景技術】
【０００２】
従来の２次元コード読取装置は、２次元コードの読取可否を行うために、２次元コード内の黒画素と白画素の濃度差に着目して、２次元コード内で必ず黒画素となる部分と白画素となる部分の輝度を測定してそれぞれ平均値あるいは最頻値を求め、白画素と黒画素の間の輝度さを算出する。この値が所定の閾値を下回った場合、読取安定度が低いと判断し、２次元コードの読取が可能であっても読み取り安定度が低下していることをユーザに通知することによって、２次元コードが読み取れなくなる自体を防ぐことができた（例えば、特許文献１）。
【０００３】
また、２次元コード読取時に照明のばらつきがある環境においても２次元コードが正しく読めるように、読取前処理として行う画像を閾値によって黒と白（１と０）の２値化データにする２値化処理において、画面を小領域に分割し、その小領域ごとに輝度のヒストグラフを作成して輝度ムラの有無を確認し、輝度ムラに応じてそれぞれに適した２値化処理を行う方法も提案されている（例えば、特許文献２）。
【０００４】
【特許文献１】特開２００４−５４６４５号公報
【特許文献２】特開２００１−２５００７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の２次元コード読取装置は、２次元コード読取装置が設置されている環境が２次元コードを読み取るために必要な明るさがない暗所である場合に、２次元コードを読み取り可能な１方向からの補助照明で２次元コードを読み取ろうとすると、大きく輝度ムラが発生する。そのため、２次元コードを読み込んだ画像の２値化処理が上手くいかず、２次元コードの読み取りができないという問題点があった。
【課題を解決するための手段】
【０００６】
この発明に係る２次元コード読取装置は、撮影された画像を読み込む画像読み込み部、該画像読み込み部で読み込んだ画像の輝度を算出する算出部、前記画像読み込み部で読み込んだ画像から物体を検出する検出部、該検出部で検出した物体の画像の所定の領域について前記算出部で算出した輝度に基づいて、前記画像が撮影される周辺の明るさを判定する判定部、該判定部で判定した明るさに基づいて、画像が撮影される付近に接続された補助照明を制御する制御部を備えたものである。
【発明の効果】
【０００７】
この発明は、画像により検出した物体の画像の所定の領域の輝度に基づいて、画像を撮影する周辺の明るさを判定して、画像が撮影される付近に接続された補助照明の輝度を制御するので、２次元コード読取装置が設置されている環境が暗所であっても、２次元コードを読み込んだ画像の２値化処理を可能とし、２次元コードの読み取りを行うことができる。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１における２次元コード読取装置１の構成図である。
【図２】この発明の実施の形態１における２次元コード読取装置１の外観例の図である。
【図３】この発明の実施の形態１における２次元コード読取装置１の設置例の図である。
【図４】この発明の実施の形態１における２次元コード読取装置１の動作を示すフローチャートである。
【図５】この発明の実施の形態２における２次元コード読取装置１の構成図である。
【図６】この発明の実施の形態２における２次元コード読取装置１の動作を示すフローチャートである。
【図７】この発明の実施の形態３における２次元コード読取装置１の構成図である。
【図８】この発明の実施の形態３における２次元コード読取装置１の外観例の図である。
【図９】この発明の実施の形態３における２次元読取装置１の動作を示すフローチャートである。
【図１０】この発明の実施の形態４における２次元コード読取装置１の構成図である。
【図１１】この発明の実施の形態４における２次元コード読取装置１の動作を示すフローチャートである。
【図１２】この発明の実施の形態４における２次元コード読取装置１に読み込まれた２次元コードの画像を表示した図である。
【図１３】この発明の実施の形態４における２次元コード読取装置１で読み取った２次元コードの図である。
【図１４】この発明の実施の形態４における２次元コード読取装置１で読み取った２次元コードの図である。
【発明を実施するための形態】
【０００９】
実施の形態１．
図１はこの発明の実施の形態１における２次元コード読取装置１の構成図である。
図１の２次元コード読取装置１は、画像読み込み部２とカード検出部３と２次元コード復号部４と輝度算出部５と明るさ判定部６と補助照明制御部７と表示制御部８から構成される。
また、２次元コード読み取り装置１には、カメラ９と補助照明１０が接続されている。
カード検出部３が検出部、輝度算出部５が算出部、明るさ判定部６が判定部に相当する。
【００１０】
図２は、この発明の実施の形態１における２次元コード読取装置１の外観例の図である。
図２の２次元コード読取装置１は、例えば、カメラ９と、モニタ１１が接続されている。ここでは、モニタ１１のバックライト（図示せず）をカメラ９で画像を撮影するための補助照明１として利用する。そして、この補助照明１０は、モニタ１１の上端裏側に設置されているものとする。
【００１１】
図２では、２次元コードとして、例えばＱＲコード（登録商標）が印刷されているＱＲコード（登録商標）カード（以下カードと示す）１２を２次元コード読取装置１のカメラ９付近にかざすと、カメラ９で撮影される。そして、カメラ９で撮影された画像を図１の画像読み込み部２が読み込む。そして、画像読み込み部２で読み込んだ画像の例えば２次元コード１３が印刷されたカード１２の画像が、表示制御部８によってモニタ１１に表示される。
モニタ１１はタッチパネルでもあり、このタッチパネルで入力される情報や、２次元コード読取装置１で読み取った２次元コードの情報が、例えば入退室の管理に利用される。
【００１２】
図３は、この発明の実施の形態１における２次元コード読取装置１の設置例の図である。
図３では、図２で示した２次元コード読取装置１が、例えば入退室を管理するドア付近に設置されている。周りが壁となっているドア付近に２次元コード読取装置１が設置されると、２次元コード読取装置１が設置されている周辺が暗く、カメラ９で撮影された画像から２次元コードを読み取るには十分な明るさではない場合がある。
【００１３】
以下は、このように２次元コード読取装置１が設置されている周辺が暗く、カメラ９で撮影された画像から２次元コードを読み取るために十分な明るさがない場合に、モニタ１１のバックライト（図示せず）を補助照明１０として利用し、撮影された画像から２次元コードを読み取る場合について説明する。
また、補助照明１０は、２次元コードを読み取ることができる明るさに調整可能であるとする。
【００１４】
図１の画像読み込み部２は、カメラ９で撮影された画像を２次元コード読取装置１に読み込み、一時記憶メモリに記憶する。また、画像読み込み部２は、読み込んだ画像を表示制御部８に出力する。
【００１５】
カード検出部３は、画像読み込み部２で読み込まれ一時記憶メモリ（図示せず）に記憶されている第１の画像（２次元コードが印刷されているカード１２がかざされる直前の画像）と第２の画像（図２に示すカード１２がかざされた時の画像）の差分を算出して、動きを検出し、カメラ９の前にカード１２（何らかの物体）がかざされたことを検知する。
【００１６】
２次元コード復号部４は、カード検出部３がカード１２がかざされたことを検知すると画像読み込み部２で読み込んだ画像から２次元コードを検出して２値化処理を行い、２次元コードを復号する。
【００１７】
輝度算出部５は、カード検出部３でカード１２がかざされたとする画像から輝度を算出する。
ここでの輝度算出部５は、例えば、２次元読取装置１の補助照明１０が照らされている位置に近い部分のカード１２の画像の領域、例えば上端中央付近（上端の領域）の平均輝度と、補助照明１０が照らされている位置から遠いカード１２の画像の領域、例えば下端中央付近（下端の領域）の平均輝度を算出する。
【００１８】
明るさ判定部６は、輝度算出部５で算出したカード１２が映っている画像の上端の領域の輝度と、カード１２が映っている画像の下端の領域の輝度との差分から、２次元コード読取装置１が設置されている周辺の環境の明るさを判定する。
【００１９】
補助照明制御部７は、明るさ判定部６で判定した２次元コードの周辺の明るさに応じて、図２に示した補助照明１０として利用する モニタ１１のバックライトの明るさを制御する。
表示制御部８は、カメラ９で撮影され、画像読み込み部２から入力された画像を図２のモニタ１１に表示するように制御する。
【００２０】
次に、２次元コード読取装置１の動作について説明する。
図４は、この発明の実施の形態１における２次元読取装置１の動作を示すフローチャートである。
まず、画像読み込み部２が、カメラ９により撮影された画像を読み込む（ステップＳ１）。そして、読み込んだ画像を一次記憶メモリ（図示せず）に記憶する。
【００２１】
次に、カード検出部３が、一次記憶メモリに記憶されている画像読み込み部２で読み込んだ画像について、第１の画像（例えば、２次元コードが印刷されているカード１２がかざされる直前の画像）と第２の画像（例えば、カード１２がかざされた時の画像）の差分を算出する（ステップＳ２）。
そして、カード検出部３は、第１の画像と第２の画像の差分から動きを検出して、カメラ９の前にカード１２がかざされたか否かを検知する（ステップＳ３）。
【００２２】
更に、カード検出部３は、カード１２がかざされた画像のカード１２が映っている範囲（動きを検出して物体が映っている範囲）を検出して、輝度算出部５に通知する。
この時、カード検出部３は、画像読み込み部２で読み込んだ画像からカード１２が映っている範囲を検出して、カード１２（なんらかの物体）が映っている範囲の上端中央（モニタ上端の補助照明１０に近い方の端部中央）の位置と下端中央（モニタ下端の補助照明１０から遠い方の端部中央）の位置も検出して輝度算出部５に出力する（ステップＳ４）。
【００２３】
次に、輝度算出部５が、カード検出部３によって検出されたカード１２が映っている範囲の上端中央部分の例えば１６×１６ピクセル分の領域の平均輝度（Ａ）を算出する。また、同様に２次元コードの下端中央部分の平均輝度（Ｂ）を算出する（ステップＳ５）。
【００２４】
そして、明るさ判定部６が、平均輝度（Ａ）と平均輝度（Ｂ）の差分を算出し（ステップＳ５）、差分が所定の閾値以上か否かを判定する（ステップＳ６）。
明るさ判定部６は、平均輝度（Ａ）と平均輝度（Ｂ）の差分が所定の閾値以上であれば、２次元コード読取装置１が設置された周辺の環境は暗いと判定する（ステップＳ７）。
【００２５】
そして、明るさ判定部６が周辺の環境が暗いと判定すると、補助照明制御部７がモニタ１１の補助照明１０の明るさを２次元コードの情報を読み取れる明るさに制御する（ステップＳ８）。
そして、２次元コード復号部４が、補助照明１０の明るさが制御されて撮影された画像で、カード検出部３で検出したカード１２が映っている画像から２次元コードの２値化処理を行い、２次元コードの画像を復号する（２次元コードの情報を読み取る）（ステップＳ９）。
【００２６】
一方、明るさ判定部６で、平均輝度（Ａ）と平均輝度（Ｂ）の差分が所定の閾値以上ないと、２次元コード読取装置１の設置された周辺の環境は明るいと判定する（ステップＳ１０）。
そして、Ｓ９の処理、２次元コード復号部４がカード検出部３でカード１２がかざされたとする画像から２次元コードの２値化処理を行い、２次元コードを復号する処理を行う。
【００２７】
具体的な例として、カメラ９の下方５０ｍｍの所に縦５０ｍｍ横７０ｍｍ面の液晶モニタがあり、そのモニタ１１に補助照明１０である光源(例えばバックライト)があるとする。そして、２次元カード読み取り装置１に、そのカメラ９と補助照明１０があるモニタ１１が接続されているとする。
この装置に対して２次元コードが印刷されたカード１２をカメラ９から２０ｍｍ離れた位置にかざした場合を考える。
【００２８】
このとき、補助照明１０がなくても２次元コード読取装置１の設置された周辺の環境が明るい場合（例えば照度３００ルクス)は、２次元コードが印刷されたカード１２面は補助照明１０の光の影響をほとんど受けず、カード１２が映っている範囲の上端中央付近の平均輝度と２次元コードの下端中央付近の平均輝度はほとんど差が発生しない。
【００２９】
しかし、図３のように、２次元コード読取装置１の設置された場所が壁で囲まれているなど周辺の環境が暗く、２次元コード読取装置１が設置されている場所の照度が、２次元カード読取装置１が２次元コードを読取可能な最小照度（例えば３０ルクス）を下回る場合、２次元コードが印刷されたカード１２面は補助照明１０の光の影響を受ける。
そのため、補助照明１０に近いカード１２が映っている画像の上端は明るいが、一方補助照明１０から遠いカード１２が映っている画像の下端は暗くなる。
【００３０】
従って、画像上でもカード１２面の映っている範囲の上端部分の平均輝度と、カード１２面の映っている範囲の下端部分の平均輝度に輝度差が発生する。
そこで、カメラ９の付近に補助照明１０であるモニタ１１のバックライトがあり、読み取り可能な最小照度（例えば３０ルクス）であれば、２次元コード読取装置１のカメラ９にかざした画像から、カード１２が映っている範囲の上端の平均輝度とカード１２が映っている範囲の下端の平均輝度との輝度差を算出し、例えば、輝度差が０から２５６のレンジ幅中の１００以上あれば周辺環境は暗い、そうでなければ周辺環境は明るいと判断するとする。
【００３１】
ただし、上記の周辺環境の明るさの判断は一例であり、カメラ９と補助照明１０の距離、カメラ９と２次元コードの印刷されたカード１２との距離によって変更するとする。
また、カメラ９自体の性能や補助照明１０の明るさ、周辺の光環境、壁の色など、様々な要因によっても変更するとする。
【００３２】
尚、ここでは、カード１２に２次元コードが印刷されているとして説明したが、携帯端末のような表示画面に表示されている２次元コードを２次元コード読取装置１にかざすような場合にも利用できる。携帯端末の表示画面がかざされたことを検知し、その画像の範囲の補助照明１０に近い領域の輝度と、補助照明１０から遠い領域の輝度との差分から周辺の明るさを判定してもよい。
【００３３】
また、ここでは、カード１２がかざされたことを検出してカード１２が映っている範囲の異なる領域の輝度の差分から周辺の環境の明るさを判定しているが、２次元コードを検出した時に、２次元コードの映っている範囲の画像の異なる領域の輝度の差分から周辺の環境の明るさを判定するようにしてもよい。
【００３４】
以上のように、２次元コードの印刷されたカード１２を２次元コード読取装置１に接続されたカメラ９にかざしたときに、モニタ１１のバックライトを補助照明１０として利用すると、カード１２が映っている範囲のバックライトの位置から近い端部の領域の明るさ（平均輝度）と、カード１２が映っている範囲のバックライトの位置から遠い端部の領域の明るさ（平均輝度）との差分に基づいて、２次元コード読取装置１の設置された周辺の環境の明るさを判定する。
【００３５】
この様に、画像に移った物体の範囲の補助照明１０に近い領域の平均輝度と、画像に移った物体の範囲の補助照明１０に遠い領域の平均輝度との差分に基づいて、周辺の環境の明るさを判定し、周辺の環境が暗いと判定すると、補助照明１０の照度を上げるなどの制御をおこなって、２次元コードの情報を読み取るので、２次元コード読取装置１の設置された周辺の環境が暗い場合でも、１方向からの補助照明１０の照度を制御して２次元コードの画像の輝度ムラを少なくし、２次元コードを読み込んだ画像の２値化処理が可能となり、２次元コードの復号（読み取り）を行うことができる。
また、周辺の環境の明るさを判定して、明るさに応じて補助照明１０の照度を上げるため、補助照明１０の消費電力、待機電力を小さくすることができる。
【００３６】
実施の形態２．
以上の実施の形態１では、２次元コードが印刷されたカード１２がカメラ９の前にかざされた際に生じる補助照明１０による画像の輝度の違いから、２次元コード読取装置１の設置された周辺の環境の明るさを判定して、２次元コードを読み取るために必要な明るさに補助照明制御部７が補助照明１０を制御する例について説明した。次に、実施の形態２では、２次元コードがかざされた時に、補助照明制御部７が補助照明１０を点滅させて、２次元コードの印刷されたカード１２の画像の異なる領域の輝度の差分に基づいて、周囲の環境が２次元コードの読み取りに適した明るさになっているか否かをより正確に判断して、２値化処理を可能にし、２次元コードの情報の読み取りを可能にする例について説明する。
【００３７】
図５は、この発明の実施の形態２における２次元コード読取装置１の構成図である。
図５は、図１の構成と同様であるが、カード検出部３によってカード１２がかざされたことを検出して、カード１２が検出された範囲をカード検出部３が輝度算出部５に通知する。そして、カード１２がかざされたことを輝度算出部５が補助照明制御部７に通知して、補助照明制御部７が補助照明１０の点滅を行って、輝度算出部５が補助照明１０の点灯時と消灯時のカード１２が映っている画像の範囲の異なる領域の輝度を算出し、その差分に基づいて、明るさ判定部６が周辺の環境の明るさを判定するところが実施の形態１と異なる。
【００３８】
次に、実施の形態２における２次元コード読取装置１の動作について説明する。
図６は、この発明の実施の形態２における２次元コード読取装置１の動作を示すフローチャートである。
実施の形態１の図４のＳ４、カード１２の上端中央の位置と下端中央の位置を検出するまでの動作は同じである。
【００３９】
まず、画像読み込み部２でカメラ９により撮影された画像を読み込む（ステップＳ１０1）。そして、読み込んだ画像を一次記憶メモリ（図示せず）に記憶する。
次に、カード検出部３が、一次記憶メモリに記憶されている画像読み込み部２で読み込んだ画像について、第１の画像（例えば、２次元コードが印刷されているカード１２がかざされる直前の画像）と第２の画像（例えば、カード１２がかざされた時の画像）の差分を算出する（ステップＳ１０２）。
【００４０】
そして、カード検出部３は、第１の画像と第２の画像の差分から動きを検出して、カメラ９の前にカード１２がかざされたか否かを検知する（ステップＳ１０３）。
【００４１】
更に、カード検出部３は、カード１２がかざされた画像のカード１２が映っている範囲（動きを検出して物体が映っている範囲）を検出して、輝度算出部５に通知する。
この時、カード検出部３は、画像読み込み部２で読み込んだ画像からカード１２が映っている範囲を検出して、カード１２（なんらかの物体）が映っている範囲の上端中央（モニタ上端の補助照明１０に近い方の端部中央）の位置と下端中央（モニタ下端の補助照明１０から遠い方の端部中央）の位置も検出して輝度算出部５に出力する（ステップＳ４）。
【００４２】
そして、カード１２が検出されたこと通知された輝度算出部５は、補助照明制御部７にカード１２（何らかの物体）がかざされたことを通知する（ステップＳ１０５）。
そして、補助照明制御部７は、２次元コード読取装置１に接続されている補助照明１０（モニタ１１のバックライト）を点灯から一旦消灯し、その後再び点灯させる（ステップＳ１０６）。ただし、２次元コードを検出した時に、補助照明１０が消灯であった場合は、消灯から点灯させる。
【００４３】
そして、輝度算出部５が、一次記憶メモリに記憶されている画像読み込み部２から読み込んだ画像から、補助照明１０の消灯時の画像(a)と、再び点灯させたときの画像（ｂ）を取得する。
その後、輝度算出部５は、カード検出部３から取得したカード１２が映っている範囲の上端中央（モニタ上端の補助照明１０に近い方の端部中央）の例えば１６×１６プクセル分の領域の平均輝度（Ａ）を算出する。また、同様に２次元コードの下端中央（モニタ下端の補助照明１０から遠い方の端部中央）についても同様な方法で平均輝度（Ｂ）を算出する。
輝度算出部５は、このように２次元コードの上端中央の平均輝度（Ａ）と２次元コードの下端中央の平均輝度（Ｂ）の算出を、画像（ａ）と画像（ｂ）に対して行う（ステップＳ１０６）。
【００４４】
次に、明るさ判定部６が、補助照明１０の点灯時の画像(a)に対して、カード１２が映っている範囲の上端中央の領域の平均輝度（Ａ）と、下端中央の領域の平均輝度（Ｂ）との差分（α）を算出する。更に、補助照明１０の消灯時の画像（ｂ）に対して、カード１２が映っている範囲の上端中央の領域の平均輝度（Ａ）と、下端中央の領域の平均輝度（Ｂ）との差分(β)を算出する。
【００４５】
その後、明るさ判定部６は、差分（α）と差分（β）の差分を算出し、差分（α）と差分（β）の差分が所定の値以内か否かを判定する（ステップＳ１０７）。
差分(α)と差分（β）との差分が所定の値以内であれば、２次元コード読取装置１が設置されている周辺の環境は明るいと判定し、（ステップＳ１０８）、２次元コード復号部４が、２次元コードの画像を復号する（ステップＳ１０９）。
【００４６】
差分（α）と差分（β）の差分が所定の値以内でなければ、２次元コード読取装置１が設置されている周辺の環境は暗いと判定し（ステップＳ１１０）、補助照明制御部７がモニタ１１の補助照明１０であるバックライトを２次元コードの情報が読み取れる明るさに制御する（ステップ１１１）。
そして、２次元コード復号部４が、明るさが制御されて撮影された画像から２次元コードの画像を復号する（ステップＳ１０９）。
【００４７】
以上のように、２次元コードの印刷されたカード１２をかざしたときに、補助照明１０を点灯から消灯に遷移させ、そのときのカード１２の面の２次元コードの部分に生じる輝度差を元に２次元コード読取装置の設置された周辺の環境の明るさを判断するので、２次元コード読取装置１が設置された周辺の環境の明るさをより正確に判断することができる。そして、周辺の環境が暗ければ、補助照明１０の照度を上げて２次元コードの情報を読み取るので、２次元コード読取装置１の設置された周辺の環境が暗い場合でも２次元コードの画像の輝度ムラを少なくして２値化処理が可能となり、２次元コードの復号（読み取り）を行うことができる。
【００４８】
また、補助照明１０を消灯から点灯に遷移させて、周辺環境の明るさを判断して補助照明１０の明るさを制御するので、入退室を管理するために２次元コード読取装置１を暗所に設置する場合でも、補助照明１０の照度の初期設定を行うことなく、または、予め所定の初期設定を行っても、設置場所の明るさに合わせて補助照明１０の明るさを制御することができる。このように、２次元コード読取装置１を設置した周辺の環境の明るさに応じて補助照明１０を制御するので、２次元コードの画像の輝度ムラを少なくして２値化処理が可能になり、２次元コードの読み取りを行うことができる。
【００４９】
実施の形態３．
実施の形態１では、カード１２が映っている範囲の異なる領域の平均輝度の差分により、２次元コード読取装置１の設置された周辺の環境の明るさを検出し、補助照明１０の照度を２次元コードが読み取れるように制御する例について説明した。次に、実施の形態３では、周辺の環境の明るさに応じて、２次元コードをかざす位置を示すガイドの位置をモニタ１１に指定して表示し、２次元コードをかざす人に補助照明１０に近い方に２次元コードをかざすように促すことにより、２次元コードの画像の輝度ムラを少なくして２値化処理を可能にし、２次元コードの情報を読み取りやすくする例について説明する。
【００５０】
図７は、この発明の実施の形態３における２次元コード読取装置１の構成図である。
また、図８はこの発明の実施の形態３における２次元コード読取装置１の外観例の図である。
図７は、図１の全体構成に対して、補助照明制御部７がなく、図２のモニタ１１に表示する２次元コードをかざす位置を示すガイドの位置を指示するガイド位置指示部１４が明るさ判定部６に接続され、ガイド位置指示部１４が表示制御部８に接続されていることが異なる。
【００５１】
図８は、図２の外観例の構成と同じで、２次元コードをかざす位置を示すガイド１５が モニタ１１に表示されている。
そして、実施の形態３では、明るさ判定部６で２次元コード読取装置１が設置されている周辺の環境の明るさが暗いと判定されると、カメラ９で撮像して画像読み込み部２で読み込まれた画像に、ガイド位置指示部１４によって位置が指定されたガイド１５を重ねてモニタ１１に表示するところが実施の形態１と異なる。
【００５２】
次に、実施の形態３における２次元コード読取装置１の動作について説明する。
図９は、この発明の実施の形態３における２次元読取装置１の動作を示すフローチャートである。
実施の形態１の図４のＳ６、カード１２が映っている範囲の上端と下端の平均輝度が所定の閾値以上か否かを判断するところまでの動作は同じである。
まず、画像読み込み部２が、カメラ９により撮影された画像を読み込む（ステップＳ２０1）。そして、読み込んだ画像を一次記憶メモリ（図示せず）に記憶する。
【００５３】
次に、カード検出部３が、一次記憶メモリに記憶されている画像読み込み部２で読み込んだ画像について、第１の画像（例えば、２次元コードが印刷されているカード１２がかざされる直前の画像）と第２の画像（例えば、カード１２がかざされた時の画像）の差分を算出する（ステップＳ２０２）。
そして、カード検出部３は、第１の画像と第２の画像の差分から動きを検出して、カメラ９の前にカード１２がかざされたか否かを検知する（ステップＳ２０３）。
【００５４】
更に、カード検出部３は、カード１２がかざされた画像のカード１２が映っている範囲（動きを検出して物体が映っている範囲）を検出して、輝度算出部５に通知する。
この時、カード検出部３は、画像読み込み部２で読み込んだ画像からカード１２が映っている範囲を検出して、カード１２（なんらかの物体）が映っている範囲の上端中央（モニタ上端の補助照明１０に近い方の端部中央）の位置と下端中央（モニタ下端の補助照明１０から遠い方の端部中央）の位置も検出して輝度算出部５に出力する（ステップＳ２０４）。
【００５５】
次に、輝度算出部５が、カード検出部３によって検出されたカード１２が映っている範囲の上端中央部分の例えば１６×１６ピクセル分の領域の平均輝度（Ａ）を算出する。また、同様に２次元コードの下端中央部分の平均輝度（Ｂ）を算出する（ステップＳ２０５）。
【００５６】
そして、明るさ判定部６が、平均輝度（Ａ）と平均輝度（Ｂ）の差分を算出し（ステップＳ５）、差分が所定の閾値以上か否かを判定する（ステップＳ２０６）。
明るさ判定部６は、平均輝度（Ａ）と平均輝度（Ｂ）の差分が所定の閾値以上であれば、２次元コード読取装置１が設置された周辺の環境は暗いと判定し（ステップＳ２０７）、判定した結果をガイド位置指定部１４に通知する。
【００５７】
ガイド位置指定部１４は、周辺の環境が暗いという結果であれば、ガイド１５の位置を補助照明１０に近い明るい方向へ（２次元コードの画像の輝度が高い方向へ、ここでは モニタ１１の上端側に補助照明が設置されているとしているのでモニタ１１の上端方向へ）表示するように表示制御部８に指示する（ステップＳ２０８）。
【００５８】
そして、表示制御部８がカメラ９で撮影された画像にガイド１５を重ねて表示し、そのガイド１５の位置をガイド位置指定部１４が指定した補助照明１０の付いている明るい方向に表示する。
すると、２次元コード復号部４が、カード１２が映っている範囲の画像から２次元コードの２値化処理を行い、２次元コードの画像を復号する（ステップＳ２０９）。
【００５９】
一方、明るさ判定部６が、平均輝度（Ａ）と平均輝度（Ｂ）の差分が所定の閾値以上でなければ、２次元コード読取装置１が設置された周辺の環境は明るいと判定し（ステップＳ２０７）、判定した結果をガイド位置指定部１４に通知する。
【００６０】
ガイド位置指定部１４は、周辺の環境が明るいという結果であれば、２次元コードをかざす位置を示すガイド１５の位置を モニタ１１の中央部分に表示するよう表示制御部８に指示する。
そして、Ｓ２０９の処理（２次元コード復号部４が、カード１２が映っている範囲の画像から２次元コードの２値化処理を行い、２次元コードの画像を復号する処理）を行う。
【００６１】
なお、ここでは、ガイド位置指定部１４によってモニタ１１にガイド１５を表示するとして説明したが、ガイド位置指定部１４によって指定された２次元コードをかざす位置を音声によって２次元コードをかざす人に知らせるようにしてもよい。
【００６２】
以上のように、２次元コードの印刷されたカード１２を２次元コード読取装置１に接続されたカメラ９にかざしたときに、カード１２が映っている画像の異なる領域の平均輝度の差分に基づいて、２次元コード読取装置１が設置された周辺の環境の明るさを判定し、判定した結果が暗いと２次元コードをかざす位置を示すガイド１５の位置を補助照明１０の位置に近い方向に表示するように指示する。この様にして、カード１２をかざしている人に対して、２次元コードが印刷されているカード１２を補助照明１０に近い明るい方向へ移動を促すので、２次元コードの画像の輝度ムラを少なくして２値化処理が可能となり、２次元コードの読み取りを行うことができる。
【００６３】
また、実施の形態２のように、２次元コード読取装置１が設置された周辺の環境の明るさを補助照明制御部７が補助照明１０を点滅させることにより、より正確に周辺の環境の明るさを正確に判断して、ガイド１５の位置を指示するようにしてもよい。
【００６４】
実施の形態４．
以上の実施の形態３では、２次元コード読取装置１の設置されている周辺の環境の明るさに応じて、２次元コードをかざす位置を示すガイド１５の位置を指示する例について説明した。次に、実施の形態４では、周辺の環境が暗いため、２次元コードの画像から情報の読み取る範囲が狭くなり、２次元コード全体が読み取れない場合に、２次元コードの読取可能な部分を読み取りそのデータを記録して、更にガイド１５を表示する位置を移動することで、更に別の読み取り可能な部分を読み取り、記録した画像と合成する。そうすることにより、読み取り可能な部分の２次元コードの画像の輝度ムラをなくして２値化処理を可能にし、２次元コード全体の情報を読み取る例について説明する。
【００６５】
図１０は、この発明の実施の形態４における２次元コード読取装置１の構成図である。
図１０は、図７の全体構成に対して、２次元コード画像取得部１６と、取得画像判断部１７と、部分画像保存部１８と、部分画像合成可否判断部１９と、部分画像合成部２０が追加されている。
【００６６】
２次元コード画像取得部１６は、カード検出部３によってカード１２が検出された時に画像読み込み部２で読み込み、一時保存された画像から２次元コードの画像を取得する。
取得画像判断部１７は、２次元コード画像取得部１６で取得した２次元コードの画像から、２次元コード全体の画像が取得できているのか、一部の画像の取得ができているのかを判断する。
【００６７】
部分画像保存部１８は、取得画像判断部１７で２次元コードの一部の画像の取得ができていると判断された場合に、２次元コードの一部の画像（部分画像）を一時的に保存する。
部分画像合成可否判断部１９は、部分画像保存部１８に一時保存されている複数の２次元コードの部分画像を組み合わせることによって２次元コードとして合成可能か否かを判断する。
部分画像合成部２０は、部分画像合成可否判断部１９が合成可能を判断した場合に、合成可能と判断した部分画像を組み合わせて、１つの２次元コードの画像として合成する。
【００６８】
次に、実施の形態４における２次元コード読取装置１の動作について説明する。
図１１は、この発明の実施の形態４における２次元コード読取装置１の動作を示すフローチャートである。
実施の形態３の図９のＳ２０６、カード１２が映っている範囲の上端と下端の平均輝度が所定の閾値以上か否かを判定する動作までは同じである。
まず、画像読み込み部２が、カメラ９により撮影された画像を読み込む（ステップＳ３０1）。そして、読み込んだ画像を一時記憶メモリ（図示せず）に記憶する。
【００６９】
次に、カード検出部３が、一次記憶メモリに記憶されている画像読み込み部２で読み込んだ画像について、第１の画像（例えば、２次元コードが印刷されているカード１２がかざされる直前の画像）と第２の画像（例えば、カード１２がかざされた時の画像）の差分を算出する（ステップＳ３０２）。
そして、カード検出部３は、第１の画像と第２の画像の差分から動きを検出して、カメラ９の前にカード１２がかざされたか否かを検知する（ステップＳ３０３）。
【００７０】
更に、カード検出部３は、カード１２がかざされた画像のカード１２が映っている範囲（動きを検出して物体が映っている範囲）を検出して、輝度算出部５に通知する。
この時、カード検出部３は、画像読み込み部２で読み込んだ画像からカード１２が映っている範囲を検出して、カード１２（なんらかの物体）が映っている範囲の上端中央（モニタ上端の補助照明１０に近い方の端部中央）の位置と下端中央（モニタ下端の補助照明１０から遠い方の端部中央）の位置も検出して輝度算出部５に出力する（ステップＳ３０４）。
【００７１】
次に、輝度算出部５が、カード検出部３によって検出されたカード１２が映っている範囲の上端中央部分の例えば１６×１６ピクセル分の領域の平均輝度（Ａ）を算出する。また、同様に２次元コードの下端中央部分の平均輝度（Ｂ）を算出する（ステップＳ３０５）。
そして、明るさ判定部６が、平均輝度（Ａ）と平均輝度（Ｂ）の差分を算出し（ステップＳ５）、差分が所定の閾値以上か否かを判定する（ステップＳ３０６）。
【００７２】
明るさ判定部６は、平均輝度（Ａ）と平均輝度（Ｂ）の差分が所定の閾値以上であれば、２次元コード読取装置１が設置された周辺の環境は暗いと判定し（ステップＳ３０７）、２次元コード画像取得部１６に判定結果を通知する。
【００７３】
明るさ判定部６から通知された判定結果が「周辺の環境は暗い」であれば、２次元コード画像取得部１６は、カード検出部３でカード１２がかざされたとされる画像から、２次元コードの画像を取得する（ステップＳ３０８）。
【００７４】
そして、取得画像判断部１７が、２次元コード画像取得部１６で取得した２次元コードの画像に対して、縦横のドットの個数から２次元コードの大きさを算出し、２次元コードの全体が取得できているか否かを判断する（ステップＳ３０９）。
【００７５】
そして、取得画像判断部１７が、２次元コードの全体が取得できていると判断すると、取得画像判断部１７が２次元コード画像取得部１６で取得した２次元コードの画像を２次元コード復号部４に出力する。
そして、２次元コード復号部４がデータを復号し（ステップ３１０）、部分画像保存部１８に保存した画像が残っていれる場合は削除を行い（ステップＳ３１１）、本処理を終了する。
【００７６】
ステップＳ３０６に戻り、明るさ判定部６が、平均輝度（Ａ）と平均輝度（Ｂ）の差分が所定の閾値以上ではなく、「周辺の環境は明るい」と判定すると（ステップＳ３１２）、ガイド位置指示部１４は、２次元コードをかざす位置を示すガイド１５の位置を中央に指示し(ステップＳ３１３)、表示制御部８がガイド１５の位置を中央に表示するように制御する。そして、ステップＳ３０８の２次元コード画像の取得の処理以降を行う。
【００７７】
また、ステップＳ３０９に戻り、取得画像判断部１７が２次元コードの画像は２次元コードの全体ではないと判断して、部分画像を部分画像保存部１８に保存する。すると、部分画像合成可否判断部１９がその保存された部分画像を取得する（ステップＳ３１４）。
【００７８】
そして、部分画像合成可否判断部１９は、取得した部分画像の４辺のパターンマッチング検索を行い（ステップＳ３１５）、複数画像を組み合わせて１つの２次元コードに合成可能か否かの判断を行う（ステップＳ３１６）。
【００７９】
２次元コードに合成可能と判断すると、部分画像合成可否判断部１９が部分画像合成部２０にパターンマッチングの結果を通知し、部分画像合成部２０が部分画像保存部１８に保存されている部分画像を組み合わせて１つの２次元コードの画像を合成する（ステップＳ３１７）。そして、Ｓ３１０の２次元コードの復号以降の処理を行う。
【００８０】
また、ステップＳ３１６に戻り、部分画像合成可否判断部１９が、２次元コードに合成不可と判断すると、ガイド位置指示部１４がガイド１５を補助照明１０に近い位置に移動して表示するように指示し、表示制御部８がその指示でガイド１５の表示を移動して、Ｓ３０８の２次元コード画像の取得以降の処理を行う。
【００８１】
例えば、大きな２次元コードの読み込みを例に説明する。
図１２は、この発明の実施の形態４における２次元コード読取装置１に読み込まれた２次元コードの画像とガイド１５をモニタ１１に表示した図である。
また、図１３、図１４は、この発明の実施の形態４における２次元コード読取装置１で読み取った２次元コードの図である。
図１２の モニタ１１に表示した画像１０１ａにおいて、ガイド１０２ａに沿って２次元コード１０３ａをかざしたところ、２次元コード１０３ａの上部のみ読み取れて図１３の部分画像２０１のような画像が得られたとする。
【００８２】
このとき、部分画像２０１を部分画像保存部に保存するが、その際に４辺のパターンマッチング用の部分画像（２０１ａ、２０１ｂ、２０１ｃ、２０１ｄ）を切り出して、同時に保存しておく。
【００８３】
その後、図１２のガイド１０２ｂ、ガイド１０２ｃを表示して、補助照明１０に近い明るい方向（２次元コードの読取可能な範囲）に２次元コードを誘導し（１０３ｂ、１０３ｃ）、それぞれの画像も同様にパターンマッチング用画像を切り出して保存する。
【００８４】
その後、例えば、図１４のように、パターマッチング用画像３０１を元に合致する組み合わせ（３１１ａと３１２ａ）、パターマッチング用画像３０２を元に合致する組み合わせ（３１２ｂ、３１３ａ）を探し、３１１ａを含む３１１の部分画像、３１２ａと３１２ｂを含む部分画像３１２、３１３ａを含む部分画像３１３を組み合わせて１つの２次元コードとなるのであれば、３１１，３１２，３１３から１つの２次元コード３２０を合成する。そして、この合成した２次元コード３２０の画像で２次元コードを復号する。
【００８５】
以上のように、ガイド１５の位置を補助照明１０のある方向、明るい方向に指定することにより、輝度ムラがない２値化処理が可能な２次元コードの部分画像を取得して、その部分画像を合成することで、一度に読み取れないような大きな２次元コードも読み取る（復号する）ことができる。
【００８６】
また、暗所における読取範囲が狭く、２次元コード全体が読み取れない場合でも、 モニタ１１のガイド１５の位置を複数回移動するように指示し、その都度、２次元コードの読取可能な範囲のみを部分保存するようにしているので、暗所でも２次元コードの画像の輝度ムラをなくして２値化処理を可能とし、少し大きな２次元コードを読取ることができる。
【００８７】
なお、本実施の形態では、２次元コードを並行に移動して部分画像を取得したが、２次元コードを１８０度回転させて残りの部分画像を読み込ませても良い。
また１８０度回転以外にも９０度回転やそれ以外の角度に回転させて部分画像を読み込ませても良い。
また１８０度回転させた２次元コードを並べて印字して同時に読み取らせるなどの方法を使っても良い。
【符号の説明】
【００８８】
１  ２次元コード読取装置、２  画像読み込み部、３  カード検出部、４  ２次元コード復号部、５  輝度算出部、６  明るさ判定部、７  補助照明制御部、８  表示制御部、９  カメラ、１０  補助照明、１１  モニタ、１２  ＱＲコード（登録商標）カード（カード）、１３  ２次元コード、１４  ガイド位置指示部、１５  ガイド、１６  ２次元コード画像取得部、１７  取得画像判断部、１８  部分画像保存部、１９  部分画像合成可否判断部、２０  部分画像合成部。
【図１】
2014056382.tif 000003
【図２】
2014056382.tif 000004
【図３】
2014056382.tif 000005
【図４】
2014056382.tif 000006
【図５】
2014056382.tif 000007
【図６】
2014056382.tif 000008
【図７】
2014056382.tif 000009
【図８】
2014056382.tif 000010
【図９】
2014056382.tif 000011
【図１０】
2014056382.tif 000012
【図１１】
2014056382.tif 000013
【図１２】
2014056382.tif 000014
【図１３】
2014056382.tif 000015
【図１４】
2014056382.tif 000016