(57)【要約】    【構成】  符号読取装置（１０）は入力装置（１６）を含み、入力装置にはスキャンキー（１６ａ）などが設けられる。スキャンキーが操作されると、バーコードが読み取られる。バーコードを読み取る場合には、対象のバーコードを含む被写体が撮影され、撮影画像が表示装置（１４）に表示される。また、２値化された撮影画像から商品の形状およびバーコードがそれぞれ検出され、商品の形状に対応する領域にラベルが付されるとともに、バーコードに対応する領域にラベルが付される。そして、検出されたすべてのバーコードの各々が復号され、撮影画像において、復号を成功したバーコードが付された商品の形状には半透明の緑色が付され、復号を失敗したバーコードが付された商品の形状には半透明の赤色が付される。    【効果】  復号結果の視認性を向上させることができる。【選択図】  図１０
2018026025.tif 000002
【特許請求の範囲】
【請求項１】
複数の物品に付された符号を一度に読み取る符号読取装置であって、
画像を撮影し、撮影画像を記憶部に記憶する撮影画像取得部と、
前記記憶部に記憶された前記撮影画像から複数の符号の各々を検出する符号検出部と、
前記符号検出部によって検出された符号の各々に対して復号処理を実行する復号部と、
前記復号部によって復号処理を実行した結果の成功または失敗を示す成否情報を視認可能に撮影画像上に重畳する合成部を備える、符号読取装置。
【請求項２】
前記記憶部に記憶された前記撮影画像から複数の物品の各々の形状を検出する物品検出部をさらに備え、
前記合成部は、前記撮影画像において、前記符号が付された前記物品の形状に前記成否情報を視認可能に重畳する、請求項１記載の符号読取装置。
【請求項３】
前記成否情報は、前記復号部により復号処理を実行した符号が付された物品の形状の全体を強調した情報である、請求項２記載の符号読取装置。
【請求項４】
前記物品の全体を強調した情報は、前記復号部によって復号処理を実行した結果の成功または失敗を示す色情報である、請求項３記載の符号読取装置。
【請求項５】
前記成否情報は、少なくとも、前記復号部により復号処理を実行した前記符号に重畳される、請求項１記載の符号読取装置。
【請求項６】
撮像装置を備え、複数の物品に付された符号を一度に読み取る符号読取装置で実行される制御プログラムであって、
符号読取装置のプロセッサに、
前記撮像装置に画像を撮影させ、撮影画像を記憶部に記憶する撮影画像取得ステップと、
前記記憶部に記憶された前記撮影画像から複数の符号の各々を検出する符号検出ステップと、
前記符号検出ステップにおいて検出した符号の各々に対して復号処理を実行する復号ステップと、
前記復号ステップにおいて復号処理を実行した結果の成功または失敗を示す成否情報を視認可能に撮影画像上に重畳する合成ステップを実行させる、制御プログラム。
【請求項７】
撮像装置を備え、複数の物品に付された符号を一度に読み取る符号読取装置の制御方法であって、
（ａ）前記撮像装置に画像を撮影させ、撮影画像を記憶部に記憶するステップと、
（ｂ）ステップ（ａ）において前記記憶部に記憶した撮影画像から複数の符号の各々を検出するステップと、
（ｃ）ステップ（ｂ）において検出した符号の各々に対して復号処理を実行するステップと、
（ｄ）ステップ（ｃ）において復号処理を実行した結果の成功または失敗を示す成否情報を視認可能に撮影画像に重畳するステップを含む、制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、符号読取装置、制御プログラムおよび制御方法に関し、特にたとえば、複数の符号を一括して読み取る、符号読取装置、制御プログラムおよび制御方法に関する。
【背景技術】
【０００２】
背景技術の一例が特許文献１に開示される。この特許文献１に開示されるバーコードシンボル読取装置では、複数のバーコードシンボルを一括で読み取るマルチモードが選択され、バーコードシンボルの読み取り個数が指定される。そして、指定された読み取り個数のバーコードシンボルの読み取り処理が実行される。
【０００３】
読み取り処理では、複数のバーコードシンボルが一括撮像され、取得されたデジタル多値画像に画像処理が施される。この画像処理によって、複数のバーコードシンボル領域候補が抽出され、各候補における多値画像データに基づいて復号が実行される。
【０００４】
復号に成功した場合には、成功を示す情報及びバーコードシンボル領域候補が記憶される。指定された読み取り個数のバーコードシンボル結果が得られた場合には、読み取り結果が表示されるとともに、外部出力部を介して読み取り結果が外部端末に送信される。
【０００５】
一方、復号に失敗した場合には、失敗を示す情報及びバーコードシンボル領域候補が記憶される。また、リトライ処理が実行され、新しい画像が撮像され、新しいデジタル多値画像データが取得され、前回復号に失敗したバーコードシンボル領域候補における多値画像データに基づいて再度復号が実行される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許２０１３−７３４５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、この特許文献１の技術では、失敗を示す情報及びバーコードシンボル領域候補が記憶されるだけであり、バーコードシンボル読取装置の操作者は、どのバーコードシンボルの復号に失敗しているのかを知ることができない。画像からバーコードシンボルを読み取る場合には、光の影響を受けるが、どのバーコードシンボルの復号に失敗しているのかを知ることができないため、光の影響などの撮影環境を適切に改善することができない。
【０００８】
また、たとえば、複数の商品のそれぞれに付されたバーコードを一括して読み取る場合には、たとえば、復号に失敗したバーコードが付された商品の配置または／および向きを変えて再度撮影および復号を実行することや復号に失敗したバーコードが付された商品のみについて撮影および復号を実行することが考えられるが、上記のとおり、操作者は復号に失敗したバーコードが付された商品を知ることができない。
【０００９】
それゆえに、この発明の主たる目的は、新規な、符号読取装置、制御プログラムおよび制御方法を提供することである。
【００１０】
また、この発明の他の目的は、復号結果の視認性を向上させることができる、符号読取装置、制御プログラムおよび制御方法を提供することである。
【課題を解決するための手段】
【００１１】
第１の発明は、複数の物品に付された符号を一度に読み取る符号読取装置であって、撮影画像取得部と、復号部と、合成部を備える、符号読取装置である。撮影画像取得部は、画像を撮影し、撮影画像を記憶部に記憶する。たとえば、ユーザの操作にしたがって、符号が付された複数の物品を含む画像が撮影装置によって撮影され、撮影画像がＲＡＭのような記憶部に記憶される。符号検出部は、記憶部に記憶された撮影画像から複数の符号の各々を検出する。復号部は、符号検出部によって検出された符号の各々に対して復号処理を実行する。合成部は、復号部によって復号処理を実行した結果の成功または失敗を示す成否情報を視認可能に撮影画像上に重畳する。
【００１２】
第１の発明によれば、復号結果の視認性を向上させることができる。
【００１３】
第２の発明は、第１の発明に従属し、物品検出部をさらに備える。物品検出部は、記憶部に記憶された撮影画像から複数の物品の各々の形状を検出する。合成部は、撮影画像において、符号が付された物品の形状に成否情報を視認可能に重畳する。
【００１４】
第２の発明によれば、符号が付された物品の形状に成否情報を視認可能に重畳するので、復号の成否を物品毎に容易に知ることができる。
【００１５】
第３の発明は、第２の発明に従属し、成否情報は、復号部により復号処理を実行した符号が付された物品の形状の全体を強調した情報である。
【００１６】
第３の発明によれば、物品の全体を強調するので、当該物品に付された符号の復調の成否を一目で理解することができる。
【００１７】
第４の発明は、第３の発明に従属し、物品の全体を強調した情報は、復号部によって復号処理を実行した結果の成功または失敗を示す色情報である。
【００１８】
第４の発明によれば、成功または失敗を色で示すので、ユーザは復号の成否を容易に知ることができる。
【００１９】
第５の発明は、第１の発明に従属し、成否情報は、少なくとも、復号部により復号処理を実行した符号に重畳される。
【００２０】
第５の発明においても、第３の発明と同様に、復号の成否を一目で理解することができる。
【００２１】
第６の発明は、撮像装置を備え、複数の物品に付された符号を一度に読み取る符号読取装置で実行される制御プログラムであって、符号読取装置のプロセッサに、撮像装置に画像を撮影させ、撮影画像を記憶部に記憶する撮影画像取得ステップと、記憶部に記憶された撮影画像から複数の符号の各々を検出する符号検出ステップと、符号検出ステップにおいて検出した符号の各々に対して復号処理を実行する復号ステップと、復号ステップにおいて復号処理を実行した結果の成功または失敗を示す成否情報を視認可能に撮影画像上に重畳する合成ステップを実行させる、制御プログラムである。
【００２２】
第７の発明は、撮像装置を備え、複数の物品に付された符号を一度に読み取る符号読取装置の制御方法であって、（ａ）撮像装置に画像を撮影させ、撮影画像を記憶部に記憶するステップと、（ｂ）ステップ（ａ）において記憶部に記憶した撮影画像から複数の符号の各々を検出するステップと、（ｃ）ステップ（ｂ）において検出した符号の各々に対して復号処理を実行するステップと、（ｄ）ステップ（ｃ）において復号処理を実行した結果の成功または失敗を示す成否情報を視認可能に撮影画像に重畳するステップを含む、制御方法である。
【００２３】
第６および第７の発明においても、第１の発明と同様に、復号結果の視認性を向上させることができる。
【発明の効果】
【００２４】
この発明によれば、復号結果の視認性を向上させることができる。
【００２５】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００２６】
【図１】図１（Ａ）は符号読取装置の外観の一例を表面から見た図解図であり、図１（Ｂ）は符号読取装置の外観の一例を裏面から見た図解図である。
【図２】図２は図１（Ａ）および（Ｂ）に示す符号読取装置の電気的な構成の一例を示すブロック図である。
【図３】図３はバーコードが付された複数の商品を撮影した撮影画像の一例を示す図解図である。
【図４】図４は図３に示す撮影画像を２値化した２値画像の一例を示す図解図である。
【図５】図５は図４に示す２値画像から検出した商品の形状に対応する領域にラベルを付した例を示す図解図である。
【図６】図６は図３に示す撮影画像を２値化した２値画像の一例を示す図解図である。
【図７】図７は図６に示す２値画像から検出したバーコードに対応する領域にラベルを付した例を示す図解図である。
【図８】図８（Ａ）は作成時の商品テーブルの一例を示す図解図であり、図８(Ｂ）はバーコードテーブルの一例を示す図解図であり、図８（Ｃ）はバーコードテーブルをコピーした更新後の商品テーブルの一例を示す図解図である。
【図９】図９は成否画像の一例を示す図解図である。
【図１０】図１０は成否画像を撮像画像に合成した合成画像の一例を示す図解図である。
【図１１】図１１は図２に示すＲＡＭのメモリマップの一例を示す図解図である。
【図１２】図１２は図２に示すＣＰＵの読取処理の一例の一部を示すフロー図である。
【図１３】図１３は図２に示すＣＰＵの読取処理の一例の他の一部であり、図１２に後続するフロー図である。
【図１４】図１４は第２実施例の合成画像の一例を示す図解図である。
【図１５】図１５は第２実施例におけるＣＰＵの読取処理の一部を示すフロー図である。
【図１６】図１６は第３実施例の合成画像の一例を示す図解図である。
【図１７】図１７は第３実施例におけるＣＰＵの読取処理の一部を示すフロー図である。
【図１８】図１８は第４実施例の合成画像の一例を示す図解図である。
【図１９】図１９は第４実施例におけるＣＰＵの読取処理の一部を示すフロー図である。
【発明を実施するための形態】
【００２７】
［第１実施例］
図１（Ａ）はこの発明の第１実施例の符号読取装置１０の外観構成の一例を表面から見た図解図であり、図１（Ｂ）はこの符号読取装置１０の外観構成の一例を裏面から見た図解図である。
【００２８】
読取装置１０は、光学的に読取り可能であって予め定める形式でデータを表す符号を複数個一括して読取り、各符号の符号信号を検出し、検出した符号信号から符号が表す符号情報信号をそれぞれ再生する。たとえば、読取装置１０は、手持ち型のバーコードリーダないしバーコードスキャナである。したがって、たとえば、読取り可能な符号はバーコードであり、符号信号はバーコードの形状を表す画像信号であり、符号情報信号は数値コード信号である。
【００２９】
図１（Ａ）に示すように、符号読取装置（以下、単に「読取装置」という。）１０は、正面から見た形状が縦長の長方形の筐体１２を含み、筐体１２の表面側には、表示装置１４および入力装置１６が設けられる。筐体１２は、ユーザが片手で持つことができる大きさで形成される。なお、筐体１２の形状および大きさは一例であり、限定されるべきでない。
【００３０】
表示装置１４は、汎用のＬＣＤであり、表示面が筐体１２から露出するように配置される。ただし、表示装置１４としては、有機ＥＬを用いたディスプレイを設けることもできる。また、タッチパネルがＬＣＤに一体的に設けられたタッチディスプレイを用いることもできる。
【００３１】
入力装置１６は、ハードウェアキーであり、第１実施例では、スキャンキー１６ａ、ＯＫ（決定）キー１６ｂ、カーソルキー１６ｃ、クリアキー１６ｄ、電源キー１６ｅおよび数字キー（テンキー）１６ｆを含む。
【００３２】
スキャンキー１６ａは、バーコードの読取指示（読取処理の実行指示）を入力するために用いられる。ＯＫキー１６ｂは、各種の設定および各種の処理（バーコードの読取処理を除く）の実行を決定するために用いられる。カーソルキー１６ｃは、表示装置１４に表示されるカーソルを移動させたり、表示装置１４に表示されたアイコンなどのオブジェクトを選択したりするために用いられる。
【００３３】
クリアキー１６ｄは、各種の設定をクリア（リセット）するために用いられる。電源キー１６ｅは、読取装置１０の主電源をオン／オフするために用いられる。数字キー１６ｆは、数字を入力するために用いられ、この第１実施例では、主として、一度に（一括して）読み取るバーコードの数（以下、「読取数」という。）を入力するために用いられる。
【００３４】
図１（Ｂ）に示すように、筐体１２の裏面側であり、表示装置１４の反対側には、撮像装置１８が設けられる。図示および詳細な説明は省略するが、撮像装置１８は、撮像素子、照射装置および画像処理回路を含む。撮像素子は、ＣＣＤまたはＣＭＯＳである。照射装置は、レーザ光を照射する装置であって、撮影時に、撮影範囲を視認可能に指示するための四角枠のレーザ光を被写体に向けて照射する。図示は省略するが、撮像装置１８の撮影面（レンズ）および照射装置の照射面（発光面）は筐体１２から露出されるように配置される。たとえば、撮像装置１８の撮影方向および照射装置の照射方向は、筐体１２の平坦な裏面に対して所定角度（６０°程度）傾いた方向に設定される。
【００３５】
なお、図示は省略するが、筐体１２内にはバッテリが収納され、収納されたバッテリを覆うように筐体１２の裏面に蓋が設けられている。
【００３６】
図２は図１に示した読取装置１０の電気的な構成の一例を示すブロック図である。図２に示すように、読取装置１０は、ＣＰＵ２０を含み、ＣＰＵ２０には、入力装置１６、撮像装置１８、ＲＯＭ２２、ＲＡＭ２４、電源制御回路２６およびドライバ２８が接続される。また、ドライバ２８には、表示装置１４が接続される。
【００３７】
ＣＰＵ２０は、読取装置１０の全体的な制御を司る。ＲＯＭ２２は、読取装置１０の制御プログラムおよび必要なデータを記憶する。ただし、ＲＯＭ２２に代えて、ＥＥＰＲＯＭまたはＨＤＤのような不揮発性のメモリが設けられてもよい。ＲＡＭ２４は、ＣＰＵ２０のバッファ領域およびワーク領域として用いられる。電源制御回路２６は、ＣＰＵ２０の指示の下、バッテリからの電源を各回路コンポーネトに供給および停止する。
【００３８】
入力装置１６は、上述した各種キー（１６ａ〜１６ｆ）であり、操作されたキーに対応する操作信号ないし操作データをＣＰＵ２０に入力する。撮像装置１８は、ＣＰＵ２０からの撮影指示に応じて、予め定められる撮影範囲内の被写体（バーコードが付された物品ないし商品を含む）の画像を撮影し、撮影した２次元画像（撮影画像）についての画像データ（撮影画像データ）を生成する。ただし、２次元画像は、白黒画像（濃淡画像）またはカラー画像である。
【００３９】
なお、撮影範囲は、撮像装置１８の画角で決定され、たとえば、撮像装置１８を被写体に近づければ、撮影範囲は狭くなり、撮像装置１８を被写体から遠ざければ、撮影範囲は広くなる。ただし、ズーム機能によって撮影範囲が変化されてもよい。
【００４０】
撮像装置１８は、撮影画像データをＣＰＵ２０に与える。ＣＰＵ２０は、撮影画像データをＲＡＭ２４に一旦記憶する。また、撮像装置１８では、照射装置が、撮影時に、撮影範囲を指示するためのレーザ光を照射する。
【００４１】
ドライバ２８は、表示制御回路であり、たとえば、ＧＰＵおよびＶＲＡＭを含み、ＣＰＵ２０からの指示に従って表示画像データを生成し、表示装置１４に出力する。したがって、表示装置１４には、表示画像データに対応する表示画像（画面）が表示される。また、ドライバ２８は、ＣＰＵ２０からの指示に従って、ＲＡＭ２４に記憶された撮影画像に対応する画像データを表示装置１４に出力する。したがって、表示装置１４には、撮影画像が表示される。つまり、撮影画像がプレビュー表示される。
【００４２】
また、撮像装置１８では、画像処理回路が、ＲＡＭ２４に記憶された撮影画像データに２値化処理を施し、２値画像の画像データ（２値画像データ）を生成する。たとえば、２値化処理では、撮影画像において、所定の明るさ（輝度）未満の画素が黒色の画素に変換され、所定の明るさ以上の画素が白色の画素に変換される。所定の明るさは、予め実験等によって経験的に決定される。
【００４３】
たとえば、２値画像データからバーコードを抽出する場合には、ＣＰＵ２０は、まず、２値画像データに平滑化フィルタをかけ、２値画像をぼやけた状態にする。次に、ＣＰＵ２０は、ぼやけた２値画像データから島状の塊（同じ色が集中している箇所）の位置を抽出する。ＣＰＵ２０は、抽出した島状の塊の位置およびその付近において、平滑化フィルタをかける前の２値画像データから直線が存在するかどうか判断し、直線が存在する場合には、その直線を検出する（エッジ抽出）。そして、ＣＰＵ２０は、検出した直線とこの直線に対して垂直に伸びる島状の塊の範囲を抽出することによって、２値画像データから矩形画像データを抽出する。２値画像データから抽出された矩形画像データは、バーコードに対応する画像データの候補として一時的にリストアップされる。
【００４４】
続いて、ＣＰＵ２０は、抽出した各矩形画像データがバーコードを示す画像データであるかどうかを、たとえば、パリティチェックを行うことにより判断する。パリティチェックでは、ＣＰＵ２０は、矩形画像データに含まれる直線（バー）に基づいて、矩形画像データをコード化し、コード化したコードのパターンがバーコードのパターンに合っているかどうかを判断する。
【００４５】
ＣＰＵ２０は、バーコードを示す画像データであることが判断された矩形画像データから、数値および文字の少なくとも一方で示されるバーコード情報に変換する。つまり、バーコードが復号される。ただし、バーコード情報は、さらに記号を含んでいてもよい。
【００４６】
ＣＰＵ２０は、変換したバーコード情報（復号結果）を出力する。一例として、バーコード情報は、表示装置１４に表示される。ただし、バーコード情報は、読取装置１０のホスト装置（図示せず）に送信されてもよい。図示は省略したが、ＣＰＵ２０は、インターフェイスを介して、ホスト装置にバーコード情報を送信する。したがって、バーコード情報は、ホスト装置における処理に用いられる。たとえば、店舗で販売される商品にバーコードが付されている場合には、バーコード情報は小売金額、商品名および商品種類を表し、ホスト装置は金銭登録機として機能する。ただし、バーコード情報は、無線でホスト装置に送信されてもよい。
【００４７】
このような構成の読取装置１０では、上述したように、撮影画像に含まれる複数のバーコードを一括して読み取る（復号する）ことができる。たとえば、バーコードの復号に成功した場合には、当該バーコードの領域に対応して成功を示す情報（たとえば、復号結果）が記憶される。一方、バーコードの復号に失敗した場合には、当該バーコードの領域に対応して失敗を示す情報が記憶される。また、バーコードの復号に失敗した場合には、リトライ処理が実行され、新しい画像が撮像され、新しい撮影画像が取得され、前回復号に失敗したバーコードの領域におけるバーコードについて再度復号が実行される。
【００４８】
しかし、上記の場合には、バーコードの復号に失敗した場合には、当該バーコードの領域に対応して失敗を示す情報が記憶されるだけであり、ユーザは、どのバーコードが正しく撮影されていないか、また、どのバーコードが正しく復号されていないのかを知ることができない。このため、撮影処理をやり直す場合に、バーコードが復号できない商品の位置または／および向きを変えるなど、撮影状況ないし撮影環境を変えることができない。また、バーコードを復号できない商品の撮影のみを実行することもできない。
【００４９】
そこで、この第１実施例では、正しく撮影または復号できないバーコードが付された商品をユーザに視認可能に報知することにより、上記の問題を回避するようにしてある。簡単に説明すると、商品単位でバーコードの復号（読み取り）の成否を知ることができる情報（画像）が、撮影画像に重畳して表示される。
【００５０】
図３は撮像装置１８で撮影された撮影画像の一例を示す図解図である。図４は撮影画像に２値化処理を施した２値画像から商品の形状を検出した状態の一例を示す図解図である。図５は撮影画像から検出した商品にラベルを付した場合の一例を示す図解図である。図６は撮影画像に２値化処理を施した２値画像からバーコードを検出した状態の一例を示す図解図である。図７は撮影画像から検出したバーコードにラベルを付した場合の一例を示す図解図である。図８（Ａ）は作成時の商品テーブルの一例を示す図解図であり、図８（Ｂ）はバーコードテーブルの一例を示す図解図であり、図８（Ｃ）はバーコードテーブルをコピーした更新後の商品テーブルの一例を示す図解図である。図９は成否画像の一例を示す図解図である。図１０は合成画像の一例を示す図解図である。
【００５１】
たとえば、読取装置１０では、読取モードにおいて、ユーザがスキャンキー１６ａを操作すると、これに応じて、読取処理が開始される。
【００５２】
なお、詳細な説明は省略するが、読取モードは、読取装置１０がバーコードを読み取り可能な状態であることを意味し、たとえば、読取装置１０の主電源がオンされると、自動的に設定される。また、読取装置１０が動作中である場合には、ユーザの操作に従って、読取モードが設定される。
【００５３】
バーコードの読取処理が開始されると、ＣＰＵ２０は、撮像装置１８を制御して、撮影処理を実行する。撮像装置１８は、ＣＰＵ２０からの撮影指示を受けて、レーザ光を発光することにより、撮影範囲を視認可能に表示し、オートフォーカス処理を実行し、焦点距離が合わされると、撮影処理を実行する。したがって、上述したように、撮影画像データがＲＡＭ２４に記憶されるとともに、表示装置１４に撮影画像が表示される。たとえば、図３に示すような撮影画像が取得され、表示装置１４に表示される。
【００５４】
図３に示す撮影画像では、４つの商品のそれぞれに１つのバーコードが付されている。図３では、一例として、モノクロの撮影画像が示されるが、上述したように、撮影画像はカラーであってもよい。また、第１実施例では、４つのバーコードを含む被写体を撮影するようにしてあるが、これは単なる例示であり、限定されるべきでない。
【００５５】
撮像装置１８は、さらに、ＲＡＭ２４に記憶された撮影画像データに２値化処理を施す。すると、図４に示すような２値画像が生成される。ＣＰＵ２０は、２値画像から商品の形状を抽出し、検出した商品の形状に相当する領域Ｑのそれぞれにラベルを付す。
【００５６】
商品の形状を検出する場合には、ＣＰＵ２０は、２値画像データに対応する２値画像に、ｎ回膨張処理を施した後に、ｎ回縮退（収縮）処理を施す。ただし、注目する画素の周辺に１画素でも白い画素があれば白に置き換える処理を膨張処理といい、逆に、注目する画素の周辺に１画素でも黒い画素があれば黒に置き換える処理を縮退（収縮）処理という。
【００５７】
上記のように、膨張処理および縮退処理が実行されると、２値画像の商品に相当する範囲において、黒の部分が少なくなる。つまり、商品に相当する部分が白い画像が生成される。したがって、２値化したときに、背景が黒くなるように撮影すれば、白い部分の塊を抽出することにより、商品の形状を検出することができる。一例として、商品を置く台の色を暗い色にしておけば容易に商品の形状を検出することができる。
【００５８】
なお、縮退処理および膨張処理を行う回数ｎは、実験等によって経験的に決定されるが、実際に使用して、物品の形状を抽出できる回数に設定するようにしてもよい。
【００５９】
また、図３（図１０、図１４、図１６、図１８も同じ）では、図面の都合上、撮影画像の背景の色を省略してあるが、たとえば、白色以外の暗い色である。
【００６０】
ただし、これは一例であり、たとえば、背景の色が明るく、２値化した場合に、撮影画像の背景の色が白になる場合には、上記の場合とは、逆に、２値化画像に、ｎ回縮退（収縮）処理を施した後に、ｎ回膨張処理を施して、商品に相当する部分が暗い画像を生成するようにすればよい。
【００６１】
また、商品の形状を検出する方法としては、撮影画像から物体の輪郭を抽出する他のアルゴリズムを採用することもできる。
【００６２】
一例として、背景の色が固定されている場合には、撮影画像から背景の色に対応する色を減算することにより、背景以外の物体(商品）の形状を抽出（検出）することができる。具体的な方法としては、商品を配置する前の背景のみの撮影画像を予め取得しておき、予め取得した撮影画像から生成した２値画像と、商品を含む撮影画像から生成した２値画像との差分から商品の形状を検出することもできる。
【００６３】
また、他の例では、撮影画像において、色が変化する部分（エッジ）を検出し、エッジよって形成される閉領域を商品の形状として抽出（検出）することもできる。
【００６４】
なお、商品の形状を検出する方法は、上記のいずれか１つを用いるようにしてもよく、使用する環境（たとえば、撮影環境）に応じて、選択的に用いるようにしてもよく、或る手法で商品の形状を検出できない場合に、他の手法で商品の形状を検出するようにしてもよい。
【００６５】
ＣＰＵ２０は、２値画像から商品の形状を検出すると、検出した商品の形状に対応する領域Ｑのそれぞれにラベルを付す。ただし、この第１実施例では、商品の形状に外接する四角形を商品の領域Ｑとして検出するようにしてある。
【００６６】
図５に示すように、ラベルは、検出した商品の形状に対応する領域Ｑ（ここでは、４つの領域Ｑ）のそれぞれに対応して付される。図５では、ラベルの文字（アルファベット）を各領域Ｑ内に記載することにより、ラベルが付されていることを表現してある。実際には、２値画像における領域Ｑの位置を座標で特定し、特定した座標に対応してラベルが付加される。たとえば、縦長の２値画像に対して、横方向をＸ軸とし、縦方向をＹ軸とする２次元座標系が設定される。また、たとえば、２値画像の左上の頂点が２次元座標系の原点Ｏに設定される。このような２次元座標系において、各領域Ｑの位置が特定される。ただし、座標のＸ成分およびＹ成分は２値画像（撮影画像）の画素数で表現される。また、領域Ｒの位置は、対角の２つの座標で特定される。このようなラベル付けは、後述するバーコードの場合についても同様である。
【００６７】
なお、商品の形状を四角形のような図形で近似しない場合には、商品であることが検出された範囲に含まれるすべての画素に対応してラベルが付される。
【００６８】
このように商品が検出され、各商品に対応する領域Ｑにラベルが付されると、図８（Ａ）に示すような商品テーブルが作成される。図８（Ａ）に示すように、商品テーブルは、商品の識別情報（ラベル）の欄に対応して、バーコードの識別情報および復号結果の欄が設けられる。作成時には、商品テーブルには、商品の識別情報の欄に、商品毎に付されたラベルが記述される。このとき、バーコード識別情報および復号結果の欄は空欄である。
【００６９】
また、上述したように、２値画像からバーコードが検出され、検出されたバーコードの領域Ｒのそれぞれにラベルが付される。図７に示すように、ラベルは、検出したバーコードの領域Ｒ（ここでは、４つの領域Ｒ）のそれぞれに対応して付される。図７では、ラベルの数値を各領域Ｒ内に記載することにより、ラベルが付されていることを表現してある。実際には、２値画像における領域Ｒの位置を座標で特定し、特定した座標に対応してラベルが付加される。２次元座標系の設定および座標で特定することについては、商品の場合と同じであるため、重複した説明は省略する。
【００７０】
さらに、検出されたバーコードが復号され、図８（Ｂ）に示すようなバーコードテーブルが作成される。図８（Ｂ）に示すように、バーコードテーブルは、バーコードの識別情報に対応して、復号結果の欄が設けられる。バーコードの識別情報の欄には、バーコード毎に付されたラベルが記述される。復号結果の欄には、復号されたバーコードに付されたラベルに対応して、当該バーコードの復号結果（図８（Ｂ）では、１０桁の数字）が記述される。ただし、図８（Ｂ）（図８(Ｃ)も同じ）のバーコードテーブルでは、バーコードを復号できなかった場合の復号結果を横棒で示してある。
【００７１】
各領域Ｒにラベルが付されると、検出されたバーコードの数（検出数）が検出した商品（領域Ｑ）の数（検出数）と一致するかどうかを判断する。バーコードの検出数が商品の検出数と一致しない場合には、撮影処理からやり直される。一方、バーコードの検出数が商品の検出数と一致する場合には、商品およびバーコードを正しく撮影できていると判断し、バーコードテーブルを商品テーブルにコピー（統合）する。つまり、図８（Ｃ）に示すように、商品テーブルが更新される。ただし、商品テーブルでは、商品の識別情報に対応するバーコードの識別情報の欄には、商品に付されたバーコードの識別情報が記述され、復号結果の欄には、当該バーコードの識別情報に対応する復号結果が記述される。
【００７２】
ただし、商品に付されたバーコードは、当該商品の領域Ｑに含まれる領域Ｒに対応するバーコードである。
【００７３】
商品テーブルが更新されると、更新後の商品テーブルに用いて、図９に示すような成否画像が生成される。成否画像は、２値画像（撮影画像）と同じ大きさの画像であり、商品に対応する領域Ｑと同じ位置および同じ大きさの領域に、当該商品に付されたバーコードの復号の成否に応じた色を付した画像である。たとえば、バーコードの復号に成功した場合には、当該バーコードが付された商品に対応する領域Ｑと同じ位置および同じ大きさの領域に半透明の緑色が付される。一方、バーコードの復号に失敗した場合には、当該バーコードが付された商品に対応する領域Ｑと同じ位置および同じ大きさの領域に半透明の赤色が付される。
【００７４】
ただし、図９（図１０も同様）では、広い間隔を有する斜線を付すことにより、半透明の緑色が付されていることを示し、狭い間隔を有する斜線を付すことにより、半透明の赤色が付されていることを示す。
【００７５】
また、成否画像においては、商品に対応する領域Ｑと同じ位置および同じ大きさの領域に、参照符号“Ｑ”を付すとともに、各領域Ｑに付されたラベルのアルファベットを記載することにより、各商品を強調するために付される（重ねられる）色の対応関係を示してある。
【００７６】
さらに、成否画像のうち、緑色または赤色で塗り潰した領域以外の領域は透明にされる。したがって、図９では、成否画像の大きさおよび形状を示すために外形線を記載してあるが、実際には、外形線も透明である。
【００７７】
生成された成否画像は、たとえば、撮影画像の前面に重畳（合成）される。したがって、図１０に示すような合成画像が生成される。この合成画像が表示装置１４に表示される。上述したように、成否画像において、領域Ｑに付した緑色および赤色は半透明であるため、合成画像では、緑色および赤色の背面に表示される商品を視認することができる。つまり、成否画像を重畳することにより、各商品の全体が色で強調される。したがって、ユーザは、バーコードを復号できた商品と、バーコードを復号できていない商品とを一目で理解することができる。つまり、バーコードの復号結果についての視認性を向上させることができる。
【００７８】
詳細な説明は省略するが、たとえば、復号できないバーコードが有る場合には、読取装置１０は、バーコードを復号できない商品のみの読取処理を実行したり、すべての商品についての読取処理を最初からやり直したりする。たとえば、これらの処理は、ユーザが選択的に実行可能である。
【００７９】
図１１は図２に示したＲＡＭ２４のメモリマップ７０の一例を示す図解図である。図１１に示すように、ＲＡＭ２４は、プログラム記憶領域７２およびデータ記憶領域７４を含む。プログラム記憶領域７２には、バーコード（符号）の読取プログラムを含む制御プログラムを記憶し、この制御プログラムは、メイン処理プログラム７２ａ、画像表示プログラム７２ｂ、操作検出プログラム７２ｃ、撮影処理プログラム７２ｄ、商品検出プログラム７２ｅ、符号検出プログラム７２ｆおよび復号プログラム７２ｇなどを含む。
【００８０】
メイン処理プログラム７２ａは、読取装置１０のメインルーチンを処理するためのプログラムである。画像表示プログラム７２ｂは、表示装置１４に表示する各種の表示画像に対応する表示画像データを生成および出力するためのプログラムである。また、画像表示プログラム７２ｂは、撮影画像に対応する撮影画像データを表示装置１４に出力するためのプログラムでもある。さらに、画像表示プログラム７２ｂは、成否画像に対応する成否画像データを生成するとともに、撮影画像に成否画像を合成した合成画像に対応する合成画像データを表示装置１４に出力するためのプログラムでもある。
【００８１】
操作検出プログラム７２ｃは、入力装置１６（キー１６ａ〜１６ｆ）から入力される操作データを検出し、検出した操作データを操作データバッファ７４ａに記憶するためのプログラムである。
【００８２】
なお、表示装置１４がタッチパネルディスプレイで構成される場合には、操作検出プログラム７２ｃに従って、タッチパネルから入力される座標データが検出され、検出された座標データが操作データバッファ７４ａに記憶される。
【００８３】
撮影処理プログラム７２ｄは、バーコードの読取処理が実行されたときに、撮像装置１８を制御して、被写体を撮像するとともに、撮影画像から２値画像を生成するためのプログラムである。
【００８４】
商品検出プログラム７２ｅは、２値画像から商品の形状を検出して商品テーブルを作成および更新するためのプログラムである。符号検出プログラム７２ｆは、２値画像からバーコードを検出するためのプログラムである。復号プログラム７２ｇは、バーコードを読み取ってバーコード情報に復号し、バーコードテーブルを作成するためのプログラムである。
【００８５】
図示は省略するが、プログラム記憶領域７２には、読取装置１０の制御に必要な他のプログラムも記憶される。
【００８６】
データ記憶領域７４には、操作データバッファ７４ａが設けられる。また、データ記憶領域７４には、画像生成データ７４ｂ、撮影画像データ７４ｃ、２値画像データ７４ｄ、商品ラベルデータ７４ｅ、バーコードラベルデータ７４ｆ、商品テーブルデータ７４ｇおよびバーコードテーブルデータ７４ｈが記憶される。
【００８７】
操作データバッファ７４ａは、検出された操作データを時系列に従って記憶するためのバッファである。操作データバッファ７４ａに記憶された操作データは、ＣＰＵ２０の処理に使用された後に消去される。ただし、上述したように、タッチパネルから入力された座標データが記憶される場合もある。
【００８８】
画像生成データ７４ｂは、表示装置１４に表示する表示画像に対応する表示画像データを生成するためのポリゴンデータおよびテクスチャデータなどを含むデータである。撮影画像データ７４ｃは、撮像装置１８で撮影された撮影画像についての画像データである。２値画像データ７４ｄは、撮影画像に２値化処理を施して生成した２値画像についての画像データである。
【００８９】
商品ラベルデータ７４ｅは、２値画像から検出された商品の形状に対応する領域Ｑの位置（範囲）にラベルを付したデータである。バーコードラベルデータ７４ｆは、２値画像から検出されたバーコードに対応する領域Ｒの位置（範囲）にラベルを付したデータである。ただし、商品ラベルデータ７４ｅおよびバーコードラベルデータ７４ｆの各々が生成される場合には、２値画像データ７４ｄがワーク領域にコピーされ、コピーされた２値画像データ７４ｄが使用される。
【００９０】
商品テーブルデータ７４ｇは、図８（Ａ）および（Ｃ）に示したような商品テーブルのデータである。商品テーブルの作成時には、図８（Ａ）に示すような商品テーブルに対応する商品テーブルデータ７４ｇがＲＡＭ２４に記憶され、商品テーブルが更新されると、図８（Ｃ）に示すように、バーコードテーブルデータ７４ｈに対応するバーコードテーブルの内容が記述された商品テーブルに対応する商品テーブルデータ７４ｇがＲＡＭ２４に記憶（上書き）される。
【００９１】
バーコードテーブルデータ７４ｈは、図８（Ｂ）に示したようなバーコードテーブルについてのデータである。撮影画像に含まれるバーコードが復号されると、図８（Ｂ）に示したようなバーコードテーブルが作成され、対応するバーコードテーブルデータ７４ｈがＲＡＭ２４に記憶される。
【００９２】
図示は省略するが、データ記憶領域７４には、読取装置１０の制御に必要な他のデータが記憶され、読取装置１０の制御に必要なフラグまたはカウンタ（タイマ）が設けられる。
【００９３】
図１２および図１３は図２に示したＣＰＵ２０のバーコードの読取処理を示すフロー図である。読取モードにおいて、スキャンキー１６ａが操作されると、ＣＰＵ２０は読取処理を開始し、ステップＳ１で、撮影処理を実行する。ここでは、ＣＰＵ２０は、撮像装置１８に撮影指示を与える。これに応じて、撮像装置１８は、撮影処理を実行し、撮影画像を取得し、さらに、撮影画像から２値画像を生成する。取得された撮影画像に対応する撮影画像データ７４ｃおよび生成された２値画像に対応する２値画像データ７４ｄはＲＡＭ２４に記憶される。
【００９４】
次のステップＳ３では、２値画像から商品の形状を検出し、ステップＳ５で、商品にラベル付けを行う。つまり、ＣＰＵ２０は、商品の形状を検出すると、検出した商品の形状に対応する各領域Ｑにラベルを付す。したがって、商品ラベルデータ７４ｅがデータ記憶領域７４に記憶される。そして、ステップＳ７で、図８（Ａ）に示したような作成時の商品テーブルを作成する。続いて、ステップＳ９では、２値画像からバーコードを検出し、ステップＳ１１で、バーコードにラベル付けを行う。つまり、ＣＰＵ２０は、バーコードを検出すると、検出したバーコードに対応する各領域Ｒにラベルを付す。したがって、バーコードラベルデータ７４ｆがデータ記憶領域７４に記憶される。
【００９５】
続くステップＳ１３では、検出したバーコードを復号する。ここでは、検出されたすべてのバーコードの各々に対して復号処理が実行される。次のステップＳ１５では、図８（Ｂ）に示したように、各バーコードの識別情報（ラベル）に対応して復号結果を記述したバーコードテーブルを作成する。
【００９６】
そして、ステップＳ１７では、各領域Ｑに対応するバーコードが有るかどうかを判断する。つまり、ＣＰＵ２０は、商品テーブルの識別情報の個数すなわち商品の検出数と、バーコードテーブルの識別情報の個数すなわちバーコードの検出数が一致するかどうかを判断する。
【００９７】
ステップＳ１７で“ＮＯ”であれば、つまり、いずれか１つの領域Ｑでも対応するバーコードが無い場合には、ステップＳ１９で、エラーを報知してステップＳ１に戻る。たとえば、ステップＳ１９では、撮影処理をやり直すことを示すメッセージが表示装置１４に表示される。ただし、読取装置１０がスピーカを備える場合には、撮影処理をやり直すことを示す警告音（メロディー音）またはそのことを示すメッセージの合成音声をスピーカから出力するようにしてもよい。また、図示は省略するが、撮影処理が所定回数（３回）やり直された場合または撮影処理を繰り返し行っている時間が所定時間（たとえば、数分）を経過した場合には、バーコードが正しく撮影されないことを示すメッセージを表示装置１４に表示して読取処理を強制的に終了するようにしてもよい。
【００９８】
一方、ステップＳ１７で“ＹＥＳ”であれば、つまり、各領域Ｑに対応するバーコードが有れば、図１３に示すステップＳ２１で、バーコードテーブルを商品テーブルにコピーする。ステップＳ２１では、商品に付されたバーコードの識別情報および復号結果が、当該商品の識別情報に対応して記述される。ただし、商品に付されたバーコードは、バーコードラベルデータ７４ｆに記述された各領域Ｒのうち、商品ラベルデータ７４ｅに記述された当該商品に対応する領域Ｑに含まれる領域Ｒに対応するバーコードである。
【００９９】
続いて、ステップＳ２３では、コピー終了かどうかを判断する。ステップＳ２３で“ＮＯ”であれば、つまり、コピー終了でなければ、ステップＳ２１に戻る。一方、ステップＳ２３で“ＹＥＳ”であれば、つまり、コピー終了であれば、ステップＳ２５で、変数ｉを初期化する（ｉ＝１）。変数ｉは、バーコードを個別に識別するための変数であり、この第１実施例では、バーコードに付されたラベル（識別情報）の数字に相当する。
【０１００】
次のステップＳ２７では、ｉ番目のバーコードすなわち「ｉ」のラベル（識別情報）が付されたバーコードが復号成功かどうかを判断する。ここでは、ＣＰＵ２０は、商品テーブルデータ７４ｇを参照して、「ｉ」のラベルが付されたバーコードの復号結果として、１０桁の数字が記述されているかどうかを判断する。
【０１０１】
ステップＳ２７で“ＹＥＳ”であれば、つまり、ｉ番目のバーコードが復号成功であれば、ステップＳ２９で、生成する成否画像において、ｉ番目のバーコードを含む領域Ｑに対応する領域を半透明の緑色で塗り潰して、ステップＳ３３に進む。ただし、ステップＳ２９では、ＣＰＵ２０は、ｉ番目のバーコードを含む領域Ｑに対応する領域は商品テーブルを参照することにより、領域Ｑのラベルを取得し、当該ラベルが付された領域Ｑの座標を商品ラベルデータ７４ｅから取得して、塗り潰す範囲すなわち領域Ｑと同じ位置および同じ大きさの領域を決定する。このことは、後述するステップＳ３１についても同じである。
【０１０２】
一方、ステップＳ２７で“ＮＯ”であれば、つまり、ｉ番目のバーコードが復号失敗であれば、ステップＳ３１で、生成する成否画像において、ｉ番目のバーコードを含む領域Ｑに対応する領域を半透明の赤色で塗り潰して、ステップＳ３３に進む。
【０１０３】
ただし、ステップＳ２９およびステップＳ３１については、ＣＰＵ２０の指示に従って、ドライバ２８が実行し、成否画像に対応する成否画像データは、ドライバ２８に設けられるＶＲＡＭ上に生成される。ただし、成否画像データは、ＶＲＡＭ上に展開された撮影画像データとは異なる領域で生成される。
【０１０４】
ステップＳ３３では、変数ｉが最大値以上であるかどうかを判断する。つまり、ＣＰＵ２０は、すべての領域Ｑを緑色または赤色で塗り潰して、成否画像を生成したかどうかを判断する。
【０１０５】
ステップＳ３３で“ＮＯ”であれば、つまり、変数ｉが最大値に満たない場合には、ステップＳ３５で、変数ｉを１加算して（ｉ＝ｉ＋１）、ステップＳ２７に戻る。一方、ステップＳ３３で“ＹＥＳ”であれば、つまり、変数ｉが最大値以上である場合には、ステップＳ３７で、撮影画像に成否画像を合成する。ここでは、ドライバ２８は、ＣＰＵ２０の指示の下、撮影画像の前面に成否画像を合成し、合成画像の画像データを表示装置１４に出力する。したがって、合成画像が表示装置１４に表示される。
【０１０６】
そして、ステップＳ３９で、読取終了かどうかを判断する。ここでは、ＣＰＵ２０は、読取終了の指示が入力されたかどうかを判断する。ステップＳ３９で“ＮＯ”であれば、つまり、読取終了でなければ、図１２のステップＳ１に戻る。つまり、次の読取処理が開始される。一方、ステップＳ３９で“ＹＥＳ”であれば、つまり、読取終了であれば、読取処理を終了する。
【０１０７】
なお、図示は省略するが、バーコードの復号に失敗している場合には、上述したように、ユーザの操作に従って、バーコードを復号できない商品のみの読取処理が実行されたり、すべての商品についての読取処理が最初からやり直されたりする。
【０１０８】
また、図示は書略するが、すべてのバーコードの復号に成功した場合には、上述したように、復号結果は、ホスト装置に送信（出力）されてもよいし、不揮発性のメモリ（図示せず）に保存されてもよい。さらに、復号結果の表示、送信および保存のいずれか２つ以上が実行されてもよい。
【０１０９】
第１実施例によれば、撮影画像にバーコードの復号の成否を示す成否画像を重ねて表示するので、バーコードの復号の成否の視認性を向上させることができる。
【０１１０】
なお、第１実施例では、成否画像においては、領域Ｑに対応する領域を半透明の緑色または赤色で塗り潰すようにしたが、領域の外形線のみを描画し、この外形線の色を緑色または赤色にしても、商品の全体を強調することができる。
【０１１１】
また、第１実施例では、合成画像のみを表示装置１４に表示するようにしてあるが、復号結果も表示するようにしてもよい。この場合、合成画像の前面に復号結果の一覧を表示するようにしてもよいし、各商品（バーコード）の近傍に各々の復号結果を表示するようにしてもよい。または、合成画像と復号結果を一定時間毎に切り替えて表示してもよい。
【０１１２】
さらにまた、この第１実施例では、１次元のバーコードを読み取る場合について説明したが、ＱＲコード（登録商標）のような２次元コードを読み取るようにしてもよい。かかる場合には、２値画像から正方形の領域が２次元コードに対応する領域Ｒとして検出される。さらに、１次元のバーコードと２次元コードが混在してもよい。かかる場合には、検出したコードの種類に応じて、異なる復号処理が実行される。
【０１１３】
［第２実施例］
第２実施例の読取装置１０は、バーコードの復号の成否を示す成否画像を変更した以外は、第１実施例と同じであるため、異なる内容についてのみ説明し、重複した内容については、説明を省略する、または、簡単に説明することにする。
【０１１４】
図１４は、第２実施例の合成画像の一例を示す図解図である。図１４に示すように、バーコードの復号に成功した場合には、当該バーコードの領域Ｒに対応して緑色のリング画像が描画される。一方、バーコードの復号に失敗した場合には、当該バーコードの領域Ｒに対応して赤色のリング画像が描画される。たとえば、成否画像において、リング画像は、その中心が領域Ｒに対応する領域の中心と重なるように描画される。図示は省略するが、第２実施例においては、バーコードに重なるように描画されたリング画像を含む成否画像が生成される。このようにしても、バーコードが付された商品に対応して当該バーコードの復号の成否を示す情報を表示することができる。
【０１１５】
なお、第２実施例においては、リング画像は半透明の緑色または赤色で塗り潰されるようにするが、リング画像を表示する場合には、商品の一部にリング画像が重なるだけであるため、背面側が見えない不透明の緑色または赤色でリング画像を塗り潰してもよい。
【０１１６】
具体的なＣＰＵ２０の読取処理は、第１実施例に示した読取処理と一部が異なる以外は同じであるため、異なる部分についてのみ説明する。図１５は、第２実施例の読取処理の他の一部であって、図１２に後続するフロー図である。
【０１１７】
図１５に示すように、第２実施例では、ステップＳ２９に代えてステップＳ２９ａが実行され、ステップＳ３１に代えてステップＳ３１ａが実行される。
【０１１８】
したがって、ステップＳ２７で“ＹＥＳ”であれば、ステップＳ２９ａで、生成する成否画像において、ｉ番目のバーコードの領域Ｒに対応する領域上に緑色のリング画像を描画する。一方、ステップＳ２７で“ＮＯ”であれば、ステップＳ３１ａで、生成する成否画像において、ｉ番目のバーコードの領域Ｒに対応する領域上に赤色のリング画像を描画する。
【０１１９】
ただし、ステップＳ２９ａおよびステップＳ３１ａでは、ＣＰＵ２０は、バーコードラベルデータ７４ｆからｉ番目のバーコードに対応する領域Ｒの座標を取得し、ＣＰＵ２０の指示の下、ドライバ２８が、成否画像において、当該領域Ｒと同じ位置および同じ大きさの領域に重なるようにリング画像を描画する。
【０１２０】
第２実施例によれば、成否画像においてバーコードに対応して当該バーコードの復号の成否を示すリング画像を表示するので、第１実施例と同様に、バーコードの成否についての視認性を向上させることができる。
【０１２１】
また、第２実施例によれば、成否画像においてバーコードに対応して当該バーコードの復号の成否を示すリング画像を表示するので、一つの商品に複数のバーコードが付されている場合であっても、バーコード毎に復号の成否を示すリング画像を表示することができる。
【０１２２】
なお、第２実施例では、成否画像においてバーコードに対応して当該バーコードの復号の成否を示すリング画像を表示するので、商品の形状を検出する必要はない。また、商品テーブルを作成する必要もない。したがって、読取処理において、ステップＳ３、Ｓ５、Ｓ７の処理を省略することができる。
【０１２３】
また、第２実施例では、成否画像においてバーコードに対応して当該バーコードの復号の成否を示すリング画像を表示するようにしてあるが、リング画像に代えて、成否を示す文字を表示するようにしてもよい。たとえば、バーコードの復号に成功した場合には、当該バーコードの近傍に「成功」の文字を表示し、バーコードの復号に失敗した場合には、当該バーコードの近傍に「失敗」の文字を表示してもよい。また、リング画像に以外の図形または記号を表示するようにしてもよい。たとえば、バーコードの復号に成功した場合には、上記のように、緑色のリング画像を表示し、バーコードの復号に失敗した場合には、リング画像に代えて赤色の×印の画像を表示してもよい。
【０１２４】
さらに、第２実施例では、成否画像においてバーコードに対応して当該バーコードの復号の成否を示すリング画像を表示するようにしてあるが、当該バーコードが付された商品に対応してリング画像を表示するようにしてもよい。かかる場合には、たとえば、リング画像は、その中心が領域Ｑの中心と一致するように描画される。
【０１２５】
[第３実施例]
第３実施例の読取装置１０は、復号できないバーコードが付された商品に対応する領域Ｑのみを半透明の赤色で塗り潰した成否画像を生成するようにした以外は、第１実施例と同じであるため、異なる内容についてのみ説明し、重複した内容については、説明を省略する、または、簡単に説明することにする。
【０１２６】
図１６は、第３実施例の合成画像の一例を示す図解図である。図１６に示すように、バーコードの復号に成功した場合には、当該バーコードを含む領域Ｑは塗り潰されない。一方、バーコードの復号に失敗した場合には、当該バーコードを含む領域Ｑを半透明の赤色で塗り潰す。
【０１２７】
具体的なＣＰＵ２０の読取処理は、第１実施例に示した読取処理と一部が異なる以外は同じであるため、異なる部分についてのみ説明する。図１７は、第３実施例の読取処理の他の一部であって、図１２に後続するフロー図である。
【０１２８】
図１７に示すように、第３実施例では、ステップＳ２９の処理が省略される。したがって、ステップＳ２７で“ＹＥＳ”であれば、ステップＳ３３に進む。一方、ステップＳ２７で“ＮＯ”であれば、ステップＳ３１で、成否画像において、ｉ番目のバーコードを含む領域Ｑに対応する領域を半透明の赤色で塗り潰して、ステップＳ３３に進む。
【０１２９】
第３実施例によれば、復号できないバーコードが付された商品に対応する領域Ｑのみを半透明の赤色で塗り潰した成否画像を撮影画像に重畳するようにしても、バーコードの復号の成否の視認性を向上させることができる。
【０１３０】
[第４実施例]
第４実施例の読取装置１０は、復号できたバーコードが付された商品に対応する領域Ｑのみを半透明の緑色で塗り潰した成否画像を生成するようにした以外は、第１実施例と同じであるため、異なる内容についてのみ説明し、重複した内容については、説明を省略する、または、簡単に説明することにする。
【０１３１】
図１８は、第４実施例の合成画像の一例を示す図解図である。図１８に示すように、バーコードの復号に成功した場合には、当該バーコードを含む領域Ｑを半透明の緑色で塗り潰す。一方、バーコードの復号に失敗した場合には、当該バーコードを含む領域Ｑは塗り潰されない。
【０１３２】
具体的なＣＰＵ２０の読取処理は、第１実施例に示した読取処理と一部が異なる以外は同じであるため、異なる部分についてのみ説明する。図１９は、第４実施例の読取処理の他の一部であって、図１２に後続するフロー図である。
【０１３３】
図１９に示すように、第４実施例では、ステップＳ３１の処理が省略される。したがって、ステップＳ２７で“ＹＥＳ”であれば、ステップＳ２９で、成否画像において、ｉ番目のバーコードを含む領域Ｑに対応する領域を半透明の緑色で塗り潰して、ステップＳ３３に進む。一方、ステップＳ２７で“ＮＯ”であれば、ステップＳ３３に進む。
【０１３４】
第４実施例によれば、復号できたバーコードが付された商品に対応する領域Ｑのみを半透明の緑色で塗り潰した成否画像を撮影画像に重畳するようにしても、バーコードの復号の成否の視認性を向上させることができる。
【０１３５】
なお、上述の各実施例では、成否画像を生成し、撮影画像の前面に合成するようにしたが、これに限定される必要はない。たとえば、撮影画像において、領域Ｑに対応する領域に、バーコードの復号の成否に応じた色を合成するようにしてもよい。また、第２実施例に示したように、リング画像を描画する場合には、バーコードの復号の成否に応じた色を付したリング画像を撮影画像の前面に直接的に描画するようにしてもよい。
【０１３６】
また、上述の各実施例では、読取装置１０が手持ち型のバーコードリーダないしバーコードスキャナである場合について説明したが、据置型のバーコードリーダないしバーコードスキャナであってもよい。かかる場合には、読取装置１０は、机などの所定の台の上に設置され、所定の台の所定の範囲に載置された複数の商品のそれぞれに付された複数のバーコードを読み取る。
【０１３７】
さらに、上述の各実施例で示した具体的な数値および画面等は単なる例示であり、限定されるべきでなく、実際の製品に応じて適宜変更される。
【０１３８】
さらにまた、上述の各実施例で示した読取処理のフロー図では、同じ結果が得られる場合には、ステップの順番は入れ替え可能である。
【符号の説明】
【０１３９】
１０  …符号読取装置
１４  …表示装置
１６  …入力装置
１８  …撮像装置
２０  …ＣＰＵ
２２  …ＲＯＭ
２４  …ＲＡＭ
２８  …ドライバ
【図１】
2018026025.tif 000003
【図２】
2018026025.tif 000004
【図３】
2018026025.tif 000005
【図４】
2018026025.tif 000006
【図５】
2018026025.tif 000007
【図６】
2018026025.tif 000008
【図７】
2018026025.tif 000009
【図８】
2018026025.tif 000010
【図９】
2018026025.tif 000011
【図１０】
2018026025.tif 000012
【図１１】
2018026025.tif 000013
【図１２】
2018026025.tif 000014
【図１３】
2018026025.tif 000015
【図１４】
2018026025.tif 000016
【図１５】
2018026025.tif 000017
【図１６】
2018026025.tif 000018
【図１７】
2018026025.tif 000019
【図１８】
2018026025.tif 000020
【図１９】
2018026025.tif 000021