[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP7331703B2 - 読取装置 - Google Patents

読取装置 Download PDF

Info

Publication number
JP7331703B2
JP7331703B2 JP2020000469A JP2020000469A JP7331703B2 JP 7331703 B2 JP7331703 B2 JP 7331703B2 JP 2020000469 A JP2020000469 A JP 2020000469A JP 2020000469 A JP2020000469 A JP 2020000469A JP 7331703 B2 JP7331703 B2 JP 7331703B2
Authority
JP
Japan
Prior art keywords
image
luminance value
information code
unit
specific information
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.)
Active
Application number
JP2020000469A
Other languages
English (en)
Other versions
JP2021110980A (ja
Inventor
岳史 藤角
展秀 澤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2020000469A priority Critical patent/JP7331703B2/ja
Publication of JP2021110980A publication Critical patent/JP2021110980A/ja
Application granted granted Critical
Publication of JP7331703B2 publication Critical patent/JP7331703B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Studio Devices (AREA)

Description

本明細書で開示する技術は、情報コードに記録されたデータを読み取る読取装置に関する。
情報コードは、様々な場所で利用される。例えば、情報コードが暗い場所で利用される場合には、読取装置によって撮像された情報コードの画像からデータを読み取ることができない場合がある。
例えば、暗い場所の情報コードを撮像する場合に、当該情報コードを複数フレームのロングシャッターで撮像し、情報コードの認識に適した諧調を有する画像を撮像することが想定される。しかし、複数フレームのロングシャッターを利用すると、手振れによりぼけた画像が撮像される場合がある。特許文献1には、この問題に対処するために、カメラの露光時間をカメラの1フレームの駆動時間の範囲内で延長する技術が開示されている。
国際公開2004/093433号公報
過度に暗い状況では、露光時間を延長したとしても、情報コードの認識に適した諧調を有する画像を撮像することができない場合がある。また、イメージセンサの感度を上げて対策することも可能であるが、イメージセンサによって撮像された画像全体が明るくなり、当該画像の中から情報コードの画像を特定することができない場合がある。
本明細書では、暗い場所の情報コードに記録されたデータを適切に読み取るための新規な技術を提供する。
本明細書は、読取装置を開示する。前記読取装置は、情報コードを撮像可能な撮像部と、前記撮像部によって撮像された特定の情報コードの第1の画像を表すデータを取得する取得部と、前記第1の画像を構成する複数個の画素の座標のそれぞれと、前記第1の画像よりも前に前記撮像部によって撮像された前記特定の情報コードの第2の画像を構成する複数個の画素の座標のそれぞれと、を合わせる位置合わせを実行する位置合わせ部と、前記第1の画像を構成する前記複数個の画素のそれぞれについて、当該画素の第1の輝度値と、前記第2の画像を構成する前記複数個の画素のうちの特定の画素であって、当該画素の座標と合わせられた座標に位置する前記特定の画素の第2の輝度値と、を合算することによって、前記第1の輝度値及び前記第2の輝度値よりも高い第3の輝度値を有する第3の画像であって、前記特定の情報コードを表す前記第3の画像を生成する第1の生成部と、生成済みの前記第3の画像に基づいて、前記特定の情報コードに記録されたデータを読み取る第1の読取部と、を備える。
ここで、「輝度値」は、色空間における色の座標から得られる値である。例えば、色空間としてYUV空間が利用される場合には、「輝度値」は、Yの値である。また、例えば、色空間としてRGB空間が利用される場合には、「輝度値」は、所定の式に基づいてRGBの各値から算出される値である。「輝度値」は、例えば、0~255の8ビットの値を示す。輝度値「0」は、最も暗い色を示し、輝度値「255」は、最も明るい色を示す。上記の構成によれば、読取装置は、特定の情報コードの2枚の画像(第1の画像と第2の画像)の位置合わせを実行し、2枚の画像の輝度値を合算する。これにより、第1の画像の第1の輝度値及び第2の画像の第2の輝度値よりも高い第3の輝度値を有する第3の画像が生成される。例えば、第1の画像において、輝度値「1」の画素と、輝度値「50」の画素と、が隣接する場合に、隣接する画素の輝度値の差は、「49」である。画素の輝度値の差が小さいと、情報コードの認識に適した諧調(即ち濃淡)が得られない場合がある。ここで、例えば、第2の画像においても、同様に、輝度値「1」の画素と、輝度値「50」の画素と、が隣接する状況を想定する。この場合に、第1の画像の輝度値と第2の画像の輝度値を合算すると、第3の画像において、輝度値「2」の画素と、輝度値「100」の画素と、が隣接する。即ち、隣接する画素の輝度値の差が、「49」から「98」に増える。このため、第3の画像を生成することによって、情報コードの認識に適した諧調を得ることができる。情報コードの認識に適した諧調を有する第3の画像に基づいて、特定の情報コードに記録されたデータを読み取ることにより、暗い場所の情報コードに記録されたデータを適切に読み取ることができる。
前記読取装置は、さらに、前記第1の画像を構成する前記複数個の画素に対応する複数個の前記第1の輝度値から算出される判断値が所定の閾値以上であるのか否かを判断する判断部を備え、前記第1の生成部は、前記判断値が前記閾値以上であると判断される場合に、前記第3の画像を生成し、前記判断値が前記閾値未満であると判断される場合に、前記第3の画像は生成されなくてもよい。
ここで、「判断値」は、例えば、複数個の第1の輝度値の平均値、合計値等である。「判断値」が所定の閾値未満であることは、第1の画像の輝度値が全体的に小さいことを示す。第1の画像の輝度値が全体的に小さい場合には、第3の画像を生成しても、情報コードの認識に適した諧調を有する画像が得られない可能性がある。上記の構成によると、情報コードの認識に適した諧調を有しない第3の画像が生成されることを抑制することができる。
前記読取装置は、さらに、前記判断値が前記閾値未満であると判断される場合に、前記撮像部の設定を変更して、前記特定の情報コードの画像の撮り直しを前記撮像部に指示する第1の指示部を備えてもよい。
ここで、「設定を変更」することは、例えば、撮像部の露光時間を延長すること、撮像部の感度を上げることを含む。撮像部の設定を変更することによって、全体的に高い輝度値を有する画像を撮り直すことができる。
前記第2の画像は、前記第1の画像の一つ前に前記撮像部によって撮像された画像であってもよい。
即ち、第1の画像と第2の画像は、連続して撮像された2枚の画像である。例えば、一つ前に撮像部によって撮像された第2の画像に代えて、一つ前よりも過去に撮像部によって撮像された画像が利用される比較例が想定される。一つ前よりも過去における読取装置の姿勢は、一つ前における読取装置の姿勢に比べて、第1の画像の撮像時の読取装置の姿勢から大きく異なる可能性が高い。上記の構成によれば、連続して撮像された2枚の画像を利用することにより、手振れによる影響を少なくして、第3の画像を生成することができる。
前記読取装置は、さらに、前記第3の画像に基づいて、前記特定の情報コードに記録されたデータを読み取ることが失敗する場合に、前記第1の画像及び前記第2の画像よりも前に前記撮像部によって撮像された前記特定の情報コードの画像を利用して、前記第3の輝度値よりも高い輝度値を有する第4の画像を生成する第2の生成部と、生成済みの前記第4の画像に基づいて、前記特定の情報コードに記録されたデータを読み取る第2の読取部と、を備えてもよい。
このような構成によれば、読取装置は、第3の画像に基づいたデータの読取が失敗する場合でも、さらに高い輝度値を有する第4の画像に基づいたデータの読取を実行する。第4の画像が第3の画像より高い輝度値を有するので、第3の画像と比べて、第4の画像に基づいたデータの読取は成功する確率が高い。第3の画像に基づいたデータの読取が失敗する場合に、特定の情報コードに記録されたデータの読み出しが失敗することを抑制することができる。
前記読取装置は、さらに、前記第4の画像に基づいて、前記特定の情報コードに記録されたデータを読み取ることが失敗する場合に、前記撮像部の設定を変更して、前記特定の情報コードの画像の撮り直しを前記撮像部に指示する第2の指示部を備えてもよい。
このような構成によれば、第4の画像に基づいたデータの読取が失敗する場合でも、変更済みの設定に従って特定の情報コードの画像を撮り直して、再び、特定の情報コードに記録されたデータの読取を試行することができる。特定の情報コードに記録されたデータの読取の成功を促すことができる。
読取装置の利用状況を示す。 読取装置のブロック図を示す。 読取装置において実行される処理のフローチャートを示す。 第1の重ね合わせ処理のフローチャートを示す。 第1の重ね合わせ処理の具体例を示す。 第2の重ね合わせ処理のフローチャートを示す。 第2の重ね合わせ処理の具体例を示す。
(読取装置10の利用状況;図1)
本実施例の読取装置10は、情報コード(例えば2次元コード200)を撮像して、撮像済みの情報コードに記録されているデータを読み取るための装置である。読取装置10は、可搬型であり、ユーザ2によって把持されている。2次元コード200は、物体100(例えば段ボール)の表面に記載されている。ここで、物体100が暗い場所(例えば照明器具の無い倉庫)に配置されている状況が想定される。暗い場所の2次元コード200が読取装置10によって撮像されると、2次元コード200の画像は全体的に暗くなる。この場合、2次元コード200に記録されたデータを読み取ることができない可能性がある。
(読取装置10の構成;図2)
図2に示すように、読取装置10は、撮像部12と、操作部16と、表示部18と、ジャイロセンサ20と、振動部24と、制御部30と、メモリ32と、を備える。撮像部12は、発光部12aと、受光部12bと、を備える。
発光部12aは、情報コードを照らす照明光を発光可能な部位である。発光部12aは、例えば、LEDである。受光部12bは、発光部12aによる照射光の反射光を受光可能な部位である。受光部12bは、反射光を集光するレンズと、当該レンズによって集光された光を電気信号(例えば画像データ)に変換するイメージセンサと、を含む。なお、変形例では、発光部12aは、レーザを走査して情報コードに照射するレーザ光源であり、受光部12bは、当該レーザの反射レーザを受光する素子であってもよい。また、他の変形例では、撮像部12は、情報コードを撮像可能なカメラであってもよい。
操作部16は、複数個のキーを備える。ユーザは、操作部16を操作することによって、様々な指示を読取装置10に入力することができる。表示部18は、様々な情報を表示するためのディスプレイである。表示部18は、ユーザから指示を受け付けるタッチパネル(即ち操作部)としても機能する。なお、変形例では、表示部18は、操作部として機能しないディスプレイであってもよい。
ジャイロセンサ20は、読取装置10の姿勢の変化、即ち、読取装置10の角加速度を計測するためのセンサである。
振動部24は、回転力に起因する振動を発生させる振動モータによって構成される。振動部24の振動モータが駆動されることにより、読取装置10が振動する。
制御部30は、メモリ32に記憶されているプログラム34に従って様々な処理を実行する。制御部30は、例えば、CPUである。メモリ32は、揮発性メモリ、不揮発性メモリ等によって構成される。
(読取装置10の処理;図3)
図3を参照して、読取装置10の制御部30によって実行される処理を説明する。図3の処理は、操作部16において情報コードの読取を開始するための操作が行われることをトリガとして開始される。
S10では、制御部30は、2次元コード200の撮像を撮像部12に指示する。そして、制御部30は、撮像部12から2次元コード200の撮像画像を表す画像データを取得する。
S12では、制御部30は、S10で取得された画像データによって表される撮像画像(以下では、「今回の撮像画像」と記載)の全体の輝度値の平均値(以下では、「平均輝度値」と記載)を算出する。撮像画像は、複数個の画素で構成される。そして各画素の色は、YUV空間の座標によって示される。「輝度値」は、YUV空間のYの値である。Yの値は、0~255の8ビットの値である。輝度値「0」は、最も暗い色を示し、輝度値「255」は、最も明るい色を示す。平均輝度値は、今回の撮像画像を構成する複数個の画素の全てのYの値の平均値である。なお、変形例では、各画素の色は、RGB空間の座標によって示されてもよい。この場合、「輝度値」は、所定の式に基づいてRGBの各値から算出される値であってもよい。
S14では、制御部30は、S12で算出された平均輝度値が所定の閾値(例えば、「50」)以上であるのか否かを判断する。平均輝度値が所定の閾値未満であることは、今回の撮像画像の輝度値が全体的に小さいことを示す。制御部30は、平均輝度値が所定の閾値未満であると判断する場合(S14でNO)に、S80に進む。今回の撮像画像の輝度値が全体的に小さい場合には、後述する第1の重ね合わせ処理(S30、図4参照)等を実行しても、2次元コード200の認識に適した諧調を有する画像が得られない可能性がある。S14の判断を実行することにより、2次元コード200の認識に適した諧調を有しない画像が生成されることを抑制することができる。
S80では、制御部30は、撮像部12の設定を変更する。撮像部12の設定は、例えば、受光部12bの露光時間を延長すること、受光部12bの感度を上げることである。撮像部12の設定を変更することによって、全体的に高い輝度値を有する画像を撮り直すことができる。
S82では、制御部30は、振動部24の振動モータを駆動する報知動作を実行する。これにより、読取装置10を把持するユーザ2は、報知動作による振動を感じて、十分な輝度値を有する画像を撮像することができなかったことを知ることができる。S62が終了すると、S10に戻る。即ち、2次元コード200の画像が撮り直される。なお、他の例では、制御部30は、十分な輝度値を有する画像を撮像することができなかったことを示す通知を表示部18に表示する報知動作を実行してもよい。さらに、他の例では、制御部30は、当該通知を示す音声を出力する報知動作を実行してもよい。
また、制御部30は、平均輝度値が所定の閾値以上であると判断する場合(S14でYES)に、S20に進む。S20では、制御部30は、今回の撮像画像に対して二値化処理を実行する。
S22では、制御部30は、S20で二値化された画像内にシンボルが存在するのか否かを判断する。シンボルは、2次元コード200の回転角度を決定するための所定のパターン画像である。制御部30は、S20で二値化された画像内にシンボルが存在すると判断する場合(S22でYES)に、S60に進む。
S60では、制御部30は、S20で二値化された画像内のシンボルを利用して、S20で二値化された画像を回転し、回転済みの画像(即ち2次元コード200に相当する画像)に基づいて、当該画像に記録されたデータを読み取る。この結果、2次元コード200に記録されたデータが読み取られる。
S62では、制御部30は、S60で読み取ったデータを出力する。例えば、制御部30は、当該データによって表される読取結果(例えば文字列)を表示部18に表示する。また、例えば、制御部30は、当該データを利用した通信を実行する。S62が終了すると図3の処理が終了する。
また、制御部30は、S20で二値化された画像内にシンボルが存在しないと判断する場合(S22でNO)に、S30に進む。S30では、制御部30は、後述する第1の重ね合わせ処理(図4参照)を実行する。第1の重ね合わせ処理は、高い輝度値を有する画像を生成するための処理である。第1の重ね合わせ処理の詳細は、後述する。
続くS32では、制御部30は、第1の重ね合わせ処理によって生成された画像に対して二値化処理を実行する。S34では、制御部30は、S32で二値化された画像内にシンボルが存在するのか否かを判断する。制御部30は、S32で二値化された画像内にシンボルが存在すると判断する場合(S32でYES)に、S60に進む。即ち、S32で二値化された画像に基づいた読取処理が実行される。一方、制御部30は、S32で二値化された画像内にシンボルが存在しないと判断する場合(S32でNO)、即ち、第1の重ね合わせ処理によって生成された画像に基づいて、2次元コード200に記録されたデータを読み取ることが失敗する場合に、S40に進む。なお、図示は省略しているが、第1の重ね合わせ処理において画像が生成されない場合(重ね合わせの相手の画像(後述する直前の撮像画像)がメモリ32に記憶されていない場合)には、S32以降の処理がスキップされ、制御部30は、S10に戻る。
S40では、制御部30は、後述する第2の重ね合わせ処理(図6参照)を実行する。第2の重ね合わせ処理は、さらに高い輝度値を有する画像を生成するための処理である。第2の重ね合わせ処理の詳細は、後述する。
続くS42では、制御部30は、第2の重ね合わせ処理によって生成された画像に対して二値化処理を実行する。S44では、制御部30は、S42で二値化された画像内にシンボルが存在するのか否かを判断する。制御部30は、S42で二値化された画像内にシンボルが存在すると判断する場合(S42でYES)に、S60に進む。即ち、S42で二値化された画像に基づいた読取処理が実行される。一方、制御部30は、S42で二値化された画像内にシンボルが存在しないと判断する場合(S42でNO)に、即ち、第2の重ね合わせ処理によって生成された画像に基づいて、2次元コード200に記録されたデータを読み取ることが失敗する場合に、S46に進む。なお、図示は省略しているが、第2の重ね合わせ処理において画像が生成されない場合(重ね合わせの相手の画像(後述するバッファの画像)がメモリ32に記憶されていない場合)には、S42以降の処理がスキップされ、制御部30は、S10に戻る。
S46では、制御部30は、第1の重ね合わせ処理又は第2の重ね合わせ処理によって生成された画像(以下では、「重ね合わせ画像」と記載)に対してノイズを除去するためのノイズ除去処理を実行する。例えば、第1の重ね合わせ処理と第2の重ね合わせ処理とを実行した結果として得られる重ね合わせ画像(即ちS46の時点で生成されている重ね合わせ画像)に対してノイズ除去処理を実行する。ノイズ除去処理は、例えば、移動平均フィルタを利用した画像処理等の既知の画像処理である。
S48では、制御部30は、ノイズ除去後の重ね合わせ画像を表す画像データをバッファの画像データとしてメモリ32に記憶する。バッファの画像データによって表される画像は、S10の処理によって繰り返し撮像された2枚以上の画像を重ね合わせた画像である。続くS50は、S80と同様である。S50が終了すると、制御部30は、S10に戻る。
(第1の重ね合わせ処理;図4、図5)
図4、図5を参照して、図3のS30の第1の重ね合わせ処理について説明する。
S100では、制御部30は、メモリ32内に今回の撮像画像の直前に撮像された撮像画像(以下では、「直前の撮像画像」と記載)を表す画像データが記憶されているのか否かを判断する。別言すれば、「直前の撮像画像」は、今回の撮像画像の一つ前に撮像部12によって撮像された画像である。制御部30は、メモリ32内に直前の撮像画像を表す画像データが記憶されていると判断する場合(S100でYES)に、S102に進む。
S102では、制御部30は、今回の撮像画像を構成する複数個の画素の座標のそれぞれと、直前の撮像画像を構成する複数個の画素の座標のそれぞれと、を合わせる位置合わせを実行する。図5に示すように、2次元コード200は、複数個のセルをマトリックス状に2次元に配置したコードである。各セルは、白又は黒で表される。まず、制御部30は、今回の撮像画像210の中から特徴点を抽出する。本実施例では、特徴点は、例えば、2次元コード200の左上の角部である。制御部30は、抽出済みの特徴点を構成する画素の座標(A1、B1)を算出する。さらに、制御部30は、直前の撮像画像220の中からも特徴点を抽出し、抽出済みの特徴点を構成する画素の座標(A2、B2)を算出する。ここで、手振れ等の影響を受けて、座標(A2、B2)は、座標(A1、B1)とは異なる。また、制御部30は、ジャイロセンサ20から取得される角加速度と、を利用して、位置合わせの方向(即ち、手振れの方向)を算出する。そして、制御部30は、基準点と座標(A2、B2)との間の距離、基準点と座標(A1、B1)との間の距離、及び、算出済みの方向を利用して、今回の撮像画像210の複数個の画素の座標のそれぞれと、直前の撮像画像220の複数個の画素の座標のそれぞれとを、基準点を含む基準の座標に合わせる。なお、変形例では、今回の撮像画像210の複数個の画素の座標のそれぞれを、直前の撮像画像220の複数個の画素の座標のそれぞれに合わせてもよい。これにより、例えば、制御部30は、今回の撮像画像210の座標(A1、B1)に位置する画素と、直前の撮像画像220の座標(A2、B2)に位置する画素と、が2次元コード200の同じ領域(即ち左上の角部)を表す画素であると認識する。これにより、位置合わせが完了する。
S104では、制御部30は、S102の位置合わせが成功したのか否かを判断する。例えば、今回の撮像画像の中から特徴点が抽出できない場合に、位置合わせが失敗する。制御部30は、位置合わせが成功したと判断する場合(S104でYES)に、S106に進み、位置合わせが失敗したと判断する場合(S104でNO)に、図3のS10に戻る。即ち、2次元コード200の画像が撮り直される。
S106では、制御部30は、今回の撮像画像の輝度値と直前の撮像画像の輝度値を合算した重ね合わせ画像を生成する。図5に示すように、例えば、今回の撮像画像210の座標(A1、B1)に位置する画素の輝度値はY1を示す。また、直前の撮像画像220の座標(A2、B2)に位置する画素の輝度値はY2を示す。ここで、S102において、座標(A1、B1)と座標(A2、B2)とは、基準の座標に合わせられている。制御部30は、座標(A1、B1)の輝度値Y1と座標(A2、B2)の輝度値Y2を合算する。そして、制御部30は、位置合わせ後の座標(A2、B2)の画素の輝度値をY1+Y2に決定する。この処理を、今回の撮像画像210の複数個の画素と直前の撮像画像220の複数個の画素の全てについて実行する。これにより、制御部30は、今回の撮像画像210の輝度値(例えばY1)と直前の撮像画像220の輝度値(例えばY2)よりも高い輝度値(例えばY1+Y2)を有する重ね合わせ画像300を生成する。重ね合わせ画像300は、2次元コード200を表す画像である。
続くS110では、制御部30は、メモリ32から直前の撮像画像220を表す画像データを削除し、今回の撮像画像210を表す画像データを直前の撮像画像を表す新たな画像データとしてメモリ32に記憶する。
また、制御部30は、メモリ32内に直前の撮像画像を表す画像データが記憶されてないと判断する場合(S100でNO)に、S102からS106の処理をスキップして、S110に進む。S110が終了すると、図4の処理が終了する。
(第2の重ね合わせ処理;図6、図7)
図6、図7を参照して、図3のS40の第2の重ね合わせ処理について説明する。
S200では、制御部30は、メモリ32内にバッファの画像データ(図3のS46)が記憶されているのか否かを判断する。制御部30は、メモリ32内にバッファの画像データが記憶されていると判断する場合(S200でYES)に、S206に進む。一方、制御部30は、メモリ32内にバッファの画像データが記憶されていないと判断する場合(S200でNO)に、S206以降の処理をスキップして、図6の処理を終了する。
S206では、制御部30は、今回の撮像画像210の輝度値と、メモリ32内のバッファの画像データによって表される画像310の輝度値と、を合算した重ね合わせ画像を生成する。ここで、メモリ32内にバッファの画像データが記憶されている状況は、今回の撮像画像210が撮像される前に第1の重ね合わせ処理によって重ね合わせ画像が生成されている状況を示す。例えば、メモリ32内のバッファの画像データによって表されるバッファの画像310は、直前の撮像画像220と、直前の撮像画像220よりも前に撮像された撮像画像と、を重ね合わる第1の重ね合わせ処理によって生成された画像である。即ち、バッファの画像310の複数個の画素の座標は、基準の座標に合わせられている。また、今回の撮像画像210の複数個の画素の座標も、図4のS102の処理によって、基準の座標に合わせられている。即ち、バッファの画像310の複数個の画素の座標と今回の撮像画像210の複数個の画素の座標についての位置合わせは、既に完了している。なお、変形例では、今回の撮像画像210とバッファの画像310とにおいて、図4のS102の処理と同様の位置合わせを実行してもよい。
図7に示すように、今回の撮像画像210の左上の角部の画素の輝度値は、Y1を示す。また、バッファの画像310の左上の角部の画素の輝度値は、Y2+Y3を示す。ここで、Y2は、直前の撮像画像220の輝度値であり、Y3は、直前の撮像画像220よりも前に撮像された撮像画像の輝度値である。制御部30は、輝度値Y1と輝度値Y2+Y3を合算し、左上の角部に対応する座標の画素の輝度値をY1+Y2+Y3に決定する。この処理を、今回の撮像画像210の複数個の画素とバッファの画像310の複数個の画素の全てについて実行する。これにより、制御部30は、重ね合わせ画像300の輝度値(例えばY1+Y2)よりも高い輝度値(例えばY1+Y2+Y3)を有する重ね合わせ画像320を生成する。重ね合わせ画像320は、2次元コード200を表す画像である。S206が終了すると、図6の処理が終了する。
(本実施例の効果)
本実施例の構成によれば、読取装置10は、2次元コード200の2枚の画像(今回の撮像画像210と直前の撮像画像220)の位置合わせを実行し(図4のS102)、今回の撮像画像210の輝度値Y1と直前の撮像画像220の輝度値Y2を合算する(S106)。これにより、今回の撮像画像210の輝度値Y1及び直前の撮像画像220の輝度値Y2よりも高い輝度値Y1+Y2を有する重ね合わせ画像300が生成される(S106、図5)。例えば、今回の撮像画像210において、輝度値「1」の画素と、輝度値「50」の画素と、が隣接する場合に、隣接する画素の輝度値の差は、「49」である。画素の輝度値の差が小さいと、2次元コードの認識に適した諧調(即ち濃淡)が得られない場合がある。ここで、例えば、直前の撮像画像220においても、同様に、輝度値「1」の画素と、輝度値「50」の画素と、が隣接する状況を想定する。この場合に、今回の撮像画像210の輝度値と直前の撮像画像220の輝度値を合算すると、重ね合わせ画像300において、輝度値「2」の画素と、輝度値「100」の画素と、が隣接する。即ち、隣接する画素の輝度値の差が、「49」から「98」に増える。このため、重ね合わせ画像300を生成することによって、2次元コードの認識に適した諧調を得ることができる。2次元コードの認識に適した諧調を有する重ね合わせ画像300に基づいて、2次元コード200に記録されたデータを読み取ることにより、暗い場所の2次元コード200に記録されたデータを適切に読み取ることができる。
また、第1の重ね合わせ処理(図4)で利用される2枚の画像は、今回の撮像画像210と直前の撮像画像220、即ち、連続して撮像された2枚の画像である。例えば、直前の撮像画像220に代えて、一つ前よりも過去に撮像部12によって撮像された画像が利用される比較例が想定される。一つ前よりも過去における読取装置10の姿勢は、直前の撮像画像220の撮像時の読取装置10の姿勢に比べて、今回の撮像画像210の撮像時の読取装置10の姿勢から大きく異なる可能性が高い。即ち、比較例の構成では、手振れによる影響を大きく受ける可能性が高い。本実施例の構成によれば、連続して撮像された2枚の画像を利用することにより、手振れによる影響を少なくして、重ね合わせ画像300を生成することができる。
また、読取装置10は、第1の重ね合わせ処理で生成された重ね合わせ画像300に基づいたデータの読取が失敗する場合(図3のS34でNO)に、第2の重ね合わせ処理を実行して(S40)、重ね合わせ画像300の輝度値(例えばY1+Y2)よりも高い輝度値(例えばY1+Y2+Y3)を有する重ね合わせ画像320を生成する(図6のS206、図7)。そして、読取装置10は、重ね合わせ画像320に基づいた読取処理を実行する(図3のS60)。重ね合わせ画像320が重ね合わせ画像300より高い輝度値を有するので、重ね合わせ画像300と比べて、重ね合わせ画像320に基づいたデータの読取は成功する確率が高い。重ね合わせ画像300に基づいたデータの読取が失敗する場合に、2次元コード200に記録されたデータの読み出しが失敗することを抑制することができる。
また、読取装置10は、第2の重ね合わせ処理で生成された重ね合わせ画像320に基づいたデータの読取が失敗する場合(図3のS44でNO)に、撮像部12の設定を変更し(S50)、2次元コード200の画像を撮り直す(S10)。重ね合わせ画像320に基づいたデータの読取が失敗する場合でも、変更済みの設定に従って2次元コード200の画像を撮り直して、再び、2次元コード200に記録されたデータの読取を試行することができる。2次元コード200に記録されたデータの読取の成功を促すことができる。
(対応関係)
読取装置10、撮像部12が、それぞれ、「読取装置」、「撮像部」の一例である。2次元コード200が、「特定の情報コード」の一例である。今回の撮像画像210、直前の撮像画像220、重ね合わせ画像300、重ね合わせ画像320が、それぞれ、「第1の画像」、「第2の画像」、「第3の画像」、「第4の画像」の一例である。図5の座標(A2、B2)の画素が、「特定の画素」の一例である。輝度値Y1、輝度値Y2、輝度値Y1+Y2が、それぞれ、「第1の輝度値」、「第2の輝度値」、「第3の輝度値」の一例である。平均輝度値が、「判断値」の一例である。
図3のS10、図4のS102、S106が、それぞれ、「取得部」、「位置合わせ部」、「第1の生成部」によって実現される処理の一例である。図3のS34でYESと判断された後に実行されるS60の処理、S44でYESと判断された後に実行されるS60の処理が、それぞれ、が、「第1の読取部」、「第2の読取部」によって実現される処理の一例である。S82の後に実行されるS10の処理、S50の後に実行されるS10の処理が、それぞれ、「第1の指示部」、「第2の指示部」の一例である。
以上、本明細書で開示する技術の具体例を説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例を採用してもよい。
(変形例1) 「情報コード」は、2次元コード200に限らず、例えば、バーコードであってもよい。
(変形例2) 図4の第1の重ね合わせ処理において、今回の撮像画像210と直前の撮像画像220よりも過去に撮像された画像とを重ね合わせてもよい。本変形例では、直前の撮像画像220よりも過去に撮像された画像が、「第2の画像」の一例である。
(変形例3)上記の実施例では、読取装置10は、第2の重ね合わせ処理によって重ね合わせ画像が生成される場合には、第2の重ね合わせ処理によって生成された重ね合わせ画像を表す画像データをバッファの画像データとしてメモリ32に記憶する(図3のS48)。即ち、バッファの画像は、2枚以上の画像を重ね合わせた画像であり、第2の重ね合わせ処理によって生成される重ね合わせ画像は、3枚以上の画像を重ね合わせた画像である。実施例では、「第4の画像」は、3枚以上の画像(例えば3枚、4枚の画像)を重ね合わせた画像である。これに代えて、読取装置10は、第2の重ね合わせ処理によって重ね合わせ画像が生成される場合でも、第1の重ね合わせ処理によって生成された重ね合わせ画像を表す画像データをバッファの画像データとしてメモリ32に記憶してもよい。即ち、バッファの画像は、2枚の画像のみを重ね合わせた画像であり、第2の重ね合わせ処理によって生成される重ね合わせ画像は、3枚の画像のみを重ね合わせた画像であってもよい。本変形例では、「第4の画像」は、3枚の画像のみを重ね合わせた画像である。
(変形例4) 「判断値」は、平均輝度値に限らず、例えば、今回の撮像画像210を構成する複数個の画素の全ての輝度値の合計値であってもよい。
(変形例5) 図3のS14の処理は実行されなくてもよい。本変形例では、「判断部」を省略可能である。
(変形例6) 図3のS80の処理は実行されなくてもよい。本変形例では、「第1の指示部」を省略可能である。
(変形例7) 図3のS40の第2の重ね合わせ処理は実行されなくてもよい。本変形例では、「第2の生成部」及び「第2の読取部」を省略可能である。
(変形例8) 図3のS50の処理は実行されなくてもよい。本変形例では、「第2の指示部」を省略可能である。
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2 :ユーザ
10 :読取装置
12 :撮像部
12a :発光部
12b :受光部
16 :操作部
18 :表示部
20 :ジャイロセンサ
24 :振動部
30 :制御部
32 :メモリ
34 :プログラム
100 :物体
200 :2次元コード
210 :今回の撮像画像
220 :直前の撮像画像
300 :重ね合わせ画像
310 :バッファの画像
320 :重ね合わせ画像
Y1 :輝度値
Y2 :輝度値
Y3 :輝度値

Claims (5)

  1. 情報コードを撮像可能な撮像部と、
    前記撮像部によって撮像された特定の情報コードの第1の画像を表すデータを取得する取得部と、
    前記第1の画像を構成する複数個の画素の座標のそれぞれと、前記第1の画像よりも前に前記撮像部によって撮像された前記特定の情報コードの第2の画像を構成する複数個の画素の座標のそれぞれと、を合わせる位置合わせを実行する位置合わせ部と、
    前記第1の画像を構成する前記複数個の画素のそれぞれについて、当該画素の第1の輝度値と、前記第2の画像を構成する前記複数個の画素のうちの特定の画素であって、当該画素の座標と合わせられた座標に位置する前記特定の画素の第2の輝度値と、を合算することによって、前記第1の輝度値及び前記第2の輝度値よりも高い第3の輝度値を有する第3の画像であって、前記特定の情報コードを表す前記第3の画像を生成する第1の生成部と、
    生成済みの前記第3の画像に基づいて、前記特定の情報コードに記録されたデータを読み取る第1の読取部と、
    前記第1の画像を構成する前記複数個の画素に対応する複数個の前記第1の輝度値から算出される判断値が所定の閾値以上であるのか否かを判断する判断部と、
    を備えており、
    前記第1の生成部は、前記判断値が前記閾値以上であると判断される場合に、前記第3の画像を生成し、
    前記判断値が前記閾値未満であると判断される場合に、前記第3の画像は生成されない、読取装置。
  2. 前記読取装置は、さらに、
    前記判断値が前記閾値未満であると判断される場合に、前記撮像部の設定を変更して、前記特定の情報コードの画像の撮り直しを前記撮像部に指示する第1の指示部を備える、請求項に記載の読取装置。
  3. 前記第2の画像は、前記第1の画像の一つ前に前記撮像部によって撮像された画像である、請求項1または2に記載の読取装置。
  4. 前記読取装置は、さらに、
    前記第3の画像に基づいて、前記特定の情報コードに記録されたデータを読み取ることが失敗する場合に、前記第1の画像及び前記第2の画像よりも前に前記撮像部によって撮像された前記特定の情報コードの画像を利用して、前記第3の輝度値よりも高い輝度値を有する第4の画像を生成する第2の生成部と、
    生成済みの前記第4の画像に基づいて、前記特定の情報コードに記録されたデータを読み取る第2の読取部と、
    を備える、請求項1からのいずれか一項に記載の読取装置。
  5. 前記読取装置は、さらに、
    前記第4の画像に基づいて、前記特定の情報コードに記録されたデータを読み取ることが失敗する場合に、前記撮像部の設定を変更して、前記特定の情報コードの画像の撮り直しを前記撮像部に指示する第2の指示部を備える、請求項に記載の読取装置。
JP2020000469A 2020-01-06 2020-01-06 読取装置 Active JP7331703B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020000469A JP7331703B2 (ja) 2020-01-06 2020-01-06 読取装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020000469A JP7331703B2 (ja) 2020-01-06 2020-01-06 読取装置

Publications (2)

Publication Number Publication Date
JP2021110980A JP2021110980A (ja) 2021-08-02
JP7331703B2 true JP7331703B2 (ja) 2023-08-23

Family

ID=77059827

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020000469A Active JP7331703B2 (ja) 2020-01-06 2020-01-06 読取装置

Country Status (1)

Country Link
JP (1) JP7331703B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003203198A (ja) 2002-01-08 2003-07-18 Canon Inc 撮像装置、撮像方法、コンピュータ読み取り可能な記憶媒体及びコンピュータプログラム
JP2008083843A (ja) 2006-09-26 2008-04-10 Casio Comput Co Ltd コード読取装置及びプログラム
JP2009238149A (ja) 2008-03-28 2009-10-15 Denso Wave Inc 二次元コード読取装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003203198A (ja) 2002-01-08 2003-07-18 Canon Inc 撮像装置、撮像方法、コンピュータ読み取り可能な記憶媒体及びコンピュータプログラム
JP2008083843A (ja) 2006-09-26 2008-04-10 Casio Comput Co Ltd コード読取装置及びプログラム
JP2009238149A (ja) 2008-03-28 2009-10-15 Denso Wave Inc 二次元コード読取装置

Also Published As

Publication number Publication date
JP2021110980A (ja) 2021-08-02

Similar Documents

Publication Publication Date Title
JP4715527B2 (ja) 撮影装置、撮影画像の画像処理方法及びプログラム
JP5488548B2 (ja) 画像処理装置、画像処理方法及びプログラム
US9547791B2 (en) Image processing system, image processing apparatus, image processing method, and program
CN106464825B (zh) 图像处理设备和方法
JP5776903B2 (ja) 画像処理装置及び画像処理方法並びにプログラム
JP4947136B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP5959923B2 (ja) 検出装置、その制御方法、および制御プログラム、並びに撮像装置および表示装置
JP2006074512A (ja) 撮影装置、撮影装置の画像処理方法及びプログラム
JP2011097251A (ja) 画像処理装置、画像処理方法、画像処理プログラム、画像処理プログラムを記録した記録媒体
JP2008152622A (ja) ポインティング装置
JP2011081775A (ja) 投影画像領域検出装置
US10013632B2 (en) Object tracking apparatus, control method therefor and storage medium
JP4891674B2 (ja) カメラ
JP2005196543A (ja) 光学情報読取装置
US8334919B2 (en) Apparatus and method for digital photographing to correct subject area distortion caused by a lens
JP2013098935A (ja) 追尾装置及び追尾方法
JP7331703B2 (ja) 読取装置
JP4182937B2 (ja) 撮影装置、撮影装置の画像処理方法及びプログラム
JP5012477B2 (ja) 部分画像抽出方法および部分画像抽出装置
JP2009027223A (ja) 画像表示装置、画像表示方法、およびプログラム
JP2006115334A (ja) 撮影装置、撮影装置の画像処理方法及びプログラム
JP4501701B2 (ja) 撮影装置、撮影装置の画像処理方法及びプログラム
JP2009009206A (ja) 画像中の輪郭抽出方法及びその画像処理装置
JP2014126943A (ja) 画像中の対象物を検出するために画像処理を行う画像処理装置及び方法
JP5482925B2 (ja) 画像撮像装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230626

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230711

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230724

R150 Certificate of patent or registration of utility model

Ref document number: 7331703

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150