(57)【要約】【課題】撮像画像のノイズがどのような状態であるかを簡易な構成で精度高く把握でき、ノイズ状態に適したノイズ除去処理を効果的に行い得る情報コード読取装置を提供する。【解決手段】情報コード読取装置は、撮像手段によって情報コードを撮像すると共に、その画像データによって構成される画像において、二値化後の明色エリア又は暗色エリアの幅値についての幅値度数分布を生成し、更に、その生成された幅値度数分布の分布特徴を検出している。そして、その検出された分布特徴に基づいてノイズ除去処理を行い、ノイズ除去後の画像についてデコード処理を行っている。【選択図】図２
2010134595.tif 000002
【特許請求の範囲】
【請求項１】
情報コードを撮像する撮像手段と、
前記撮像手段にて撮像された前記情報コードの画像データを記憶する記憶手段と、
前記記憶手段に記憶される前記画像データを処理する画像処理手段と、
を備えた情報コード読取装置であって、
前記画像データによって構成される画像において、二値化後の明色エリア又は暗色エリアの幅値についての幅値度数分布を検出する度数分布検出手段と、
前記度数分布検出手段にて検出された前記幅値度数分布の分布特徴を検出する分布特徴検出手段と、
前記分布特徴検出手段にて検出された前記分布特徴に基づくノイズ除去処理を行なうノイズ除去手段と、
前記ノイズ除去手段によって前記ノイズ除去処理がなされた後のノイズ除去後の画像に基づいてデコード処理を行うデコード手段と、
を有することを特徴とする情報コード読取装置。
【請求項２】
前記画像データによって構成される前記画像内において前記情報コードが存在するコード領域を検出する領域検出手段を備え、
前記度数分布検出手段は、前記領域検出手段にて検出された前記コード領域において前記幅値度数分布を検出し、
前記分布特徴検出手段は、前記コード領域における前記幅値度数分布に基づいて当該コード領域における前記分布特徴を検出することを特徴とする請求項１に記載の情報コード読取装置。
【請求項３】
前記分布特徴検出手段は、前記幅値度数分布における最小幅値の度数を、前記最小幅値の次に大きい幅値の度数と比較し、前記最小幅値の度数よりも当該最小幅値の次に大きい幅値の度数の方が小さい場合にノイズ成分として検出するノイズ成分検出手段を備え、
前記ノイズ除去手段は、前記ノイズ成分検出手段によって検出された前記ノイズ成分に基づいて前記ノイズ除去処理を行うことを特徴とする請求項１又は請求項２に記載の情報コード読取装置。
【請求項４】
前記分布特徴検出手段は、前記度数分布検出手段によって検出された前記幅値度数分布において、前記最小幅値の度数が度数最大値となる度数最大値状態、又は前記最小幅値よりも幅値が大きくなるにつれて順に度数が小さくなる度数順次減少状態を確認し、
前記ノイズ除去手段は、前記度数最大値状態又は前記度数順次減少状態が確認された場合、照明光源の出力増大処理又は前記撮像手段の撮像感度増大処理を行うことを特徴とする請求項１から請求項３のいずれか一項に記載の情報コード読取装置。
【請求項５】
前記分布特徴検出手段は、
前記幅値度数分布において、最小幅値の度数から順に、各幅値の度数をそれぞれ、前記各幅値の次に大きい幅値の度数と比較すると共に、いずれかの幅値の度数よりも、当該いずれかの幅値の次に大きい幅値の度数の方が大きくなる所定の度数増加状態に転じたか否かを確認する度数増加状態確認手段を有し、
前記ノイズ除去手段は、
前記分布特徴検出手段により前記所定の度数増加状態が確認された場合、前記所定の度数増加状態が生じている前記次に大きい幅値に基づいてフィルタを選択するフィルタ選択手段と、
前記フィルタ選択手段によって選択されたフィルタを用いて前記画像データに対してフィルタ処理を行うフィルタ処理手段と、
を有することを請求項１又は請求項２に記載の情報コード読取装置。
【請求項６】
前記フィルタ選択手段は、前記所定の度数増加状態が生じている前記次に大きい幅値を基準幅値とし、当該基準幅値以上において順に、各幅値の度数を次サイズの幅値の度数と比較したときに、前記基準幅値以上のいずれかの幅値の度数よりも、当該いずれかの幅値の次サイズの幅値の度数の方が小さい度数減少状態に転じたか否かを確認する度数減少状態確認手段を有し、
前記フィルタ選択手段は、前記度数減少状態確認手段によって前記度数減少状態が確認された前記次サイズの幅値に基づいてフィルタサイズを選択することを特徴とする請求項５に記載の情報コード読取装置。
【請求項７】
前記分布特徴検出手段は、
前記幅値度数分布において、最小幅値の度数から順に、各幅値についての度数をそれぞれ、前記各幅値の次に大きい幅値の度数と比較すると共に、いずれかの幅値の度数よりも、当該いずれかの幅値の次に大きい幅値の度数の方が大きくなる所定の度数増加状態に転じたか否かを確認する度数増加状態確認手段と、
前記最小幅値から前記所定の度数増加状態に転じるまでの間において、幅値が大きくなるにつれて順に度数が小さくなる度数順次減少状態を確認し、当該度数順次減少状態が生じている間の度数累計を算出する度数累計算出手段と、
前記幅値度数分布の全度数に対する前記度数累計の占める割合が所定割合を超えているか否かを判断する判断手段と、
を有し、
前記ノイズ除去手段は、前記判断手段により前記全度数に対する前記度数累計の占める割合が前記所定割合を超えていると判断された場合に、照明光源の出力増大処理又は前記撮像手段の撮像感度増大処理を行うことを特徴とする請求項１から請求項６のいずれか一項に記載の情報コード読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報コード読取装置に関するものである。
【背景技術】
【０００２】
現在、様々な分野において、バーコードやＱＲコードなどの情報コードが広く用いられている。この種の情報コードは、プリンタによる印刷や、ダイレクトマーキングなどによって様々な対象物に付されており、他方、このような情報コードを光学的に読み取る装置として、バーコードリーダ等の情報コード読取装置が広く用いられている。
【特許文献１】特開２００２−７４２５８公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、上記のような情報コード読取装置では、情報コードを撮像したときの撮像画像が印字状態や撮像状態の影響を受けやすいという問題があり、場合によっては、撮像画像に情報コードを構成する要素以外のノイズが多く含まれてしまう場合がある。例えばダイレクトマーキングによって形成される情報コードでは、印字面の凹凸やキズなどがノイズとして撮像画像に含まれやすく、このようなノイズは情報コードの読み取りに多大な影響を及ぼしてしまう。
【０００４】
一方、本発明に関連する技術として特許文献１のようなものが提供されているが、当該技術では、ノイズを効果的に除去することは難しい。即ち、ノイズを除去するためにはノイズ状態に応じた適切なノイズ除去処理を行う必要があるが、特許文献１はノイズ除去を目的とする技術ではなく、ノイズ状態を如何に把握するか、ノイズ状態に応じてどのようなノイズ除去処理を行うか、等を示唆する内容も見受けられない。
【０００５】
本発明は、上述した課題を解決するためになされたものであり、情報コードを読み取る情報コード読取装置において、撮像画像のノイズがどのような状態であるかを簡易な構成で精度高く把握でき、ノイズ状態に適したノイズ除去処理を効果的に行い得る構成を提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１の発明は、情報コードを撮像する撮像手段と、前記撮像手段にて撮像された前記情報コードの画像データを記憶する記憶手段と、前記記憶手段に記憶される前記画像データを処理する画像処理手段と、を備えた情報コード読取装置として構成される。
そして、前記画像データによって構成される画像において、二値化後の明色エリア又は暗色エリアの幅値についての幅値度数分布を検出する度数分布検出手段と、前記度数分布検出手段にて検出された前記幅値度数分布の分布特徴を検出する分布特徴検出手段と、前記分布特徴検出手段にて検出された前記分布特徴に基づくノイズ除去処理を行うノイズ除去手段と、前記ノイズ除去手段によって前記ノイズ除去処理がなされた後のノイズ除去後の画像に基づいてデコード処理を行うデコード手段と、を有することを特徴とする。
【０００７】
請求項２の発明は、請求項１に記載の情報コード読取装置において、更に、前記画像データによって構成される前記画像内において前記情報コードが存在するコード領域を検出する領域検出手段を備えており、前記度数分布検出手段が、前記領域検出手段にて検出された前記コード領域において前記幅値度数分布を検出し、前記分布特徴検出手段が、前記コード領域における前記幅値度数分布に基づいて当該コード領域における前記分布特徴を検出することを特徴とする。
【０００８】
請求項３の発明は、請求項１又は請求項２に記載の情報コード読取装置において、更に、前記分布特徴検出手段が、ノイズ成分検出手段を備えている。
このノイズ成分検出手段は、前記幅値度数分布における最小幅値の度数を、前記最小幅値の次に大きい幅値の度数と比較し、前記最小幅値の度数よりも当該最小幅値の次に大きい幅値の度数の方が小さい場合にノイズ成分として検出している。
そして、前記ノイズ除去手段が、前記ノイズ成分検出手段によって検出された前記ノイズ成分に基づいて前記ノイズ除去処理を行っている。
【０００９】
請求項４の発明は、請求項１から請求項３のいずれか一項に記載の情報コード読取装置において、更に、前記分布特徴検出手段が、前記度数分布検出手段によって検出された前記幅値度数分布において、前記最小幅値の度数が度数最大値となる度数最大値状態、又は前記最小幅値よりも幅値が大きくなるにつれて順に度数が小さくなる度数順次減少状態を確認する構成をなしている。
また、前記ノイズ除去手段が、前記度数最大値状態又は前記度数順次減少状態が確認された場合、照明光源の出力増大処理又は前記撮像手段の撮像感度増大処理を行う構成をなしている。
【００１０】
請求項５の発明は、請求項１又は請求項２に記載の情報コード読取装置において、更に、前記分布特徴検出手段が、度数増加状態確認手段を有している。
この度数増加状態確認手段は、前記幅値度数分布において、最小幅値の度数から順に、各幅値の度数をそれぞれ、前記各幅値の次に大きい幅値の度数と比較すると共に、いずれかの幅値の度数よりも、当該いずれかの幅値の次に大きい幅値の度数の方が大きくなる所定の度数増加状態に転じたか否かを確認する構成をなしている。
更に、前記ノイズ除去手段が、フィルタ選択手段と、フィルタ処理手段とを有している。
前記フィルタ選択手段は、前記分布特徴検出手段により前記所定の度数増加状態が確認された場合、前記所定の度数増加状態が生じている前記次に大きい幅値に基づいてフィルタを選択する構成をなしている。
また、前記フィルタ処理手段は、前記フィルタ選択手段によって選択されたフィルタを用いて前記画像データに対してフィルタ処理を行う構成をなしている。
【００１１】
請求項６の発明は、請求項５に記載の情報コード読取装置において、更に、前記フィルタ選択手段が度数減少状態確認手段を有している。
この度数減少状態確認手段は、前記所定の度数増加状態が生じている前記次に大きい幅値を基準幅値とし、当該基準幅値以上において順に、各幅値を次サイズの幅値の度数と比較したときに、前記基準幅値以上のいずれかの幅値の度数よりも、当該いずれかの幅値の次サイズの幅値の度数の方が小さい度数減少状態に転じたか否かを確認している。
更に、前記フィルタ選択手段は、前記度数減少状態確認手段によって前記度数減少状態が確認された前記次サイズの幅値に基づいてフィルタサイズを選択する構成をなしている。
【００１２】
請求項７の発明は、請求項１から請求項６のいずれか一項に記載の情報コード読取装置において、更に、前記分布特徴検出手段が、度数増加状態確認手段と、度数累計算出手段と、判断手段と、を有している。
前記度数増加状態確認手段は、前記幅値度数分布において、最小幅値の度数から順に、各幅値についての度数をそれぞれ、前記各幅値の次に大きい幅値の度数と比較すると共に、いずれかの幅値の度数よりも、当該いずれかの幅値の次に大きい幅値の度数の方が大きくなる所定の度数増加状態に転じたか否かを確認している。
また、前記度数累計算出手段は、前記最小幅値から前記所定の度数増加状態に転じるまでの間において、幅値が大きくなるにつれて順に度数が小さくなる度数順次減少状態を確認し、当該度数順次減少状態が生じている間の度数累計を算出している。
また、前記判断手段は、前記幅値度数分布の全度数に対する前記度数累計の占める割合が所定割合を超えているか否かを判断している。
そして、前記ノイズ除去手段は、前記判断手段により前記全度数に対する前記度数累計の占める割合が前記所定割合を超えていると判断された場合に、照明光源の出力増大処理又は前記撮像手段の撮像感度増大処理を行っている。
【発明の効果】
【００１３】
請求項１の発明は、情報コードの画像データによって構成される画像において、二値化後の明色エリア又は暗色エリアの幅値についての幅値度数分布を検出し、更に、その幅値度数分布の分布特徴を検出している。そして、その検出された分布特徴に基づくノイズ除去処理を行っている。撮像された情報コードの画像は、明色エリア又は暗色エリアの幅値度数分布がノイズ状態に応じた特徴を示すため、この幅値度数分布の分布特徴を検出すればどのようなノイズ状態であるかを、より簡易に且つより精度高く把握することができる。そして、このような分布特徴を的確に把握した上で、これに基づいてノイズ除去処理を行うようにすれば、ノイズ状態により適した除去処理が可能となり、撮像画像から適切に且つ安定してノイズを除去できる。その上でデコード処理を行うようにすれば、デコード失敗を効果的に抑えることができ、ひいては読取処理の迅速化、安定性を効果的に向上できる。
【００１４】
請求項２の発明は、領域検出手段にて検出されたコード領域において幅値度数分布を検出し、このコード領域における幅値度数分布に基づいて当該コード領域における分布特徴を検出している。このようにすると、読み取りに必要な範囲について幅値度数分布検出、分布特徴検出を行うことができ、ノイズの特徴検出を適切な範囲で行うことができると共に、分布特徴の検出をより迅速に行うことができる。
【００１５】
請求項３の発明は、幅値度数分布における最小幅値の度数を、最小幅値の次に大きい幅値の度数と比較し、最小幅値の度数よりも当該最小幅値の次に大きい幅値の度数の方が小さい場合にノイズ成分として検出している。このような分布特徴を示す場合、少なくとも最小幅値付近にノイズが生じていることを把握でき、そのようなノイズ状態に適したノイズ除去処理を行うことができる。
【００１６】
請求項４の発明は、幅値度数分布において、最小幅値の度数が度数最大値となる度数最大値状態、又は最小幅値よりも幅値が大きくなるにつれて順に度数が小さくなる度数順次減少状態を確認している。最小幅値の度数が度数最大値状態になる場合や、最小幅値よりも度数が大きくなるにつれて順に度数が小さくなる場合とは、小さい幅のノイズが多く、ノイズに埋もれて情報コードの特徴が把握しにくい場合（即ち、情報コード付近が暗い状態で撮像された場合や、撮像手段の感度が不十分である場合等）であるため、上記のような度数最大値状態や度数順次減少状態を確認することで、このようなノイズ状態であるか否かを的確に確認できる。そして、度数最大値状態又は前記度数順次減少状態が確認された場合、照明光源の出力増大処理又は撮像手段の撮像感度増大処理を行うようにすれば、ノイズの原因と想定される光量不足や感度不足が改善されるため、ノイズを適切に排除でき、ノイズに埋もれていたコードの特徴をより明確にすることができる。
【００１７】
請求項５の発明は、幅値度数分布において、最小幅値の度数から順に、各幅値の度数をそれぞれ、前記各幅値の次に大きい幅値の度数と比較すると共に、いずれかの幅値の度数よりも、当該いずれかの幅値の次に大きい幅値の度数の方が大きくなる所定の度数増加状態に転じたか否かを確認している。このような度数増加状態に転じる部分は、情報コードの情報構成単位（セル）の幅付近であることが推定されるため、度数増加状態が生じている部分に基づいてフィルタを選択する構成とすれば、情報構成単位（セル）のサイズに適したフィルタ選択が可能となる。
【００１８】
請求項６の発明は、請求項５の構成に加え、所定の度数増加状態が生じている幅値（次に大きい幅値）を基準幅値とし、当該基準幅値以上において順に、各幅値の度数を次サイズの幅値の度数と比較したときに、基準幅値以上のいずれかの幅値の度数よりも、当該いずれかの幅値の次サイズの幅値の度数の方が小さい度数減少状態に転じたか否かを確認している。このようにすると、情報コードの情報構成単位（セル）のサイズをより精度高く推定でき、情報構成単位（セル）のサイズをより適切に考慮したフィルタ選択が可能となる。
【００１９】
請求項７の発明は、幅値度数分布において、最小幅値から「所定の度数増加状態」に転じるまでの間において、幅値が大きくなるにつれて順に度数が小さくなる「度数順次減少状態」を確認すると共に、当該「度数順次減少状態」が生じている間の度数累計を算出し、更に、幅値度数分布の全度数に対する度数累計の占める割合が所定割合を超えているか否かを判断している。このようにすると、全体に占めるノイズの割合がどの程度であるかを的確に把握できる。また、全度数に対する度数累計の占める割合が所定割合を超えていると判断される場合（即ち、全体に占めるノイズの割合が大きい場合）、光量不足や感度不足が原因である可能性が高く、このような場合に照明光源の出力増大処理又は撮像手段の撮像感度増大処理を行うようにすれば、ノイズを簡易且つ効果的に除去できる。
【発明を実施するための最良の形態】
【００２０】
[第１実施形態]
以下、第１実施形態に係る情報コード読取装置について説明する。
図１は、第１実施形態に係る情報コード読取装置を概略的に例示する斜視図である。図２は、図１の情報コード読取装置で行われる読取処理を例示するフローチャートである。図３は、図２の読取処理で行われる特徴検出処理を例示するフローチャートである。図４は、図１の読取処理で行われるフィルタサイズ選択処理を例示するフローチャートである。図５は、コード領域の幅値度数分布を検出するための走査について説明する説明図である。図６は、度数分布の一例を示す説明図である。図７（ａ）は、度数分布について図６とは異なる例を示す説明図であり、図７（ｂ）は、図７（ａ）の一部を拡大して説明する説明図である。図８（ａ）は画像を構成する各画素を概念的に説明する説明図であり、図８（ｂ）は、フィルタサイズ選択について説明する説明図である。図８（ｃ）は、図８（ｂ）とは異なるフィルタサイズ選択について説明する説明図である。図９は、ノイズ除去の様子を説明する説明図である。
【００２１】
（全体構成）
まず、図１等を参照して本実施形態に係る情報コード読取装置の全体構成について説明する。
図１に示すように、本実施形態に係る情報コード読取装置１は、一次元コード、二次元コード等の情報コードＱを読み取るコードリーダとして構成されるものであり、図示しないケースによって外郭が構成され、このケース内に各種電子部品が収容された構成をなしている。
【００２２】
この情報コード読取装置１は、主に、照明光源２１、受光センサ２３、フィルタ２５、結像レンズ２７等の光学系と、メモリ３５、制御回路４０、操作スイッチ４２、液晶表示装置４６等のマイクロコンピュータ（以下「マイコン」という）系と、電源スイッチ４１、電池４９等の電源系と、から構成されている。なお、これらは、図略のプリント配線板に実装あるいはケース（図示略）内に内装されている。
【００２３】
光学系は、照明光源２１、受光センサ２３、フィルタ２５、結像レンズ２７等から構成されている。照明光源２１は、照明光Ｌｆを発光可能な照明光源として機能するもので、例えば、赤色のＬＥＤとこのＬＥＤの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ２３を挟んだ両側に照明光源２１が設けられており、ケースに形成された読取口（図示略）を介して読取対象物Ｒに向けて照明光Ｌｆを照射可能に構成されている。この読取対象物Ｒとしては、例えば、樹脂材料、金属材料等の様々な対象が考えられ、情報コードＱは、このような読取対象物Ｒに印刷、ダイレクトマーキングなどによって形成されている。
【００２４】
受光センサ２３は、読取対象物Ｒや情報コードＱに照射されて反射した反射光Ｌｒを受光可能に構成されるもので、例えば、Ｃ−ＭＯＳやＣＣＤ等の固体撮像素子である受光素子を２次元に配列したエリアセンサが、これに相当する。この受光センサ２３は、結像レンズ２７を介して入射する入射光を受光面２３ａで受光可能に図略のプリント配線板に実装されている。なお、受光センサ２３は、「撮像手段」の一例に相当する。
【００２５】
フィルタ２５は、反射光Ｌｒの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、ケースに形成された読取口（図示略）と結像レンズ２７との間に設けられている。これにより、反射光Ｌｒの波長相当を超える不要な光が受光センサ２３に入射することを抑制している。また、結像レンズ２７は、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとによって構成されており、本実施形態では、ケースに形成された読取口（図示略）に入射する反射光Ｌｒを集光し、受光センサ２３の受光面２３ａに情報コードＱのコード画像を結像するように構成されている。
【００２６】
マイコン系は、増幅回路３１、Ａ／Ｄ変換回路３３、メモリ３５、アドレス発生回路３６、同期信号発生回路３８、制御回路４０、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示装置４６、通信インタフェース４８等から構成されている。このマイコン系は、マイコン（情報処理装置）として機能し得る制御回路４０及びメモリ３５を中心として構成され、前述した光学系によって撮像された情報コードＱの画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。
【００２７】
光学系の受光センサ２３から出力される画像信号（アナログ信号）は、増幅回路３１に入力されることで所定ゲインで増幅された後、Ａ／Ｄ変換回路３３に入力され、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ（画像情報）は、メモリ３５に入力され、当該メモリ３５の画像データ蓄積領域に蓄積される。なお、同期信号発生回路３８は、受光センサ２３およびアドレス発生回路３６に対する同期信号を発生可能に構成されており、またアドレス発生回路３６は、この同期信号発生回路３８から供給される同期信号に基づいて、メモリ３５に格納される画像データの格納アドレスを発生可能に構成されている。
【００２８】
メモリ３５は、半導体メモリ装置で、例えばＲＡＭ（ＤＲＡＭ、ＳＲＡＭ等）やＲＯＭ（ＥＰＲＯＭ、ＥＥＰＲＯＭ等）がこれに相当する。このメモリ３５のうちのＲＡＭには、前述した画像データ蓄積領域のほかに、制御回路４０が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またＲＯＭには、後述する読取処理等を実行可能な所定プログラムやその他、照明光源２１、受光センサ２３等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。なお、メモリ３５は、「記憶手段」の一例に相当し、受光センサ２３にて撮像された情報コードＱの画像データを記憶するように機能する。
【００２９】
制御回路４０は、情報コード読取装置１全体を制御可能なマイコンで、ＣＰＵ、システムバス、入出力インタフェース等からなるものであり、情報処理機能を有している。この制御回路４０には、内蔵された入出力インタフェースを介して種々の入出力装置（周辺装置）が接続されており、本実施形態の場合、電源スイッチ４１、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示装置４６、通信インタフェース４８等が接続されている。また、通信インタフェース４８には、情報コード読取装置１の上位システムに相当するホストコンピュータＨＳＴなどを接続できるようになっている。
【００３０】
電源系は、電源スイッチ４１、電池４９等により構成されており、制御回路４０により管理される電源スイッチ４１のオンオフによって、上述した各装置や各回路に、電池４９から供給される駆動電圧の導通や遮断が制御されている。なお、電池４９は、所定の直流電圧を発生可能な２次電池で、例えば、リチウムイオン電池等がこれに相当する。
【００３１】
（読取処理）
次に、情報コード読取装置１で行われる読取処理について説明する。
図２に示す読取処理では、まず、処理開始に伴い画像取得処理を行う（Ｓ１）この画像取得処理では、情報コードＱの画像データを取得し、メモリ３５に記憶する。情報コードＱの画像データは、受光センサ２３の各受光素子に対応する画素データの集合として構成される。
【００３２】
Ｓ１の後には、Ｓ１で取得した画像データに対して公知の二値化処理を行う（Ｓ２）。この二値化処理では、各画素データを所定の閾値に従って明色画素と暗色画素に区別する。  
【００３３】
Ｓ２で二値化処理を行った後には、Ｓ２で得られた二値化後の画像データについてラベリング処理を行う（Ｓ３）。このラベリング処理は、Ｓ２で得られた二値化後の画像データによって構成される画像内において情報コードが存在するコード領域（コードらしさ）を検出する処理であり、公知の様々なコード領域検出処理のいずれを採用してもよい。なお、本実施形態では、制御手段４０が「領域検出手段」の一例に相当する。
【００３４】
その後、Ｓ４の度数分布検出処理を行う。Ｓ４は、Ｓ３ラベリング処理にて検出されたコード領域において幅値度数分布を検出する処理であり、図５に概念的に示すように、Ｓ３で得られた二値化後のコード領域（ラベリング領域）において、所定方向（例えば横方向）に走査し、暗色画素が走査方向に連続してなる各暗色エリアを検出すると共に、各暗色エリアの幅値（連続セル数）を求め、幅値毎の度数分布（幅値度数分布）を生成する。なお、本実施形態では、コード領域（ラベリング領域）において横方向に並ぶ画素ライン（横ライン）全てについて走査し、コード領域の全走査ラインに含まれる各暗色エリアの幅値を取得し、度数分布を生成している。
【００３５】
なお、図６、図７は、Ｓ４の処理で得られる幅値度数分布の例をグラフによって可視化して示すものである。本実施形態では、画素数によって幅値が示されており、画素１つ分が最小幅値（幅値１）であり、画素２つ分がその次のサイズの幅値（幅値２）、画素３つ分が更にその次のサイズの幅値（幅値３）といったように示されている。なお、最小幅値（幅値１）の度数とは、走査方向に連続しない単一暗色画素の度数（検出数）を示しており、その次の幅値（幅値２）の度数とは、暗色画素が走査方向に２つ連続してなる暗色エリアの度数（検出数）を示している。また、幅値３以上の各幅値の度数も同様であり、例えば、幅値３の度数とは暗色画素が走査方向に３つ連続してなる暗色エリアの度数（検出数）を示している。
【００３６】
なお、本実施形態では、制御回路４０が、「度数分布検出手段」の一例に相当し、情報コードＱの画像データによって構成される画像において、二値化後の暗色エリアの幅値についての幅値度数分布を検出するように機能する。
【００３７】
Ｓ４の後には、所定のノイズ成分を検出したか否かを判断する判断処理を行う（Ｓ５）。Ｓ５の判断処理では、Ｓ４で検出された幅値度数分布の分布特徴を検出する一例を示すものであり、ここでは、最小幅値（幅値１）の度数と、その次の幅値（二番面に小さい幅値（幅値２））の度数とを比較し、最小幅値（幅値１）の度数のほうがその次の幅値（幅値２）の度数よりも大きいか否かを判断する。
【００３８】
最小幅値（幅値１）の度数のほうがその次の幅値（幅値２）の度数よりも大きく、度数分布が図６のような右下がりである場合、画像の性質上、少なくとも最小幅値（幅値１）付近のサイズがノイズであると推定できるため、このような場合（即ち、最小幅値（幅値１）の度数のほうが、次の幅値（幅値２）の度数よりも大きい場合）、「所定のノイズ成分」を検出したものとして、Ｓ５にてＹｅｓに進む。Ｓ５にてＹｅｓに進む場合には、後述する更なる特徴検出処理を行う（Ｓ６）。
【００３９】
一方、最小幅値（幅値１）の度数よりもその次の幅値（幅値２）の度数のほうが大きい場合、「所定のノイズ成分」を検出しなかったものとして、Ｓ５にてＮｏに進み、特別なノイズ除去処理を行わずにデコード処理を行う（Ｓ１１）。
【００４０】
なお、本実施形態では、制御回路４０が「ノイズ成分検出手段」の一例に相当し、Ｓ４で得られた幅値度数分布における最小幅値（幅値１）の度数を、最小幅値の次に大きい幅値（幅値２）の度数と比較し、最小幅値（幅値１）の度数よりも当該最小幅値の次に大きい幅値（幅値２）の度数の方が小さい場合に「所定のノイズ成分」が生じていると検出している。そして、このように「所定のノイズ成分」が検出された場合（即ち、Ｓ５にてＹｅｓに進む場合）、Ｓ６、Ｓ７の処理を経た後、Ｓ８、Ｓ９のようなノイズ除去処理を行うこととなる。以下、これらＳ６〜Ｓ９の処理を説明する。
【００４１】
Ｓ６の特徴検出処理は、Ｓ４で検出された幅値度数分布について更に詳しい特徴を検出する処理であり、例えば図３のような流れで行われる。この処理では、まず着目する幅値（暗色エリアのエリア幅）を初期値の「１」に設定する（Ｓ２１）。そして、現在の幅値（エリア幅）Ｎが度数分布の中の最大幅値（度数が検出された内の最大のエリア幅）であるか否かを判断し（Ｓ２２）、現在（Ｓ２２処理時）のＮの値が最大幅値でなければＳ２２にてＮｏに進む。
【００４２】
Ｓ２２にてＮｏに進む場合、現在（Ｓ２３処理時）の幅値Ｎの度数とその次の幅値Ｎ＋１の度数と比較する処理を行う（Ｓ２３）。そして、現在の幅値Ｎの度数が次の幅値Ｎ＋１の度数よりも大きい場合にはＳ２３にてＮｏに進み、着目している現在の幅値Ｎの値をインクリメント（Ｎ＝Ｎ＋１）し（Ｓ２４）、そのインクリメントされた新たな幅値ＮについてＳ２２以降の処理を繰り返す。
【００４３】
一方、Ｓ２３において現在（Ｓ２２処理時）の幅値Ｎの度数が次の幅値Ｎ＋１の度数のよりも小さいと判断される場合にはＳ２３にてＹｅｓに進み、Ｓ４で得られた幅値度数分布に所定特徴があるものと設定する（Ｓ２５）。Ｓ２５では、例えば、所定特徴があることを示す情報をメモリ３５などに記憶する。
【００４４】
また、Ｓ２２において、現在（Ｓ２２処理時）の幅値Ｎが度数分布内の最大幅値であると判断される場合、Ｓ２２にてＹｅｓに進み、Ｓ４で得られた幅値度数分布に所定特徴がないものと設定する（Ｓ２６）。Ｓ２６では、例えば、所定特徴がないことを示す情報をメモリ３５などに記憶する（Ｓ２６）。
【００４５】
このように、Ｓ６の特徴検出処理では、Ｓ４で検出された幅値度数分布において、「最小幅値（幅値１）の度数が度数最大値となる度数最大値状態」及び「最小幅値（幅値１）よりも幅値が大きくなるにつれて順に度数が小さくなる度数順次減少状態」を確認しており、両状態が確認されるような場合に「所定特徴なし」と設定し、それ以外の場合には「所定特徴あり」と設定する構成をなしている。
【００４６】
Ｓ６の後には、Ｓ６の特徴検出処理において所定特徴が検出されたか否かを判断する判断処理を行う（Ｓ７）。特徴検出処理（Ｓ６）において、「所定特徴あり（Ｓ２５）」とされた場合にはＳ７にてＹｅｓに進み、Ｓ９、Ｓ１０の処理を行う。一方、特徴検出処理（Ｓ６）において「所定特徴なし（Ｓ２６」とされた場合にはＳ７にてＮｏに進み、照明光源２１の出力を増大する処理を行う（Ｓ８）。
【００４７】
本実施形態では、Ｓ５、Ｓ６の処理を実行する制御回路４０が「分布特徴検出手段」の一例に相当し、Ｓ３で得られたコード領域の幅値度数分布に基づいて当該コード領域における分布特徴を検出するように機能している。また、図３の処理を実行する制御回路４０は、「度数増加状態確認手段」の一例にも相当し、Ｓ４で得られた幅値度数分布において、最小幅値（幅値１）の度数から順に、各幅値の度数をそれぞれ、各幅値の次に大きい幅値の度数と比較すると共に、いずれかの幅値の度数よりも、当該いずれかの幅値の次に大きい幅値の度数の方が大きくなる所定の度数増加状態に転じたか否かを確認するように機能している。
【００４８】
Ｓ７にてＹｅｓに進む場合（即ち、Ｓ６において「所定の度数増加状態」が確認された場合）には、Ｓ９のフィルタサイズ選択処理を行う。このフィルタサイズ選択処理は、例えば図４のような流れで行われ、まず着目する幅値（暗色エリアのエリア値）を初期値の「１」に設定する（Ｓ３１）。そして、現在（Ｓ３２の処理時）の幅値Ｎの度数とその次の幅値Ｎ＋１の度数と比較する処理を行う（Ｓ３２）。現在の幅値Ｎの度数が次の幅値Ｎ＋１の度数よりも大きい場合にはＳ３２にてＮｏに進み、着目している現在の幅値Ｎの値をインクリメント（Ｎ＝Ｎ＋１）し（Ｓ３３）、そのインクリメントされた新たな幅値ＮについてＳ３２以降の処理を繰り返す。
【００４９】
一方、現在の幅値Ｎの度数が次の幅値Ｎ＋１の度数よりも小さい場合にはＳ３２にてＹｅｓに進む。例えば、図７（ａ）（ｂ）の度数分布では、現在の幅値Ｎが「３」のとき、現在の幅値Ｎ（幅値３）の度数（バー５３参照）が次の幅値Ｎ＋１（幅値４）の度数（バー５４参照）よりも小さいため、Ｎ＝３のときにＳ３２にてＹｅｓに進むことになる。Ｓ３２にてＹｅｓに進む場合には、着目している現在の幅値Ｎの値をインクリメント（Ｎ＝Ｎ＋１）し（Ｓ３４）、その後、Ｓ３５の判断処理を行う。
【００５０】
Ｓ３５では、現在（Ｓ３５の処理時）の幅値Ｎの度数とその次の幅値Ｎ＋１の度数と比較する。そして、現在の幅値Ｎの度数が次の幅値Ｎ＋１の度数よりも小さい場合にはＳ３５にてＮｏに進み、現在の幅値Ｎの度数が次の幅値Ｎ＋１の度数よりも大きい場合にはＳ３５にてＹｅｓに進む。例えば、図７の度数分布では、現在の幅値Ｎが５のとき、現在の幅値Ｎの度数（バー５５参照）が次の幅値Ｎ＋１の度数（バー５６参照）よりも大きくなるため、Ｎ＝５のときにＳ３５にてＹｅｓに進むことになる。
【００５１】
このように、図４の処理（即ち、Ｓ９の処理）では、Ｓ４で検出された幅値度数分布において、最小幅値（幅値１）の度数から順に、各幅値の度数をそれぞれ、各幅値の次に大きい幅値の度数と比較すると共に、いずれかの幅値の度数よりも、当該いずれかの幅値の次に大きい幅値の度数の方が大きくなる状態（所定の度数増加状態）に転じたか否かを確認している。更に、「所定の度数増加状態」が生じている次に大きい幅値（即ち、Ｓ３２でＹｅｓに進む時点での幅値Ｎ＋１）を「基準幅値」とし、当該「基準幅値」以上において順に、各幅値の度数を次サイズの幅値の度数と比較している。そして、「基準幅値」以上の「いずれかの幅値」の度数よりも、当該「いずれかの幅値」の「次サイズの幅値」の度数の方が小さい「度数減少状態」に転じたか否かを確認している。なお、本実施形態では、図４の処理を実行し得る制御回路４０が「度数減少状態確認手段」の一例に相当する。
【００５２】
Ｓ３５にてＹｅｓに進む場合、現在（Ｓ３５にてＹｅｓに進むとき）のＮが情報コードＱの単位セルの幅と推定できるため、このＮの値をフィルタサイズとする。即ち、Ｎ×Ｎのフィルタを用いてＳ１０のフィルタ処理を行う。例えば、図７の度数分布では、Ｎ＝５のときにＳ３５にてＹｅｓに進み、情報コードＱの単位セルの幅値が「５」であると推定できるため、この「５」をフィルタサイズとし、５×５のフィルタを用いてＳ１０のフィルタ処理を行う。
【００５３】
本実施形態では、Ｓ９の処理を実行する制御回路４０が「フィルタ選択手段」の一例に相当し、Ｓ６において「所定の度数増加状態」が確認された場合、当該「所定の度数増加状態」に転じた以降の幅値に基づいて（具体的には、「度数減少状態」が確認された幅値に基づいて）フィルタを選択する構成をなしている。
【００５４】
Ｓ１０のフィルタ処理では、Ｓ９にて選択されたＮ×Ｎのフィルタサイズを用いて、公知のフィルタ処理を行う。フィルタ処理としては、公知の様々な種類のフィルタ処理を用いることができ、例えば平均化処理を用いる場合には、Ｎ×Ｎの平均化フィルタによってフィルタ処理が行われる。
【００５５】
Ｓ１０のフィルタ処理の具体例を挙げると、例えば、Ｓ３６で取得されたＮが「５」である場合、５×５の平均化フィルタが用いられ、図８（ａ）（ｂ）のように、着目している画素Ｐ０と、その周囲の２４個の画素Ｐ１〜Ｐ２４の全てについての濃度平均値を求め、その濃度平均値を着目している画素Ｐの濃度値とする。このような処理をＳ１で得られた画像データ、又はＳ３でラベリングされたコード領域の各画素について行う。
【００５６】
なお、Ｓ１０を実行する制御回路４０は、「画像処理手段」「ノイズ除去手段」の一例に相当し、メモリ３５（記憶手段）に記憶される画像データを処理する機能を有し、更に、Ｓ６、Ｓ９にて検出された分布特徴に基づくノイズ除去処理（Ｓ１０ではフィルタ処理）を行うように機能する。また、制御回路４０は、「フィルタ処理手段」の一例に相当し、Ｓ９で選択されたフィルタを用いて画像データに対してフィルタ処理を行うように機能する。
【００５７】
一方、Ｓ６にて「所定特徴なし（Ｓ２６）」と設定された場合には、Ｓ７にてＮｏに進み、照明光源２１の出力増大処理を行う（Ｓ８）。本実施形態に係るレーザレーダ装置１は、照明光源２１の出力を多段階に設定し得る構成をなしており、図２の読取処理開始直後（デフォルト）は、照明光源２１の出力が第１の出力となるように設定され、その後、Ｓ８の処理が行われる度に、照明光源２１の出力を１段階ずつ増大させる制御がなされる。なお、この出力増大処理も「ノイズ除去処理」の一例に相当する処理である。
【００５８】
Ｓ８の後又はＳ１０の後には、二値化後の画像データについて公知のデコード処理を行う（Ｓ１１）。本実施形態では、制御回路４０が「デコード手段」の一例に相当し、上記「ノイズ除去手段」によってノイズ除去処理がなされた後、のノイズ除去後の画像に基づいてデコード処理を行うように機能する。
【００５９】
その後、Ｓ１１のデコード処理が成功したか否かを判断し（Ｓ１２）、Ｓ１１にてデコード処理が成功した場合にはＳ１２にてＹｅｓに進み、図示しない出力処理などを行って当該読取処理を終了する。一方、Ｓ１１にてデコード処理が失敗した場合にはＳ１２にてＮｏに進み、Ｓ１以降の処理を繰り返す。
【００６０】
なお、Ｓ７にて分布に所定特徴がないと判断される場合、Ｓ８にて出力増大処理が行われるが、その直後のデコード処理（Ｓ１１）では出力増大前の取得画像によってデコードが行われる。このデコードが失敗した場合には、Ｓ１２にてＮｏに進み、Ｓ１にて出力増大後の画像を取得した後、Ｓ２以降の処理を行う。
【００６１】
Ｓ７にて所定特徴がないと判断される場合とは、即ち、光量不足などの要因により図９上段のように情報コードがノイズに埋もれ、情報コードの特徴がなくなっていることが推定される。この場合、Ｓ８にて出力増大処理を行うことで、次にＳ１で取得する画像において、図９中段のように情報コードの特徴を生じさせやすくすることができる。
【００６２】
また、出力増大処理後の画像については、Ｓ５の処理を再び行い、上述した「所定のノイズ成分」が検出されなければＳ５にてＮｏに進み、当該画像についてデコード処理を行う。一方、出力増大処理後の画像についても上述した「所定のノイズ成分」が検出された場合には、再びＳ６の特徴検出処理を行い、分布特徴があればＳ９のフィルタサイズ選択処理及びＳ１０のフィルタ処理を行い（いずれも上述）、図９下段のようにノイズ成分を除去する。一方、出力増大処理後の画像についてのＳ６の処理において、依然として所定分布特徴が検出されなければ、Ｓ８にて再度の出力増大処理を行い、Ｓ１１にてデコード処理を行った後、デコード失敗の場合（Ｓ１２：Ｎｏ）には、その再度の出力増大処理後の画像を再取得する（Ｓ１）。
【００６３】
（本実施形態の主な効果）
本実施形態の情報コード読取装置１では、情報コードＱの画像データによって構成される画像において、二値化後の暗色エリアの幅値についての幅値度数分布を検出し、更に、その幅値度数分布の分布特徴を検出している。そして、その検出された分布特徴に基づくノイズ除去処理（Ｓ８、Ｓ１０）を行っている。撮像された情報コードＱの画像は、暗色エリアの幅値度数分布がノイズ状態に応じた特徴を示すため、この幅値度数分布の分布特徴を検出すればどのようなノイズ状態であるかを、より簡易に且つより精度高く把握することができる。そして、このような分布特徴を的確に把握した上で、これに基づいてノイズ除去処理（Ｓ８、Ｓ１０）を行うようにすれば、ノイズ状態により適した除去処理が可能となり、撮像画像から適切に且つ安定してノイズを除去できる。その上でデコード処理（Ｓ１１）を行うようにすれば、デコード失敗を効果的に抑えることができ、ひいては読取処理の迅速化、安定性を効果的に向上できる。
【００６４】
また、本実施形態では、Ｓ３にて検出されたコード領域において幅値度数分布を検出し、このコード領域における幅値度数分布に基づいて当該コード領域における分布特徴を検出している。このようにすると、読み取りに必要な範囲について幅値度数分布検出、分布特徴検出を行うことができ、ノイズの特徴検出を適切な範囲で行うことができると共に、分布特徴の検出をより迅速に行うことができる。
【００６５】
また、幅値度数分布における最小幅値（幅値１）の度数を、最小幅値の次に大きい幅値（幅値２）の度数と比較し、最小幅値（幅値１）の度数よりも当該最小幅値の次に大きい幅値（幅値２）の度数の方が小さい場合にノイズ成分として検出している。このような分布特徴を示す場合、少なくとも最小幅値付近にノイズが生じていることを把握でき、そのようなノイズ状態に適したノイズ除去処理を行うことができる。
【００６６】
また、幅値度数分布において、最小幅値（幅値１）の度数が度数最大値となる度数最大値状態及び最小幅値（幅値１）よりも幅値が大きくなるにつれて順に度数が小さくなる度数順次減少状態を確認している。最小幅値（幅値１）の度数が度数最大値状態になる場合や、最小幅値（幅値１）よりも度数が大きくなるにつれて順に度数が小さくなる場合とは、小さい幅のノイズが多く、ノイズに埋もれて情報コードＱの特徴が把握しにくい場合（即ち、情報コードＱ付近が暗い状態で撮像された場合や、撮像手段の感度が不十分である場合等）であるため、上記のような度数最大値状態や度数順次減少状態を確認することで、このようなノイズ状態であるか否かを的確に確認できる。そして、度数最大値状態及び度数順次減少状態が確認された場合、照明光源２１の出力増大処理を行うようにすれば、ノイズの原因と想定される光量不足が改善されるため、ノイズを適切に排除でき、ノイズに埋もれていたコードの特徴をより明確にすることができる。
【００６７】
また、図４のフィルタサイズ選択処理では、幅値度数分布において、最小幅値（幅値１）の度数から順に、各幅値の度数をそれぞれ、各幅値の次に大きい幅値の度数と比較すると共に、いずれかの幅値の度数よりも、当該いずれかの幅値の次に大きい幅値の度数の方が大きくなる「所定の度数増加状態」に転じたか否かを確認している。このような度数増加状態に転じる部分は、情報コードＱの情報構成単位（セル）の幅付近であることが推定されるため、度数増加状態が生じている部分に基づいてフィルタを選択する構成とすれば、情報構成単位（セル）のサイズに適したフィルタ選択が可能となる。
【００６８】
更に、図４の処理では、「所定の度数増加状態」が生じている幅値（図７では、幅値４）を基準幅値とし、当該基準幅値以上において順に、各幅値を次サイズの幅値の度数と比較したときに、基準幅値以上のいずれかの幅値の度数よりも、当該いずれかの幅値の次サイズの幅値の度数の方が小さい度数減少状態に転じたか否かを確認している。このようにすると、情報コードＱの情報構成単位（セル）のサイズをより精度高く推定でき、情報構成単位（セル）のサイズをより適切に考慮したフィルタ選択が可能となる。
【００６９】
［第２実施形態］
次に第２実施形態について説明する。図１０は、第２実施形態の情報コード読取装置で行われる特徴検出処理を例示するフローチャートである。図１１は第２実施形態における特徴検出処理を説明するための説明図である。なお、第２実施形態は、Ｓ６の特徴検出処理の具体例が第１実施形態と異なり、それ以外は第１実施形態と同様である。よって、図３以外は適宜第１実施形態の図を参照することとする。
【００７０】
本実施形態の情報コード読取装置では、Ｓ６の特徴検出処理が図１０のような流れで行われる。なお、図１０のＳ２２１〜Ｓ２２４の処理は、それぞれ図３のＳ２１〜Ｓ２４と同一の処理である。
【００７１】
本実施形態の特徴検出処理（図１０）では、Ｓ２２１〜Ｓ２２４において、第１実施形態と同様に「所定の度数増加状態」の検出を試みた後、「所定の度数増加状態」が確認された場合（即ちＳ２２３にてＹｅｓに進む場合）、最小幅値（幅値１）から上記所定の度数増加状態に転じる前まで（即ち、Ｓ２２３でＹｅｓに進む時点での幅値Ｎまで）の度数累計を算出する。例えば、Ｓ４において図１１（ａ）のような幅値度数分布が得られた場合、図１１（ａ）（ｂ）のように、一点鎖線ＡＲの部分の度数累計を算出する。そして、その算出された度数累計が、Ｓ４（図２）で得られた幅値度数分布の全度数の所定割合（例えば５０％）を超えているか否かを判断する（Ｓ２２５）。
【００７２】
Ｓ２２５において幅値Ｎまでの度数累計が全度数の所定割合を超えていると判断されるような場合とは、即ち、「所定の度数増加状態」に転じるまでの小さい幅値の度数が多く、情報コードがノイズに埋もれていることが推定できるため、このような場合にはＳ２２５にてＹｅｓに進んで所定特徴なしと設定し（Ｓ２２７）、図２のＳ８において出力増大処理を行う。
【００７３】
一方、幅値Ｎまでの度数累計が全度数の所定割合を超えていない場合、Ｓ２２５にてＮｏに進み、「所定特徴あり」と設定する（Ｓ２２６）。この場合、図２のＳ７にてＹｅｓに進み、第１実施形態で説明したＳ９、Ｓ１０の処理を行う。
【００７４】
なお、本実施形態でも制御回路４０が「「分布特徴検出手段」度数増加状態確認手段」の一例に相当する。また、制御回路４０は、「度数累計算出手段」の一例に相当し、最小幅値（幅値１）から［所定の度数増加状態］に転じるまでの間において、幅値が大きくなるにつれて順に度数が小さくなる「度数順次減少状態」を確認し、当該「度数順次減少状態」が生じている間の度数累計を算出するように機能する。更に、制御回路４０は、「判断手段」の一例に相当し、Ｓ２２５において、幅値度数分布の全度数に対する度数累計の占める割合が所定割合を超えているか否かを判断するように機能する。
【００７５】
本実施形態では、Ｓ４（図２）で得られた幅値度数分布において、最小幅値（幅値１）から「所定の度数増加状態」に転じるまでの間において、幅値が大きくなるにつれて順に度数が小さくなる「度数順次減少状態」を確認すると共に、当該「度数順次減少状態」が生じている間の度数累計を算出し、更に、幅値度数分布の全度数に対する度数累計の占める割合が所定割合を超えているか否かを判断している。このようにすると、全体に占めるノイズの割合がどの程度であるかを的確に把握できる。また、全度数に対する度数累計の占める割合が所定割合を超えていると判断される場合（即ち、全体に占めるノイズの割合が大きい場合）、光量不足が原因である可能性が高く、このような場合に照明光源２１の出力増大処理を行うようにすれば、ノイズを簡易且つ効果的に除去できる。
【００７６】
［他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【００７７】
上記実施形態では、Ｓ８において、照明光源の出力増大処理を行っていたが、第１実施形態、第２実施形態のいずれについても、Ｓ８の処理に代えて、又はＳ８の処理と共に、受光センサ２３の撮像感度増大処理を行うようにしてもよい。
具体的には、例えば、増幅回路３１の増幅率を多段階に設定し得る構成とし、図２の読取処理開始直後（デフォルト）は、第１の増幅率で設定し、その後、Ｓ８の処理が行われる度に、増幅率を１段階ずつ増大させる制御と行うといった例が挙げられる。
【００７８】
上記実施形態では、フィルタサイズ選択方法やフィルタ種類の一例を示したが、フィルタサイズの選択方法やフィルタ種類はこれに限定されない。例えば、図４のＳ３１〜Ｓ３２において、第１実施形態と同様に「所定の度数増加状態」を検出し、「所定の度数増加状態」に転じる前の幅値（即ち、Ｓ３２にてＹｅｓに進む時点での幅値Ｎ）に基づいてフィルタサイズを決定してもよい。この場合、Ｓ３２にてＹｅｓに進む時点でのＮの値、又はＳ３２にてＹｅｓに進む時点でのＮ−１の値をフィルタサイズとし、Ｎ×Ｎ、又はＮ−１×Ｎ−１のフィルタサイズでＳ１０のフィルタ処理を行うことができる。フィルタの種類も第１実施形態で用いた種類以外であってもよく、例えば、Ｓ３２にてＹｅｓに進む時点でのＮ又はＮ−１の値に基づいてフィルタ処理を行う場合、最大値フィルタなどを好適に用いることができる。
図７を参照して具体的に述べると、Ｓ３２にてＹｅｓに進む時点でのＮの値は「３」であるため、Ｓ１で得られた画像又はＳ３でラベリングされたコード領域に対して３×３の最大値フィルタを用いてフィルタ処理を行い、ノイズを除去することができる。３×３の最大値フィルタでは、図８（ｃ）のように着目している画素Ｑ０と、その周りの８つの画素Ｑ１〜Ｑ８について輝度の最大値を求め、これを着目している画素Ｑ０の値とするため、サイズの小さい暗色エリアを好適に除去できる。また、「所定の度数増加状態」に転じる前の幅値は、単位セルのサイズよりも小さいサイズであると推定できるため、このような幅値をフィルタサイズとして最大値フィルタを用いれば、情報コードを構成するセルをあまり細らせることなくノイズを除去できる。
【００７９】
上記実施形態に加え、幅値度数分布上の誤差を取り除く処理を行うようにしてもよい。例えば、Ｓ４で得られた幅値度数分布において、度数が一定値以下のものについては誤差として、すべで度数０として扱うようにし、そのような誤差除去後の幅値度数分布に基づいてＳ５以降の処理を行うようにしてもよい。
【００８０】
上記実施形態では、Ｓ２３（図３）、Ｓ３２（図４）、Ｓ２２３（図１０）において現在の幅値Ｎの度数が次に大きい幅値Ｎ＋１の度数よりも小さいか否かを判断していたが、これを多少変更してもよい。例えば、現在の幅値Ｎの度数が次に大きい幅値Ｎ＋１の度数よりも小さく、その差が所定値以上離れているか否かを判断し、これら条件を満たす場合にＳ２３、Ｓ３２、Ｓ２２３においてＹｅｓに進むようにしてもよい。このようにすれば、現在の幅値Ｎの度数と、次に大きい幅値Ｎ＋１の度数とがほぼ同じである場合を「所定の度数増加状態」から除くことができ、誤差の可能性が高い増加を排除できる。
【００８１】
Ｓ３５の場合も同様であり、現在の幅値Ｎの度数が次に大きい幅値Ｎ＋１の度数よりも大きいか否かを判断していたが、これを多少変更してもよい。例えば、Ｓ３５において、現在の幅値Ｎの度数が次に大きい幅値Ｎ＋１の度数よりも大きく、その差が所定値以上離れているか否かを判断し、これら条件を満たす場合にＳ３５においてＹｅｓに進むようにしてもよい。このようにすれば、現在の幅値Ｎの度数と次に大きい幅値Ｎ＋１の度数がほぼ同じである場合を「度数減少状態」から除くことができ、誤差の可能性が高い減少を排除できる。
【００８２】
上記実施形態では、暗色エリアの幅値度数分布、分布特徴を検出する例を示したが、情報コードが明暗反転コードである場合には、二値化後の明色エリアの幅値度数分布、分布特徴を検出し、上記実施形態で説明した暗色エリアの場合と同様に処理を行うことができる。
【００８３】
上記実施形態では、Ｓ６の処理において、度数最大値状態及び度数順次減少状態を検出したが、これらいずれか一方の状態のみを検出してもよい。例えば、Ｓ６において、最小幅値（幅値１）の度数がＳ５で得られた幅値度数分布における最大値か否かを検出し、最小幅値（幅値１）の度数が最大値である場合にＳ７にてＮｏに進むようにしてもよい。
【図面の簡単な説明】
【００８４】
【図１】図１は、本発明の第１実施形態に係る情報コード読取装置の電気的構成を概略的に例示するブロック図である。
【図２】図２は、図１の情報コード読取装置で行われる読取処理を例示するフローチャートである。
【図３】図３は、図２の読取処理で行われる特徴検出処理を例示するフローチャートである。
【図４】図４は、図２の読取処理で行われるフィルタサイズ選択処理を例示するフローチャートである。
【図５】図５は、コード領域の幅値度数分布を検出するための走査について説明する説明図である。
【図６】図６は、幅値度数分布の一例を示す説明図である。
【図７】図７（ａ）は、幅値度数分布について図６とは異なる例を示す説明図であり、図７（ｂ）は、図７（ａ）の一部を拡大して説明する説明図である。
【図８】図８（ａ）は画像を構成する各画素を概念的に説明する説明図であり、図８（ｂ）は、フィルタサイズ選択について説明する説明図である。図８（ｃ）は、図８（ｂ）とは異なるフィルタサイズ選択について説明する説明図である。
【図９】図９は、ノイズ除去の様子を説明する説明図である。
【図１０】図１０は、第２実施形態の情報コード読取装置で行われる特徴検出処理を例示するフローチャートである。
【図１１】図１１は第２実施形態における特徴検出処理を説明するための説明図である。
【符号の説明】
【００８５】
１…情報コード読取装置
２３…受光センサ（撮像手段）
３５…メモリ（記憶手段）
４０…制御回路（画像処理手段、度数分布検出手段、分布特徴検出手段、ノイズ除去手段、デコード手段、領域検出手段、ノイズ成分検出手段、度数増加状態確認手段、フィルタ選択手段、フィルタ処理手段、度数減少状態確認手段、度数累計算出手段、判断手段）  Ｑ…情報コード
【図１】
2010134595.tif 000003
【図２】
2010134595.tif 000004
【図３】
2010134595.tif 000005
【図４】
2010134595.tif 000006
【図５】
2010134595.tif 000007
【図６】
2010134595.tif 000008
【図７】
2010134595.tif 000009
【図８】
2010134595.tif 000010
【図９】
2010134595.tif 000011
【図１０】
2010134595.tif 000012
【図１１】
2010134595.tif 000013