JP2010134595A - 情報コード読取装置 - Google Patents
情報コード読取装置 Download PDFInfo
- Publication number
- JP2010134595A JP2010134595A JP2008308410A JP2008308410A JP2010134595A JP 2010134595 A JP2010134595 A JP 2010134595A JP 2008308410 A JP2008308410 A JP 2008308410A JP 2008308410 A JP2008308410 A JP 2008308410A JP 2010134595 A JP2010134595 A JP 2010134595A
- Authority
- JP
- Japan
- Prior art keywords
- frequency
- width value
- distribution
- information code
- state
- 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
【課題】撮像画像のノイズがどのような状態であるかを簡易な構成で精度高く把握でき、ノイズ状態に適したノイズ除去処理を効果的に行い得る情報コード読取装置を提供する。
【解決手段】情報コード読取装置は、撮像手段によって情報コードを撮像すると共に、その画像データによって構成される画像において、二値化後の明色エリア又は暗色エリアの幅値についての幅値度数分布を生成し、更に、その生成された幅値度数分布の分布特徴を検出している。そして、その検出された分布特徴に基づいてノイズ除去処理を行い、ノイズ除去後の画像についてデコード処理を行っている。
【選択図】図2
【解決手段】情報コード読取装置は、撮像手段によって情報コードを撮像すると共に、その画像データによって構成される画像において、二値化後の明色エリア又は暗色エリアの幅値についての幅値度数分布を生成し、更に、その生成された幅値度数分布の分布特徴を検出している。そして、その検出された分布特徴に基づいてノイズ除去処理を行い、ノイズ除去後の画像についてデコード処理を行っている。
【選択図】図2
Description
本発明は、情報コード読取装置に関するものである。
現在、様々な分野において、バーコードやQRコードなどの情報コードが広く用いられている。この種の情報コードは、プリンタによる印刷や、ダイレクトマーキングなどによって様々な対象物に付されており、他方、このような情報コードを光学的に読み取る装置として、バーコードリーダ等の情報コード読取装置が広く用いられている。
特開2002−74258公報
ところで、上記のような情報コード読取装置では、情報コードを撮像したときの撮像画像が印字状態や撮像状態の影響を受けやすいという問題があり、場合によっては、撮像画像に情報コードを構成する要素以外のノイズが多く含まれてしまう場合がある。例えばダイレクトマーキングによって形成される情報コードでは、印字面の凹凸やキズなどがノイズとして撮像画像に含まれやすく、このようなノイズは情報コードの読み取りに多大な影響を及ぼしてしまう。
一方、本発明に関連する技術として特許文献1のようなものが提供されているが、当該技術では、ノイズを効果的に除去することは難しい。即ち、ノイズを除去するためにはノイズ状態に応じた適切なノイズ除去処理を行う必要があるが、特許文献1はノイズ除去を目的とする技術ではなく、ノイズ状態を如何に把握するか、ノイズ状態に応じてどのようなノイズ除去処理を行うか、等を示唆する内容も見受けられない。
本発明は、上述した課題を解決するためになされたものであり、情報コードを読み取る情報コード読取装置において、撮像画像のノイズがどのような状態であるかを簡易な構成で精度高く把握でき、ノイズ状態に適したノイズ除去処理を効果的に行い得る構成を提供することを目的とする。
請求項1の発明は、情報コードを撮像する撮像手段と、前記撮像手段にて撮像された前記情報コードの画像データを記憶する記憶手段と、前記記憶手段に記憶される前記画像データを処理する画像処理手段と、を備えた情報コード読取装置として構成される。
そして、前記画像データによって構成される画像において、二値化後の明色エリア又は暗色エリアの幅値についての幅値度数分布を検出する度数分布検出手段と、前記度数分布検出手段にて検出された前記幅値度数分布の分布特徴を検出する分布特徴検出手段と、前記分布特徴検出手段にて検出された前記分布特徴に基づくノイズ除去処理を行うノイズ除去手段と、前記ノイズ除去手段によって前記ノイズ除去処理がなされた後のノイズ除去後の画像に基づいてデコード処理を行うデコード手段と、を有することを特徴とする。
そして、前記画像データによって構成される画像において、二値化後の明色エリア又は暗色エリアの幅値についての幅値度数分布を検出する度数分布検出手段と、前記度数分布検出手段にて検出された前記幅値度数分布の分布特徴を検出する分布特徴検出手段と、前記分布特徴検出手段にて検出された前記分布特徴に基づくノイズ除去処理を行うノイズ除去手段と、前記ノイズ除去手段によって前記ノイズ除去処理がなされた後のノイズ除去後の画像に基づいてデコード処理を行うデコード手段と、を有することを特徴とする。
請求項2の発明は、請求項1に記載の情報コード読取装置において、更に、前記画像データによって構成される前記画像内において前記情報コードが存在するコード領域を検出する領域検出手段を備えており、前記度数分布検出手段が、前記領域検出手段にて検出された前記コード領域において前記幅値度数分布を検出し、前記分布特徴検出手段が、前記コード領域における前記幅値度数分布に基づいて当該コード領域における前記分布特徴を検出することを特徴とする。
請求項3の発明は、請求項1又は請求項2に記載の情報コード読取装置において、更に、前記分布特徴検出手段が、ノイズ成分検出手段を備えている。
このノイズ成分検出手段は、前記幅値度数分布における最小幅値の度数を、前記最小幅値の次に大きい幅値の度数と比較し、前記最小幅値の度数よりも当該最小幅値の次に大きい幅値の度数の方が小さい場合にノイズ成分として検出している。
そして、前記ノイズ除去手段が、前記ノイズ成分検出手段によって検出された前記ノイズ成分に基づいて前記ノイズ除去処理を行っている。
このノイズ成分検出手段は、前記幅値度数分布における最小幅値の度数を、前記最小幅値の次に大きい幅値の度数と比較し、前記最小幅値の度数よりも当該最小幅値の次に大きい幅値の度数の方が小さい場合にノイズ成分として検出している。
そして、前記ノイズ除去手段が、前記ノイズ成分検出手段によって検出された前記ノイズ成分に基づいて前記ノイズ除去処理を行っている。
請求項4の発明は、請求項1から請求項3のいずれか一項に記載の情報コード読取装置において、更に、前記分布特徴検出手段が、前記度数分布検出手段によって検出された前記幅値度数分布において、前記最小幅値の度数が度数最大値となる度数最大値状態、又は前記最小幅値よりも幅値が大きくなるにつれて順に度数が小さくなる度数順次減少状態を確認する構成をなしている。
また、前記ノイズ除去手段が、前記度数最大値状態又は前記度数順次減少状態が確認された場合、照明光源の出力増大処理又は前記撮像手段の撮像感度増大処理を行う構成をなしている。
また、前記ノイズ除去手段が、前記度数最大値状態又は前記度数順次減少状態が確認された場合、照明光源の出力増大処理又は前記撮像手段の撮像感度増大処理を行う構成をなしている。
請求項5の発明は、請求項1又は請求項2に記載の情報コード読取装置において、更に、前記分布特徴検出手段が、度数増加状態確認手段を有している。
この度数増加状態確認手段は、前記幅値度数分布において、最小幅値の度数から順に、各幅値の度数をそれぞれ、前記各幅値の次に大きい幅値の度数と比較すると共に、いずれかの幅値の度数よりも、当該いずれかの幅値の次に大きい幅値の度数の方が大きくなる所定の度数増加状態に転じたか否かを確認する構成をなしている。
更に、前記ノイズ除去手段が、フィルタ選択手段と、フィルタ処理手段とを有している。
前記フィルタ選択手段は、前記分布特徴検出手段により前記所定の度数増加状態が確認された場合、前記所定の度数増加状態が生じている前記次に大きい幅値に基づいてフィルタを選択する構成をなしている。
また、前記フィルタ処理手段は、前記フィルタ選択手段によって選択されたフィルタを用いて前記画像データに対してフィルタ処理を行う構成をなしている。
この度数増加状態確認手段は、前記幅値度数分布において、最小幅値の度数から順に、各幅値の度数をそれぞれ、前記各幅値の次に大きい幅値の度数と比較すると共に、いずれかの幅値の度数よりも、当該いずれかの幅値の次に大きい幅値の度数の方が大きくなる所定の度数増加状態に転じたか否かを確認する構成をなしている。
更に、前記ノイズ除去手段が、フィルタ選択手段と、フィルタ処理手段とを有している。
前記フィルタ選択手段は、前記分布特徴検出手段により前記所定の度数増加状態が確認された場合、前記所定の度数増加状態が生じている前記次に大きい幅値に基づいてフィルタを選択する構成をなしている。
また、前記フィルタ処理手段は、前記フィルタ選択手段によって選択されたフィルタを用いて前記画像データに対してフィルタ処理を行う構成をなしている。
請求項6の発明は、請求項5に記載の情報コード読取装置において、更に、前記フィルタ選択手段が度数減少状態確認手段を有している。
この度数減少状態確認手段は、前記所定の度数増加状態が生じている前記次に大きい幅値を基準幅値とし、当該基準幅値以上において順に、各幅値を次サイズの幅値の度数と比較したときに、前記基準幅値以上のいずれかの幅値の度数よりも、当該いずれかの幅値の次サイズの幅値の度数の方が小さい度数減少状態に転じたか否かを確認している。
更に、前記フィルタ選択手段は、前記度数減少状態確認手段によって前記度数減少状態が確認された前記次サイズの幅値に基づいてフィルタサイズを選択する構成をなしている。
この度数減少状態確認手段は、前記所定の度数増加状態が生じている前記次に大きい幅値を基準幅値とし、当該基準幅値以上において順に、各幅値を次サイズの幅値の度数と比較したときに、前記基準幅値以上のいずれかの幅値の度数よりも、当該いずれかの幅値の次サイズの幅値の度数の方が小さい度数減少状態に転じたか否かを確認している。
更に、前記フィルタ選択手段は、前記度数減少状態確認手段によって前記度数減少状態が確認された前記次サイズの幅値に基づいてフィルタサイズを選択する構成をなしている。
請求項7の発明は、請求項1から請求項6のいずれか一項に記載の情報コード読取装置において、更に、前記分布特徴検出手段が、度数増加状態確認手段と、度数累計算出手段と、判断手段と、を有している。
前記度数増加状態確認手段は、前記幅値度数分布において、最小幅値の度数から順に、各幅値についての度数をそれぞれ、前記各幅値の次に大きい幅値の度数と比較すると共に、いずれかの幅値の度数よりも、当該いずれかの幅値の次に大きい幅値の度数の方が大きくなる所定の度数増加状態に転じたか否かを確認している。
また、前記度数累計算出手段は、前記最小幅値から前記所定の度数増加状態に転じるまでの間において、幅値が大きくなるにつれて順に度数が小さくなる度数順次減少状態を確認し、当該度数順次減少状態が生じている間の度数累計を算出している。
また、前記判断手段は、前記幅値度数分布の全度数に対する前記度数累計の占める割合が所定割合を超えているか否かを判断している。
そして、前記ノイズ除去手段は、前記判断手段により前記全度数に対する前記度数累計の占める割合が前記所定割合を超えていると判断された場合に、照明光源の出力増大処理又は前記撮像手段の撮像感度増大処理を行っている。
前記度数増加状態確認手段は、前記幅値度数分布において、最小幅値の度数から順に、各幅値についての度数をそれぞれ、前記各幅値の次に大きい幅値の度数と比較すると共に、いずれかの幅値の度数よりも、当該いずれかの幅値の次に大きい幅値の度数の方が大きくなる所定の度数増加状態に転じたか否かを確認している。
また、前記度数累計算出手段は、前記最小幅値から前記所定の度数増加状態に転じるまでの間において、幅値が大きくなるにつれて順に度数が小さくなる度数順次減少状態を確認し、当該度数順次減少状態が生じている間の度数累計を算出している。
また、前記判断手段は、前記幅値度数分布の全度数に対する前記度数累計の占める割合が所定割合を超えているか否かを判断している。
そして、前記ノイズ除去手段は、前記判断手段により前記全度数に対する前記度数累計の占める割合が前記所定割合を超えていると判断された場合に、照明光源の出力増大処理又は前記撮像手段の撮像感度増大処理を行っている。
請求項1の発明は、情報コードの画像データによって構成される画像において、二値化後の明色エリア又は暗色エリアの幅値についての幅値度数分布を検出し、更に、その幅値度数分布の分布特徴を検出している。そして、その検出された分布特徴に基づくノイズ除去処理を行っている。撮像された情報コードの画像は、明色エリア又は暗色エリアの幅値度数分布がノイズ状態に応じた特徴を示すため、この幅値度数分布の分布特徴を検出すればどのようなノイズ状態であるかを、より簡易に且つより精度高く把握することができる。そして、このような分布特徴を的確に把握した上で、これに基づいてノイズ除去処理を行うようにすれば、ノイズ状態により適した除去処理が可能となり、撮像画像から適切に且つ安定してノイズを除去できる。その上でデコード処理を行うようにすれば、デコード失敗を効果的に抑えることができ、ひいては読取処理の迅速化、安定性を効果的に向上できる。
請求項2の発明は、領域検出手段にて検出されたコード領域において幅値度数分布を検出し、このコード領域における幅値度数分布に基づいて当該コード領域における分布特徴を検出している。このようにすると、読み取りに必要な範囲について幅値度数分布検出、分布特徴検出を行うことができ、ノイズの特徴検出を適切な範囲で行うことができると共に、分布特徴の検出をより迅速に行うことができる。
請求項3の発明は、幅値度数分布における最小幅値の度数を、最小幅値の次に大きい幅値の度数と比較し、最小幅値の度数よりも当該最小幅値の次に大きい幅値の度数の方が小さい場合にノイズ成分として検出している。このような分布特徴を示す場合、少なくとも最小幅値付近にノイズが生じていることを把握でき、そのようなノイズ状態に適したノイズ除去処理を行うことができる。
請求項4の発明は、幅値度数分布において、最小幅値の度数が度数最大値となる度数最大値状態、又は最小幅値よりも幅値が大きくなるにつれて順に度数が小さくなる度数順次減少状態を確認している。最小幅値の度数が度数最大値状態になる場合や、最小幅値よりも度数が大きくなるにつれて順に度数が小さくなる場合とは、小さい幅のノイズが多く、ノイズに埋もれて情報コードの特徴が把握しにくい場合(即ち、情報コード付近が暗い状態で撮像された場合や、撮像手段の感度が不十分である場合等)であるため、上記のような度数最大値状態や度数順次減少状態を確認することで、このようなノイズ状態であるか否かを的確に確認できる。そして、度数最大値状態又は前記度数順次減少状態が確認された場合、照明光源の出力増大処理又は撮像手段の撮像感度増大処理を行うようにすれば、ノイズの原因と想定される光量不足や感度不足が改善されるため、ノイズを適切に排除でき、ノイズに埋もれていたコードの特徴をより明確にすることができる。
請求項5の発明は、幅値度数分布において、最小幅値の度数から順に、各幅値の度数をそれぞれ、前記各幅値の次に大きい幅値の度数と比較すると共に、いずれかの幅値の度数よりも、当該いずれかの幅値の次に大きい幅値の度数の方が大きくなる所定の度数増加状態に転じたか否かを確認している。このような度数増加状態に転じる部分は、情報コードの情報構成単位(セル)の幅付近であることが推定されるため、度数増加状態が生じている部分に基づいてフィルタを選択する構成とすれば、情報構成単位(セル)のサイズに適したフィルタ選択が可能となる。
請求項6の発明は、請求項5の構成に加え、所定の度数増加状態が生じている幅値(次に大きい幅値)を基準幅値とし、当該基準幅値以上において順に、各幅値の度数を次サイズの幅値の度数と比較したときに、基準幅値以上のいずれかの幅値の度数よりも、当該いずれかの幅値の次サイズの幅値の度数の方が小さい度数減少状態に転じたか否かを確認している。このようにすると、情報コードの情報構成単位(セル)のサイズをより精度高く推定でき、情報構成単位(セル)のサイズをより適切に考慮したフィルタ選択が可能となる。
請求項7の発明は、幅値度数分布において、最小幅値から「所定の度数増加状態」に転じるまでの間において、幅値が大きくなるにつれて順に度数が小さくなる「度数順次減少状態」を確認すると共に、当該「度数順次減少状態」が生じている間の度数累計を算出し、更に、幅値度数分布の全度数に対する度数累計の占める割合が所定割合を超えているか否かを判断している。このようにすると、全体に占めるノイズの割合がどの程度であるかを的確に把握できる。また、全度数に対する度数累計の占める割合が所定割合を超えていると判断される場合(即ち、全体に占めるノイズの割合が大きい場合)、光量不足や感度不足が原因である可能性が高く、このような場合に照明光源の出力増大処理又は撮像手段の撮像感度増大処理を行うようにすれば、ノイズを簡易且つ効果的に除去できる。
[第1実施形態]
以下、第1実施形態に係る情報コード読取装置について説明する。
図1は、第1実施形態に係る情報コード読取装置を概略的に例示する斜視図である。図2は、図1の情報コード読取装置で行われる読取処理を例示するフローチャートである。図3は、図2の読取処理で行われる特徴検出処理を例示するフローチャートである。図4は、図1の読取処理で行われるフィルタサイズ選択処理を例示するフローチャートである。図5は、コード領域の幅値度数分布を検出するための走査について説明する説明図である。図6は、度数分布の一例を示す説明図である。図7(a)は、度数分布について図6とは異なる例を示す説明図であり、図7(b)は、図7(a)の一部を拡大して説明する説明図である。図8(a)は画像を構成する各画素を概念的に説明する説明図であり、図8(b)は、フィルタサイズ選択について説明する説明図である。図8(c)は、図8(b)とは異なるフィルタサイズ選択について説明する説明図である。図9は、ノイズ除去の様子を説明する説明図である。
以下、第1実施形態に係る情報コード読取装置について説明する。
図1は、第1実施形態に係る情報コード読取装置を概略的に例示する斜視図である。図2は、図1の情報コード読取装置で行われる読取処理を例示するフローチャートである。図3は、図2の読取処理で行われる特徴検出処理を例示するフローチャートである。図4は、図1の読取処理で行われるフィルタサイズ選択処理を例示するフローチャートである。図5は、コード領域の幅値度数分布を検出するための走査について説明する説明図である。図6は、度数分布の一例を示す説明図である。図7(a)は、度数分布について図6とは異なる例を示す説明図であり、図7(b)は、図7(a)の一部を拡大して説明する説明図である。図8(a)は画像を構成する各画素を概念的に説明する説明図であり、図8(b)は、フィルタサイズ選択について説明する説明図である。図8(c)は、図8(b)とは異なるフィルタサイズ選択について説明する説明図である。図9は、ノイズ除去の様子を説明する説明図である。
(全体構成)
まず、図1等を参照して本実施形態に係る情報コード読取装置の全体構成について説明する。
図1に示すように、本実施形態に係る情報コード読取装置1は、一次元コード、二次元コード等の情報コードQを読み取るコードリーダとして構成されるものであり、図示しないケースによって外郭が構成され、このケース内に各種電子部品が収容された構成をなしている。
まず、図1等を参照して本実施形態に係る情報コード読取装置の全体構成について説明する。
図1に示すように、本実施形態に係る情報コード読取装置1は、一次元コード、二次元コード等の情報コードQを読み取るコードリーダとして構成されるものであり、図示しないケースによって外郭が構成され、このケース内に各種電子部品が収容された構成をなしている。
この情報コード読取装置1は、主に、照明光源21、受光センサ23、フィルタ25、結像レンズ27等の光学系と、メモリ35、制御回路40、操作スイッチ42、液晶表示装置46等のマイクロコンピュータ(以下「マイコン」という)系と、電源スイッチ41、電池49等の電源系と、から構成されている。なお、これらは、図略のプリント配線板に実装あるいはケース(図示略)内に内装されている。
光学系は、照明光源21、受光センサ23、フィルタ25、結像レンズ27等から構成されている。照明光源21は、照明光Lfを発光可能な照明光源として機能するもので、例えば、赤色のLEDとこのLEDの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ23を挟んだ両側に照明光源21が設けられており、ケースに形成された読取口(図示略)を介して読取対象物Rに向けて照明光Lfを照射可能に構成されている。この読取対象物Rとしては、例えば、樹脂材料、金属材料等の様々な対象が考えられ、情報コードQは、このような読取対象物Rに印刷、ダイレクトマーキングなどによって形成されている。
受光センサ23は、読取対象物Rや情報コードQに照射されて反射した反射光Lrを受光可能に構成されるもので、例えば、C−MOSやCCD等の固体撮像素子である受光素子を2次元に配列したエリアセンサが、これに相当する。この受光センサ23は、結像レンズ27を介して入射する入射光を受光面23aで受光可能に図略のプリント配線板に実装されている。なお、受光センサ23は、「撮像手段」の一例に相当する。
フィルタ25は、反射光Lrの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、ケースに形成された読取口(図示略)と結像レンズ27との間に設けられている。これにより、反射光Lrの波長相当を超える不要な光が受光センサ23に入射することを抑制している。また、結像レンズ27は、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとによって構成されており、本実施形態では、ケースに形成された読取口(図示略)に入射する反射光Lrを集光し、受光センサ23の受光面23aに情報コードQのコード画像を結像するように構成されている。
マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、操作スイッチ42、LED43、ブザー44、液晶表示装置46、通信インタフェース48等から構成されている。このマイコン系は、マイコン(情報処理装置)として機能し得る制御回路40及びメモリ35を中心として構成され、前述した光学系によって撮像された情報コードQの画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。
光学系の受光センサ23から出力される画像信号(アナログ信号)は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力され、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ(画像情報)は、メモリ35に入力され、当該メモリ35の画像データ蓄積領域に蓄積される。なお、同期信号発生回路38は、受光センサ23およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。
メモリ35は、半導体メモリ装置で、例えばRAM(DRAM、SRAM等)やROM(EPROM、EEPROM等)がこれに相当する。このメモリ35のうちのRAMには、前述した画像データ蓄積領域のほかに、制御回路40が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またROMには、後述する読取処理等を実行可能な所定プログラムやその他、照明光源21、受光センサ23等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。なお、メモリ35は、「記憶手段」の一例に相当し、受光センサ23にて撮像された情報コードQの画像データを記憶するように機能する。
制御回路40は、情報コード読取装置1全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなるものであり、情報処理機能を有している。この制御回路40には、内蔵された入出力インタフェースを介して種々の入出力装置(周辺装置)が接続されており、本実施形態の場合、電源スイッチ41、操作スイッチ42、LED43、ブザー44、液晶表示装置46、通信インタフェース48等が接続されている。また、通信インタフェース48には、情報コード読取装置1の上位システムに相当するホストコンピュータHSTなどを接続できるようになっている。
電源系は、電源スイッチ41、電池49等により構成されており、制御回路40により管理される電源スイッチ41のオンオフによって、上述した各装置や各回路に、電池49から供給される駆動電圧の導通や遮断が制御されている。なお、電池49は、所定の直流電圧を発生可能な2次電池で、例えば、リチウムイオン電池等がこれに相当する。
(読取処理)
次に、情報コード読取装置1で行われる読取処理について説明する。
図2に示す読取処理では、まず、処理開始に伴い画像取得処理を行う(S1)この画像取得処理では、情報コードQの画像データを取得し、メモリ35に記憶する。情報コードQの画像データは、受光センサ23の各受光素子に対応する画素データの集合として構成される。
次に、情報コード読取装置1で行われる読取処理について説明する。
図2に示す読取処理では、まず、処理開始に伴い画像取得処理を行う(S1)この画像取得処理では、情報コードQの画像データを取得し、メモリ35に記憶する。情報コードQの画像データは、受光センサ23の各受光素子に対応する画素データの集合として構成される。
S1の後には、S1で取得した画像データに対して公知の二値化処理を行う(S2)。この二値化処理では、各画素データを所定の閾値に従って明色画素と暗色画素に区別する。
S2で二値化処理を行った後には、S2で得られた二値化後の画像データについてラベリング処理を行う(S3)。このラベリング処理は、S2で得られた二値化後の画像データによって構成される画像内において情報コードが存在するコード領域(コードらしさ)を検出する処理であり、公知の様々なコード領域検出処理のいずれを採用してもよい。なお、本実施形態では、制御手段40が「領域検出手段」の一例に相当する。
その後、S4の度数分布検出処理を行う。S4は、S3ラベリング処理にて検出されたコード領域において幅値度数分布を検出する処理であり、図5に概念的に示すように、S3で得られた二値化後のコード領域(ラベリング領域)において、所定方向(例えば横方向)に走査し、暗色画素が走査方向に連続してなる各暗色エリアを検出すると共に、各暗色エリアの幅値(連続セル数)を求め、幅値毎の度数分布(幅値度数分布)を生成する。なお、本実施形態では、コード領域(ラベリング領域)において横方向に並ぶ画素ライン(横ライン)全てについて走査し、コード領域の全走査ラインに含まれる各暗色エリアの幅値を取得し、度数分布を生成している。
なお、図6、図7は、S4の処理で得られる幅値度数分布の例をグラフによって可視化して示すものである。本実施形態では、画素数によって幅値が示されており、画素1つ分が最小幅値(幅値1)であり、画素2つ分がその次のサイズの幅値(幅値2)、画素3つ分が更にその次のサイズの幅値(幅値3)といったように示されている。なお、最小幅値(幅値1)の度数とは、走査方向に連続しない単一暗色画素の度数(検出数)を示しており、その次の幅値(幅値2)の度数とは、暗色画素が走査方向に2つ連続してなる暗色エリアの度数(検出数)を示している。また、幅値3以上の各幅値の度数も同様であり、例えば、幅値3の度数とは暗色画素が走査方向に3つ連続してなる暗色エリアの度数(検出数)を示している。
なお、本実施形態では、制御回路40が、「度数分布検出手段」の一例に相当し、情報コードQの画像データによって構成される画像において、二値化後の暗色エリアの幅値についての幅値度数分布を検出するように機能する。
S4の後には、所定のノイズ成分を検出したか否かを判断する判断処理を行う(S5)。S5の判断処理では、S4で検出された幅値度数分布の分布特徴を検出する一例を示すものであり、ここでは、最小幅値(幅値1)の度数と、その次の幅値(二番面に小さい幅値(幅値2))の度数とを比較し、最小幅値(幅値1)の度数のほうがその次の幅値(幅値2)の度数よりも大きいか否かを判断する。
最小幅値(幅値1)の度数のほうがその次の幅値(幅値2)の度数よりも大きく、度数分布が図6のような右下がりである場合、画像の性質上、少なくとも最小幅値(幅値1)付近のサイズがノイズであると推定できるため、このような場合(即ち、最小幅値(幅値1)の度数のほうが、次の幅値(幅値2)の度数よりも大きい場合)、「所定のノイズ成分」を検出したものとして、S5にてYesに進む。S5にてYesに進む場合には、後述する更なる特徴検出処理を行う(S6)。
一方、最小幅値(幅値1)の度数よりもその次の幅値(幅値2)の度数のほうが大きい場合、「所定のノイズ成分」を検出しなかったものとして、S5にてNoに進み、特別なノイズ除去処理を行わずにデコード処理を行う(S11)。
なお、本実施形態では、制御回路40が「ノイズ成分検出手段」の一例に相当し、S4で得られた幅値度数分布における最小幅値(幅値1)の度数を、最小幅値の次に大きい幅値(幅値2)の度数と比較し、最小幅値(幅値1)の度数よりも当該最小幅値の次に大きい幅値(幅値2)の度数の方が小さい場合に「所定のノイズ成分」が生じていると検出している。そして、このように「所定のノイズ成分」が検出された場合(即ち、S5にてYesに進む場合)、S6、S7の処理を経た後、S8、S9のようなノイズ除去処理を行うこととなる。以下、これらS6〜S9の処理を説明する。
S6の特徴検出処理は、S4で検出された幅値度数分布について更に詳しい特徴を検出する処理であり、例えば図3のような流れで行われる。この処理では、まず着目する幅値(暗色エリアのエリア幅)を初期値の「1」に設定する(S21)。そして、現在の幅値(エリア幅)Nが度数分布の中の最大幅値(度数が検出された内の最大のエリア幅)であるか否かを判断し(S22)、現在(S22処理時)のNの値が最大幅値でなければS22にてNoに進む。
S22にてNoに進む場合、現在(S23処理時)の幅値Nの度数とその次の幅値N+1の度数と比較する処理を行う(S23)。そして、現在の幅値Nの度数が次の幅値N+1の度数よりも大きい場合にはS23にてNoに進み、着目している現在の幅値Nの値をインクリメント(N=N+1)し(S24)、そのインクリメントされた新たな幅値NについてS22以降の処理を繰り返す。
一方、S23において現在(S22処理時)の幅値Nの度数が次の幅値N+1の度数のよりも小さいと判断される場合にはS23にてYesに進み、S4で得られた幅値度数分布に所定特徴があるものと設定する(S25)。S25では、例えば、所定特徴があることを示す情報をメモリ35などに記憶する。
また、S22において、現在(S22処理時)の幅値Nが度数分布内の最大幅値であると判断される場合、S22にてYesに進み、S4で得られた幅値度数分布に所定特徴がないものと設定する(S26)。S26では、例えば、所定特徴がないことを示す情報をメモリ35などに記憶する(S26)。
このように、S6の特徴検出処理では、S4で検出された幅値度数分布において、「最小幅値(幅値1)の度数が度数最大値となる度数最大値状態」及び「最小幅値(幅値1)よりも幅値が大きくなるにつれて順に度数が小さくなる度数順次減少状態」を確認しており、両状態が確認されるような場合に「所定特徴なし」と設定し、それ以外の場合には「所定特徴あり」と設定する構成をなしている。
S6の後には、S6の特徴検出処理において所定特徴が検出されたか否かを判断する判断処理を行う(S7)。特徴検出処理(S6)において、「所定特徴あり(S25)」とされた場合にはS7にてYesに進み、S9、S10の処理を行う。一方、特徴検出処理(S6)において「所定特徴なし(S26」とされた場合にはS7にてNoに進み、照明光源21の出力を増大する処理を行う(S8)。
本実施形態では、S5、S6の処理を実行する制御回路40が「分布特徴検出手段」の一例に相当し、S3で得られたコード領域の幅値度数分布に基づいて当該コード領域における分布特徴を検出するように機能している。また、図3の処理を実行する制御回路40は、「度数増加状態確認手段」の一例にも相当し、S4で得られた幅値度数分布において、最小幅値(幅値1)の度数から順に、各幅値の度数をそれぞれ、各幅値の次に大きい幅値の度数と比較すると共に、いずれかの幅値の度数よりも、当該いずれかの幅値の次に大きい幅値の度数の方が大きくなる所定の度数増加状態に転じたか否かを確認するように機能している。
S7にてYesに進む場合(即ち、S6において「所定の度数増加状態」が確認された場合)には、S9のフィルタサイズ選択処理を行う。このフィルタサイズ選択処理は、例えば図4のような流れで行われ、まず着目する幅値(暗色エリアのエリア値)を初期値の「1」に設定する(S31)。そして、現在(S32の処理時)の幅値Nの度数とその次の幅値N+1の度数と比較する処理を行う(S32)。現在の幅値Nの度数が次の幅値N+1の度数よりも大きい場合にはS32にてNoに進み、着目している現在の幅値Nの値をインクリメント(N=N+1)し(S33)、そのインクリメントされた新たな幅値NについてS32以降の処理を繰り返す。
一方、現在の幅値Nの度数が次の幅値N+1の度数よりも小さい場合にはS32にてYesに進む。例えば、図7(a)(b)の度数分布では、現在の幅値Nが「3」のとき、現在の幅値N(幅値3)の度数(バー53参照)が次の幅値N+1(幅値4)の度数(バー54参照)よりも小さいため、N=3のときにS32にてYesに進むことになる。S32にてYesに進む場合には、着目している現在の幅値Nの値をインクリメント(N=N+1)し(S34)、その後、S35の判断処理を行う。
S35では、現在(S35の処理時)の幅値Nの度数とその次の幅値N+1の度数と比較する。そして、現在の幅値Nの度数が次の幅値N+1の度数よりも小さい場合にはS35にてNoに進み、現在の幅値Nの度数が次の幅値N+1の度数よりも大きい場合にはS35にてYesに進む。例えば、図7の度数分布では、現在の幅値Nが5のとき、現在の幅値Nの度数(バー55参照)が次の幅値N+1の度数(バー56参照)よりも大きくなるため、N=5のときにS35にてYesに進むことになる。
このように、図4の処理(即ち、S9の処理)では、S4で検出された幅値度数分布において、最小幅値(幅値1)の度数から順に、各幅値の度数をそれぞれ、各幅値の次に大きい幅値の度数と比較すると共に、いずれかの幅値の度数よりも、当該いずれかの幅値の次に大きい幅値の度数の方が大きくなる状態(所定の度数増加状態)に転じたか否かを確認している。更に、「所定の度数増加状態」が生じている次に大きい幅値(即ち、S32でYesに進む時点での幅値N+1)を「基準幅値」とし、当該「基準幅値」以上において順に、各幅値の度数を次サイズの幅値の度数と比較している。そして、「基準幅値」以上の「いずれかの幅値」の度数よりも、当該「いずれかの幅値」の「次サイズの幅値」の度数の方が小さい「度数減少状態」に転じたか否かを確認している。なお、本実施形態では、図4の処理を実行し得る制御回路40が「度数減少状態確認手段」の一例に相当する。
S35にてYesに進む場合、現在(S35にてYesに進むとき)のNが情報コードQの単位セルの幅と推定できるため、このNの値をフィルタサイズとする。即ち、N×Nのフィルタを用いてS10のフィルタ処理を行う。例えば、図7の度数分布では、N=5のときにS35にてYesに進み、情報コードQの単位セルの幅値が「5」であると推定できるため、この「5」をフィルタサイズとし、5×5のフィルタを用いてS10のフィルタ処理を行う。
本実施形態では、S9の処理を実行する制御回路40が「フィルタ選択手段」の一例に相当し、S6において「所定の度数増加状態」が確認された場合、当該「所定の度数増加状態」に転じた以降の幅値に基づいて(具体的には、「度数減少状態」が確認された幅値に基づいて)フィルタを選択する構成をなしている。
S10のフィルタ処理では、S9にて選択されたN×Nのフィルタサイズを用いて、公知のフィルタ処理を行う。フィルタ処理としては、公知の様々な種類のフィルタ処理を用いることができ、例えば平均化処理を用いる場合には、N×Nの平均化フィルタによってフィルタ処理が行われる。
S10のフィルタ処理の具体例を挙げると、例えば、S36で取得されたNが「5」である場合、5×5の平均化フィルタが用いられ、図8(a)(b)のように、着目している画素P0と、その周囲の24個の画素P1〜P24の全てについての濃度平均値を求め、その濃度平均値を着目している画素Pの濃度値とする。このような処理をS1で得られた画像データ、又はS3でラベリングされたコード領域の各画素について行う。
なお、S10を実行する制御回路40は、「画像処理手段」「ノイズ除去手段」の一例に相当し、メモリ35(記憶手段)に記憶される画像データを処理する機能を有し、更に、S6、S9にて検出された分布特徴に基づくノイズ除去処理(S10ではフィルタ処理)を行うように機能する。また、制御回路40は、「フィルタ処理手段」の一例に相当し、S9で選択されたフィルタを用いて画像データに対してフィルタ処理を行うように機能する。
一方、S6にて「所定特徴なし(S26)」と設定された場合には、S7にてNoに進み、照明光源21の出力増大処理を行う(S8)。本実施形態に係るレーザレーダ装置1は、照明光源21の出力を多段階に設定し得る構成をなしており、図2の読取処理開始直後(デフォルト)は、照明光源21の出力が第1の出力となるように設定され、その後、S8の処理が行われる度に、照明光源21の出力を1段階ずつ増大させる制御がなされる。なお、この出力増大処理も「ノイズ除去処理」の一例に相当する処理である。
S8の後又はS10の後には、二値化後の画像データについて公知のデコード処理を行う(S11)。本実施形態では、制御回路40が「デコード手段」の一例に相当し、上記「ノイズ除去手段」によってノイズ除去処理がなされた後、のノイズ除去後の画像に基づいてデコード処理を行うように機能する。
その後、S11のデコード処理が成功したか否かを判断し(S12)、S11にてデコード処理が成功した場合にはS12にてYesに進み、図示しない出力処理などを行って当該読取処理を終了する。一方、S11にてデコード処理が失敗した場合にはS12にてNoに進み、S1以降の処理を繰り返す。
なお、S7にて分布に所定特徴がないと判断される場合、S8にて出力増大処理が行われるが、その直後のデコード処理(S11)では出力増大前の取得画像によってデコードが行われる。このデコードが失敗した場合には、S12にてNoに進み、S1にて出力増大後の画像を取得した後、S2以降の処理を行う。
S7にて所定特徴がないと判断される場合とは、即ち、光量不足などの要因により図9上段のように情報コードがノイズに埋もれ、情報コードの特徴がなくなっていることが推定される。この場合、S8にて出力増大処理を行うことで、次にS1で取得する画像において、図9中段のように情報コードの特徴を生じさせやすくすることができる。
また、出力増大処理後の画像については、S5の処理を再び行い、上述した「所定のノイズ成分」が検出されなければS5にてNoに進み、当該画像についてデコード処理を行う。一方、出力増大処理後の画像についても上述した「所定のノイズ成分」が検出された場合には、再びS6の特徴検出処理を行い、分布特徴があればS9のフィルタサイズ選択処理及びS10のフィルタ処理を行い(いずれも上述)、図9下段のようにノイズ成分を除去する。一方、出力増大処理後の画像についてのS6の処理において、依然として所定分布特徴が検出されなければ、S8にて再度の出力増大処理を行い、S11にてデコード処理を行った後、デコード失敗の場合(S12:No)には、その再度の出力増大処理後の画像を再取得する(S1)。
(本実施形態の主な効果)
本実施形態の情報コード読取装置1では、情報コードQの画像データによって構成される画像において、二値化後の暗色エリアの幅値についての幅値度数分布を検出し、更に、その幅値度数分布の分布特徴を検出している。そして、その検出された分布特徴に基づくノイズ除去処理(S8、S10)を行っている。撮像された情報コードQの画像は、暗色エリアの幅値度数分布がノイズ状態に応じた特徴を示すため、この幅値度数分布の分布特徴を検出すればどのようなノイズ状態であるかを、より簡易に且つより精度高く把握することができる。そして、このような分布特徴を的確に把握した上で、これに基づいてノイズ除去処理(S8、S10)を行うようにすれば、ノイズ状態により適した除去処理が可能となり、撮像画像から適切に且つ安定してノイズを除去できる。その上でデコード処理(S11)を行うようにすれば、デコード失敗を効果的に抑えることができ、ひいては読取処理の迅速化、安定性を効果的に向上できる。
本実施形態の情報コード読取装置1では、情報コードQの画像データによって構成される画像において、二値化後の暗色エリアの幅値についての幅値度数分布を検出し、更に、その幅値度数分布の分布特徴を検出している。そして、その検出された分布特徴に基づくノイズ除去処理(S8、S10)を行っている。撮像された情報コードQの画像は、暗色エリアの幅値度数分布がノイズ状態に応じた特徴を示すため、この幅値度数分布の分布特徴を検出すればどのようなノイズ状態であるかを、より簡易に且つより精度高く把握することができる。そして、このような分布特徴を的確に把握した上で、これに基づいてノイズ除去処理(S8、S10)を行うようにすれば、ノイズ状態により適した除去処理が可能となり、撮像画像から適切に且つ安定してノイズを除去できる。その上でデコード処理(S11)を行うようにすれば、デコード失敗を効果的に抑えることができ、ひいては読取処理の迅速化、安定性を効果的に向上できる。
また、本実施形態では、S3にて検出されたコード領域において幅値度数分布を検出し、このコード領域における幅値度数分布に基づいて当該コード領域における分布特徴を検出している。このようにすると、読み取りに必要な範囲について幅値度数分布検出、分布特徴検出を行うことができ、ノイズの特徴検出を適切な範囲で行うことができると共に、分布特徴の検出をより迅速に行うことができる。
また、幅値度数分布における最小幅値(幅値1)の度数を、最小幅値の次に大きい幅値(幅値2)の度数と比較し、最小幅値(幅値1)の度数よりも当該最小幅値の次に大きい幅値(幅値2)の度数の方が小さい場合にノイズ成分として検出している。このような分布特徴を示す場合、少なくとも最小幅値付近にノイズが生じていることを把握でき、そのようなノイズ状態に適したノイズ除去処理を行うことができる。
また、幅値度数分布において、最小幅値(幅値1)の度数が度数最大値となる度数最大値状態及び最小幅値(幅値1)よりも幅値が大きくなるにつれて順に度数が小さくなる度数順次減少状態を確認している。最小幅値(幅値1)の度数が度数最大値状態になる場合や、最小幅値(幅値1)よりも度数が大きくなるにつれて順に度数が小さくなる場合とは、小さい幅のノイズが多く、ノイズに埋もれて情報コードQの特徴が把握しにくい場合(即ち、情報コードQ付近が暗い状態で撮像された場合や、撮像手段の感度が不十分である場合等)であるため、上記のような度数最大値状態や度数順次減少状態を確認することで、このようなノイズ状態であるか否かを的確に確認できる。そして、度数最大値状態及び度数順次減少状態が確認された場合、照明光源21の出力増大処理を行うようにすれば、ノイズの原因と想定される光量不足が改善されるため、ノイズを適切に排除でき、ノイズに埋もれていたコードの特徴をより明確にすることができる。
また、図4のフィルタサイズ選択処理では、幅値度数分布において、最小幅値(幅値1)の度数から順に、各幅値の度数をそれぞれ、各幅値の次に大きい幅値の度数と比較すると共に、いずれかの幅値の度数よりも、当該いずれかの幅値の次に大きい幅値の度数の方が大きくなる「所定の度数増加状態」に転じたか否かを確認している。このような度数増加状態に転じる部分は、情報コードQの情報構成単位(セル)の幅付近であることが推定されるため、度数増加状態が生じている部分に基づいてフィルタを選択する構成とすれば、情報構成単位(セル)のサイズに適したフィルタ選択が可能となる。
更に、図4の処理では、「所定の度数増加状態」が生じている幅値(図7では、幅値4)を基準幅値とし、当該基準幅値以上において順に、各幅値を次サイズの幅値の度数と比較したときに、基準幅値以上のいずれかの幅値の度数よりも、当該いずれかの幅値の次サイズの幅値の度数の方が小さい度数減少状態に転じたか否かを確認している。このようにすると、情報コードQの情報構成単位(セル)のサイズをより精度高く推定でき、情報構成単位(セル)のサイズをより適切に考慮したフィルタ選択が可能となる。
[第2実施形態]
次に第2実施形態について説明する。図10は、第2実施形態の情報コード読取装置で行われる特徴検出処理を例示するフローチャートである。図11は第2実施形態における特徴検出処理を説明するための説明図である。なお、第2実施形態は、S6の特徴検出処理の具体例が第1実施形態と異なり、それ以外は第1実施形態と同様である。よって、図3以外は適宜第1実施形態の図を参照することとする。
次に第2実施形態について説明する。図10は、第2実施形態の情報コード読取装置で行われる特徴検出処理を例示するフローチャートである。図11は第2実施形態における特徴検出処理を説明するための説明図である。なお、第2実施形態は、S6の特徴検出処理の具体例が第1実施形態と異なり、それ以外は第1実施形態と同様である。よって、図3以外は適宜第1実施形態の図を参照することとする。
本実施形態の情報コード読取装置では、S6の特徴検出処理が図10のような流れで行われる。なお、図10のS221〜S224の処理は、それぞれ図3のS21〜S24と同一の処理である。
本実施形態の特徴検出処理(図10)では、S221〜S224において、第1実施形態と同様に「所定の度数増加状態」の検出を試みた後、「所定の度数増加状態」が確認された場合(即ちS223にてYesに進む場合)、最小幅値(幅値1)から上記所定の度数増加状態に転じる前まで(即ち、S223でYesに進む時点での幅値Nまで)の度数累計を算出する。例えば、S4において図11(a)のような幅値度数分布が得られた場合、図11(a)(b)のように、一点鎖線ARの部分の度数累計を算出する。そして、その算出された度数累計が、S4(図2)で得られた幅値度数分布の全度数の所定割合(例えば50%)を超えているか否かを判断する(S225)。
S225において幅値Nまでの度数累計が全度数の所定割合を超えていると判断されるような場合とは、即ち、「所定の度数増加状態」に転じるまでの小さい幅値の度数が多く、情報コードがノイズに埋もれていることが推定できるため、このような場合にはS225にてYesに進んで所定特徴なしと設定し(S227)、図2のS8において出力増大処理を行う。
一方、幅値Nまでの度数累計が全度数の所定割合を超えていない場合、S225にてNoに進み、「所定特徴あり」と設定する(S226)。この場合、図2のS7にてYesに進み、第1実施形態で説明したS9、S10の処理を行う。
なお、本実施形態でも制御回路40が「「分布特徴検出手段」度数増加状態確認手段」の一例に相当する。また、制御回路40は、「度数累計算出手段」の一例に相当し、最小幅値(幅値1)から[所定の度数増加状態]に転じるまでの間において、幅値が大きくなるにつれて順に度数が小さくなる「度数順次減少状態」を確認し、当該「度数順次減少状態」が生じている間の度数累計を算出するように機能する。更に、制御回路40は、「判断手段」の一例に相当し、S225において、幅値度数分布の全度数に対する度数累計の占める割合が所定割合を超えているか否かを判断するように機能する。
本実施形態では、S4(図2)で得られた幅値度数分布において、最小幅値(幅値1)から「所定の度数増加状態」に転じるまでの間において、幅値が大きくなるにつれて順に度数が小さくなる「度数順次減少状態」を確認すると共に、当該「度数順次減少状態」が生じている間の度数累計を算出し、更に、幅値度数分布の全度数に対する度数累計の占める割合が所定割合を超えているか否かを判断している。このようにすると、全体に占めるノイズの割合がどの程度であるかを的確に把握できる。また、全度数に対する度数累計の占める割合が所定割合を超えていると判断される場合(即ち、全体に占めるノイズの割合が大きい場合)、光量不足が原因である可能性が高く、このような場合に照明光源21の出力増大処理を行うようにすれば、ノイズを簡易且つ効果的に除去できる。
[他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
上記実施形態では、S8において、照明光源の出力増大処理を行っていたが、第1実施形態、第2実施形態のいずれについても、S8の処理に代えて、又はS8の処理と共に、受光センサ23の撮像感度増大処理を行うようにしてもよい。
具体的には、例えば、増幅回路31の増幅率を多段階に設定し得る構成とし、図2の読取処理開始直後(デフォルト)は、第1の増幅率で設定し、その後、S8の処理が行われる度に、増幅率を1段階ずつ増大させる制御と行うといった例が挙げられる。
具体的には、例えば、増幅回路31の増幅率を多段階に設定し得る構成とし、図2の読取処理開始直後(デフォルト)は、第1の増幅率で設定し、その後、S8の処理が行われる度に、増幅率を1段階ずつ増大させる制御と行うといった例が挙げられる。
上記実施形態では、フィルタサイズ選択方法やフィルタ種類の一例を示したが、フィルタサイズの選択方法やフィルタ種類はこれに限定されない。例えば、図4のS31〜S32において、第1実施形態と同様に「所定の度数増加状態」を検出し、「所定の度数増加状態」に転じる前の幅値(即ち、S32にてYesに進む時点での幅値N)に基づいてフィルタサイズを決定してもよい。この場合、S32にてYesに進む時点でのNの値、又はS32にてYesに進む時点でのN−1の値をフィルタサイズとし、N×N、又はN−1×N−1のフィルタサイズでS10のフィルタ処理を行うことができる。フィルタの種類も第1実施形態で用いた種類以外であってもよく、例えば、S32にてYesに進む時点でのN又はN−1の値に基づいてフィルタ処理を行う場合、最大値フィルタなどを好適に用いることができる。
図7を参照して具体的に述べると、S32にてYesに進む時点でのNの値は「3」であるため、S1で得られた画像又はS3でラベリングされたコード領域に対して3×3の最大値フィルタを用いてフィルタ処理を行い、ノイズを除去することができる。3×3の最大値フィルタでは、図8(c)のように着目している画素Q0と、その周りの8つの画素Q1〜Q8について輝度の最大値を求め、これを着目している画素Q0の値とするため、サイズの小さい暗色エリアを好適に除去できる。また、「所定の度数増加状態」に転じる前の幅値は、単位セルのサイズよりも小さいサイズであると推定できるため、このような幅値をフィルタサイズとして最大値フィルタを用いれば、情報コードを構成するセルをあまり細らせることなくノイズを除去できる。
図7を参照して具体的に述べると、S32にてYesに進む時点でのNの値は「3」であるため、S1で得られた画像又はS3でラベリングされたコード領域に対して3×3の最大値フィルタを用いてフィルタ処理を行い、ノイズを除去することができる。3×3の最大値フィルタでは、図8(c)のように着目している画素Q0と、その周りの8つの画素Q1〜Q8について輝度の最大値を求め、これを着目している画素Q0の値とするため、サイズの小さい暗色エリアを好適に除去できる。また、「所定の度数増加状態」に転じる前の幅値は、単位セルのサイズよりも小さいサイズであると推定できるため、このような幅値をフィルタサイズとして最大値フィルタを用いれば、情報コードを構成するセルをあまり細らせることなくノイズを除去できる。
上記実施形態に加え、幅値度数分布上の誤差を取り除く処理を行うようにしてもよい。例えば、S4で得られた幅値度数分布において、度数が一定値以下のものについては誤差として、すべで度数0として扱うようにし、そのような誤差除去後の幅値度数分布に基づいてS5以降の処理を行うようにしてもよい。
上記実施形態では、S23(図3)、S32(図4)、S223(図10)において現在の幅値Nの度数が次に大きい幅値N+1の度数よりも小さいか否かを判断していたが、これを多少変更してもよい。例えば、現在の幅値Nの度数が次に大きい幅値N+1の度数よりも小さく、その差が所定値以上離れているか否かを判断し、これら条件を満たす場合にS23、S32、S223においてYesに進むようにしてもよい。このようにすれば、現在の幅値Nの度数と、次に大きい幅値N+1の度数とがほぼ同じである場合を「所定の度数増加状態」から除くことができ、誤差の可能性が高い増加を排除できる。
S35の場合も同様であり、現在の幅値Nの度数が次に大きい幅値N+1の度数よりも大きいか否かを判断していたが、これを多少変更してもよい。例えば、S35において、現在の幅値Nの度数が次に大きい幅値N+1の度数よりも大きく、その差が所定値以上離れているか否かを判断し、これら条件を満たす場合にS35においてYesに進むようにしてもよい。このようにすれば、現在の幅値Nの度数と次に大きい幅値N+1の度数がほぼ同じである場合を「度数減少状態」から除くことができ、誤差の可能性が高い減少を排除できる。
上記実施形態では、暗色エリアの幅値度数分布、分布特徴を検出する例を示したが、情報コードが明暗反転コードである場合には、二値化後の明色エリアの幅値度数分布、分布特徴を検出し、上記実施形態で説明した暗色エリアの場合と同様に処理を行うことができる。
上記実施形態では、S6の処理において、度数最大値状態及び度数順次減少状態を検出したが、これらいずれか一方の状態のみを検出してもよい。例えば、S6において、最小幅値(幅値1)の度数がS5で得られた幅値度数分布における最大値か否かを検出し、最小幅値(幅値1)の度数が最大値である場合にS7にてNoに進むようにしてもよい。
1…情報コード読取装置
23…受光センサ(撮像手段)
35…メモリ(記憶手段)
40…制御回路(画像処理手段、度数分布検出手段、分布特徴検出手段、ノイズ除去手段、デコード手段、領域検出手段、ノイズ成分検出手段、度数増加状態確認手段、フィルタ選択手段、フィルタ処理手段、度数減少状態確認手段、度数累計算出手段、判断手段) Q…情報コード
23…受光センサ(撮像手段)
35…メモリ(記憶手段)
40…制御回路(画像処理手段、度数分布検出手段、分布特徴検出手段、ノイズ除去手段、デコード手段、領域検出手段、ノイズ成分検出手段、度数増加状態確認手段、フィルタ選択手段、フィルタ処理手段、度数減少状態確認手段、度数累計算出手段、判断手段) Q…情報コード
Claims (7)
- 情報コードを撮像する撮像手段と、
前記撮像手段にて撮像された前記情報コードの画像データを記憶する記憶手段と、
前記記憶手段に記憶される前記画像データを処理する画像処理手段と、
を備えた情報コード読取装置であって、
前記画像データによって構成される画像において、二値化後の明色エリア又は暗色エリアの幅値についての幅値度数分布を検出する度数分布検出手段と、
前記度数分布検出手段にて検出された前記幅値度数分布の分布特徴を検出する分布特徴検出手段と、
前記分布特徴検出手段にて検出された前記分布特徴に基づくノイズ除去処理を行なうノイズ除去手段と、
前記ノイズ除去手段によって前記ノイズ除去処理がなされた後のノイズ除去後の画像に基づいてデコード処理を行うデコード手段と、
を有することを特徴とする情報コード読取装置。 - 前記画像データによって構成される前記画像内において前記情報コードが存在するコード領域を検出する領域検出手段を備え、
前記度数分布検出手段は、前記領域検出手段にて検出された前記コード領域において前記幅値度数分布を検出し、
前記分布特徴検出手段は、前記コード領域における前記幅値度数分布に基づいて当該コード領域における前記分布特徴を検出することを特徴とする請求項1に記載の情報コード読取装置。 - 前記分布特徴検出手段は、前記幅値度数分布における最小幅値の度数を、前記最小幅値の次に大きい幅値の度数と比較し、前記最小幅値の度数よりも当該最小幅値の次に大きい幅値の度数の方が小さい場合にノイズ成分として検出するノイズ成分検出手段を備え、
前記ノイズ除去手段は、前記ノイズ成分検出手段によって検出された前記ノイズ成分に基づいて前記ノイズ除去処理を行うことを特徴とする請求項1又は請求項2に記載の情報コード読取装置。 - 前記分布特徴検出手段は、前記度数分布検出手段によって検出された前記幅値度数分布において、前記最小幅値の度数が度数最大値となる度数最大値状態、又は前記最小幅値よりも幅値が大きくなるにつれて順に度数が小さくなる度数順次減少状態を確認し、
前記ノイズ除去手段は、前記度数最大値状態又は前記度数順次減少状態が確認された場合、照明光源の出力増大処理又は前記撮像手段の撮像感度増大処理を行うことを特徴とする請求項1から請求項3のいずれか一項に記載の情報コード読取装置。 - 前記分布特徴検出手段は、
前記幅値度数分布において、最小幅値の度数から順に、各幅値の度数をそれぞれ、前記各幅値の次に大きい幅値の度数と比較すると共に、いずれかの幅値の度数よりも、当該いずれかの幅値の次に大きい幅値の度数の方が大きくなる所定の度数増加状態に転じたか否かを確認する度数増加状態確認手段を有し、
前記ノイズ除去手段は、
前記分布特徴検出手段により前記所定の度数増加状態が確認された場合、前記所定の度数増加状態が生じている前記次に大きい幅値に基づいてフィルタを選択するフィルタ選択手段と、
前記フィルタ選択手段によって選択されたフィルタを用いて前記画像データに対してフィルタ処理を行うフィルタ処理手段と、
を有することを請求項1又は請求項2に記載の情報コード読取装置。 - 前記フィルタ選択手段は、前記所定の度数増加状態が生じている前記次に大きい幅値を基準幅値とし、当該基準幅値以上において順に、各幅値の度数を次サイズの幅値の度数と比較したときに、前記基準幅値以上のいずれかの幅値の度数よりも、当該いずれかの幅値の次サイズの幅値の度数の方が小さい度数減少状態に転じたか否かを確認する度数減少状態確認手段を有し、
前記フィルタ選択手段は、前記度数減少状態確認手段によって前記度数減少状態が確認された前記次サイズの幅値に基づいてフィルタサイズを選択することを特徴とする請求項5に記載の情報コード読取装置。 - 前記分布特徴検出手段は、
前記幅値度数分布において、最小幅値の度数から順に、各幅値についての度数をそれぞれ、前記各幅値の次に大きい幅値の度数と比較すると共に、いずれかの幅値の度数よりも、当該いずれかの幅値の次に大きい幅値の度数の方が大きくなる所定の度数増加状態に転じたか否かを確認する度数増加状態確認手段と、
前記最小幅値から前記所定の度数増加状態に転じるまでの間において、幅値が大きくなるにつれて順に度数が小さくなる度数順次減少状態を確認し、当該度数順次減少状態が生じている間の度数累計を算出する度数累計算出手段と、
前記幅値度数分布の全度数に対する前記度数累計の占める割合が所定割合を超えているか否かを判断する判断手段と、
を有し、
前記ノイズ除去手段は、前記判断手段により前記全度数に対する前記度数累計の占める割合が前記所定割合を超えていると判断された場合に、照明光源の出力増大処理又は前記撮像手段の撮像感度増大処理を行うことを特徴とする請求項1から請求項6のいずれか一項に記載の情報コード読取装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008308410A JP2010134595A (ja) | 2008-12-03 | 2008-12-03 | 情報コード読取装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008308410A JP2010134595A (ja) | 2008-12-03 | 2008-12-03 | 情報コード読取装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010134595A true JP2010134595A (ja) | 2010-06-17 |
Family
ID=42345852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008308410A Pending JP2010134595A (ja) | 2008-12-03 | 2008-12-03 | 情報コード読取装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010134595A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010146335A (ja) * | 2008-12-19 | 2010-07-01 | Denso Wave Inc | 情報コード読取装置 |
JP2015008374A (ja) * | 2013-06-25 | 2015-01-15 | 日本電気株式会社 | 携帯端末、撮影方法及びプログラム |
JP2020065106A (ja) * | 2018-10-15 | 2020-04-23 | 京セラドキュメントソリューションズ株式会社 | 画像処理装置 |
-
2008
- 2008-12-03 JP JP2008308410A patent/JP2010134595A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010146335A (ja) * | 2008-12-19 | 2010-07-01 | Denso Wave Inc | 情報コード読取装置 |
JP2015008374A (ja) * | 2013-06-25 | 2015-01-15 | 日本電気株式会社 | 携帯端末、撮影方法及びプログラム |
JP2020065106A (ja) * | 2018-10-15 | 2020-04-23 | 京セラドキュメントソリューションズ株式会社 | 画像処理装置 |
JP7202520B2 (ja) | 2018-10-15 | 2023-01-12 | 京セラドキュメントソリューションズ株式会社 | 画像処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3516144B1 (ja) | 光学情報コードの読取方法および光学情報コード読取装置 | |
JP2010134595A (ja) | 情報コード読取装置 | |
JP4968093B2 (ja) | 光学的情報読取装置 | |
CN112804795B (zh) | 用于闪烁控制的装置和方法 | |
JP2021015489A (ja) | 画像解析装置、画像解析システム、画像解析方法及び画像解析プログラム | |
JP2010182057A (ja) | 光学的情報読取装置 | |
JP5282559B2 (ja) | 情報コード読取装置 | |
JP5264956B2 (ja) | 2次元コード読取装置及びその方法 | |
JP5644633B2 (ja) | 光学的情報読取装置 | |
JP5786783B2 (ja) | 情報コード読取装置 | |
JP5786784B2 (ja) | 情報コード読取装置 | |
JP4957616B2 (ja) | 二次元コード読取装置 | |
JP4728297B2 (ja) | 2次元コード読取装置及びその方法 | |
JP5195264B2 (ja) | バーコード読取方法およびバーコード読取装置 | |
JP5780192B2 (ja) | 情報コード読取装置 | |
JP2011197856A (ja) | 光学的情報読取装置 | |
JP5104557B2 (ja) | 光学的情報読取装置 | |
JP5888199B2 (ja) | バーコード読取装置 | |
JP5810997B2 (ja) | 二次元コード読み取り装置 | |
JP5007960B2 (ja) | 光学的情報読取装置 | |
JP2008203229A (ja) | 電子部品の端子位置検出方法 | |
JP4622992B2 (ja) | 光学情報読取装置 | |
JP2010097316A (ja) | 光学的情報読取装置 | |
JP2013101698A (ja) | 画像撮像装置及びプログラム | |
JP5168245B2 (ja) | 光学的情報読取装置 |