(57)【特許請求の範囲】
【請求項１】
複数の読取画素からなる画素列が複数行配列されてなる受光面を備えると共に、バーコードからの反射光を前記受光面にて受光し、各読取画素において前記反射光の受光量に応じた濃淡信号を生成する受光手段と、
前記バーコードの像を前記受光面に結像させる結像手段と、
前記読取画素からの前記濃淡信号に基づき前記バーコードの画像データを生成する生成手段と、
前記バーコードの前記画像データに基づいてデコード処理を行うデコード手段と、
を備えた光学的情報読取装置であって、
前記バーコードの前記画像データにおいてバー配列方向に沿った加算領域を設定する加算領域設定手段と、
前記加算領域における前記バー配列方向の複数位置において、前記バー配列方向と直交するバー方向に沿った加算ラインを定め、各加算ライン上の前記濃淡信号を互いに加算する処理を行う加算手段と、
前記バーコードの像が前記受光手段に結像したときの、前記画素列に対する前記バーコードの像の傾斜角度を検出する傾斜角度検出手段と、
を備え、
前記傾斜角度検出手段は、
前記画像データにおいて、前記画素列に対応する横方向又は前記横方向と直交する縦方向のいずれかの方向に延びる複数の検出領域を設定する検出領域設定手段と、
前記検出領域設定手段にて設定される複数の前記検出領域のいずれか１つを基準領域とし、前記基準領域に含まれる明色バー又は暗色バーからなる所定の基準バーについての前記基準領域の方向の長さと、前記基準バーと一定の近接関係にある１又は複数の近接バーについての前記基準領域の方向の長さと、の比率を第１比率として求める比率検出手段と、
複数の前記検出領域のうちの前記基準領域以外の各検出領域において、互いに前記一定の近接関係にある複数のバーについての前記検出領域の方向の長さの比率を第２比率として求め、各検出領域において前記第２比率が前記第１比率と同一となる同一比率位置をそれぞれ検出する位置検出手段と、
を備え、
前記位置検出手段にて検出された複数の前記同一比率位置の並び方向に基づいて、前記バーコードの像の前記画素列に対する前記傾斜角度を検出し、
前記加算領域設定手段は、前記傾斜角度検出手段にて検出された前記傾斜角度に基づいて前記バー配列方向に沿った前記加算領域を設定し、
前記加算手段は、前記傾斜角度に基づき、前記バー方向に沿った前記加算ラインをそれぞれ定めると共に、各加算ライン毎の加算結果に基づいて前記バーコードの明暗配列データを生成し、
前記デコード手段は、前記加算手段によって生成された前記明暗配列データに基づいて前記デコード処理を行うことを特徴とする光学的情報読取装置。
【請求項２】
前記比率検出手段は、前記基準バーの両側に隣接する２つの隣接バーを前記近接バーとし、前記基準バーについての前記基準領域の方向の長さと、２つの前記隣接バーについての前記基準領域の方向の長さと、の比率を前記第１比率として求めることを特徴とする請求項１に記載の光学的情報読取装置。
【請求項３】
前記比率検出手段は、前記画像データにおける前記横方向又は前記縦方向の中央に配される領域を前記基準領域とし、かつ前記画像データの中心位置に配置される明色バー又は暗色バーを前記基準バーとして前記第１比率を求めることを特徴とする請求項１又は請求項２に記載の光学的情報読取装置。
【請求項４】
前記検出領域設定手段は、前記傾斜角度が一定値以上となるときに、前記縦方向に延びる複数の前記検出領域を設定することを特徴とする請求項１から請求項３のいずれか一項に記載の光学的情報読取装置。
【請求項５】
前記加算手段は、各加算ラインごとに前記濃淡信号の最大値を算出し、各加算ライン毎の加算信号数を各加算ラインの前記最大値に基づいて決定することを特徴とする請求項１から請求項４のいずれか一項に記載の光学的情報読取装置。
【請求項６】
前記傾斜角度検出手段にて検出された前記傾斜角度を登録情報として記憶する記憶手段を備え、
前記加算領域設定手段は、前記記憶手段において既に前記登録情報が記憶されている場合には、当該登録情報を用いて前記加算領域を設定し、
前記加算手段は、前記登録情報に基づいて前記バーコードの明暗配列データを生成することを特徴とする請求項１から請求項５のいずれか一項に記載の光学的情報読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学的情報読取装置に関するものである。
【背景技術】
【０００２】
従来より、バーコードを光学的に読み取るバーコードリーダの分野では、バーコードの画像データを取得して明色バー領域と暗色バー領域をそれぞれ検出し、その検出結果に基づいてデコードする方法が一般的である。このような読み取りに際しては明色バー領域と暗色バー領域とを正確に区別することが求められ、そのためには、明色バー領域と暗色バー領域とのコントラスト比を高く確保することが望まれている。
【特許文献１】特開平９−９７３０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
明色バー領域と暗色バー領域のコントラスト比はバーコードが付された物品の材質や読取環境などの影響を受けやすいため、読取条件によっては適切なコントラスト比を確保できない場合もある。例えば、暗所でバーコードを読み取る場合、明るい場所で読み取りを行う場合と比較して明色バー領域の輝度が低下しやすいため、コントラスト比が小さくなりやすい。また、ダンボールなどの反射率が低い物体に付されたバーコードを読み取る場合も同様にコントラスト比が低下しやすい。このようにコントラスト比が低下すると、読取不良が生じやすいため何らかの対処が望まれる。
【０００４】
このような問題を解決しうる技術としては例えば特許文献１のようなものがある。特許文献１の技術では、同一列上の連続する複数行分の読取画素で作成される濃淡信号を互いに加算し、その加算結果に基づいて読み取りを行っている。このようにすると、白色バー（スペース）を構成する読取画素列については高い輝度を示す濃淡信号が加算され、黒色バー（バー）を構成する読取画素列については低い輝度を示す濃淡信号が加算されることとなり、白色バーにボイドが存在したり、黒色バーにスポットが存在しても読取処理においてそれらの影響を少なくすることができる。
【０００５】
しかしながら、特許文献１の技術は、センサに取り込まれるバーコード像のバー方向と読取画素列の列方向とが一致していることを前提として加算処理を行っており、仮にバーコード像のバー方向が読取画素列の列方向に対して傾斜するようにバーコード像が取り込まれた場合、上記のような加算処理を行うことができないという問題があった。
【０００６】
本発明は、上述した課題を解決するためになされたものであり、バーコード像が受光される向きにかかわらずコントラスト比を大きくすることができ、ひいてはバーコードの読取処理を良好に行うことのできる光学的情報読取装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、請求項１の発明は、複数の読取画素からなる画素列が複数行配列されてなる受光面を備えると共に、バーコードからの反射光を前記受光面にて受光し、各読取画素において前記反射光の受光量に応じた濃淡信号を生成する受光手段と、前記バーコードの像を前記受光面に結像させる結像手段と、前記読取画素からの前記濃淡信号に基づき前記バーコードの画像データを生成する生成手段と、前記バーコードの前記画像データに基づいてデコード処理を行うデコード手段と、を備えた光学的情報読取装置であって、前記バーコードの前記画像データにおいてバー配列方向に沿った加算領域を設定する加算領域設定手段と、前記加算領域における前記バー配列方向の複数位置において、前記バー配列方向と直交するバー方向に沿った加算ラインを定め、各加算ライン上の前記濃淡信号を互いに加算する処理を行う加算手段と、前記バーコードの像が前記受光手段に結像したときの、前記画素列に対する前記バーコードの像の傾斜角度を検出する傾斜角度検出手段と、を備え、前記傾斜角度検出手段は、前記画像データにおいて、前記画素列に対応する横方向又は前記横方向と直交する縦方向のいずれかの方向に延びる複数の検出領域を設定する検出領域設定手段と、前記検出領域設定手段にて設定される複数の前記検出領域のいずれか１つを基準領域とし、前記基準領域に含まれる明色バー又は暗色バーからなる所定の基準バーについての前記基準領域の方向の長さと、前記基準バーと一定の近接関係にある１又は複数の近接バーについての前記基準領域の方向の長さと、の比率を第１比率として求める比率検出手段と、複数の前記検出領域のうちの前記基準領域以外の各検出領域において、互いに前記一定の近接関係にある複数のバーについての前記検出領域の方向の長さの比率を第２比率として求め、各検出領域において前記第２比率が前記第１比率と同一となる同一比率位置をそれぞれ検出する位置検出手段と、を備え、前記位置検出手段にて検出された複数の前記同一比率位置の並び方向に基づいて、前記バーコードの像の前記画素列に対する前記傾斜角度を検出し、前記加算領域設定手段は、前記傾斜角度検出手段にて検出された前記傾斜角度に基づいて前記バー配列方向に沿った前記加算領域を設定し、前記加算手段は、前記傾斜角度に基づき、前記バー方向に沿った前記加算ラインをそれぞれ定めると共に、各加算ライン毎の加算結果に基づいて前記バーコードの明暗配列データを生成し、前記デコード手段は、前記加算手段によって生成された前記明暗配列データに基づいて前記デコード処理を行うことを特徴とする。
【０００９】
請求項２の発明は、請求項１に記載の光学的情報読取装置において、前記比率検出手段は、前記基準バーの両側に隣接する２つの隣接バーを前記近接バーとし、前記基準バーについての前記基準領域の方向の長さと、２つの前記隣接バーについての前記基準領域の方向の長さと、の比率を前記第１比率として求めることを特徴とする。
【００１０】
請求項３の発明は、請求項１又は請求項２に記載の光学的情報読取装置において、前記比率検出手段は、前記画像データにおける前記横方向又は前記縦方向の中央に配される領域を前記基準領域とし、かつ前記画像データの中心位置に配置される明色バー又は暗色バーを前記基準バーとして前記第１比率を求めることを特徴とする。
【００１１】
請求項４の発明は、請求項１から請求項３のいずれか一項に記載の光学的情報読取装置において、前記検出領域設定手段は、前記傾斜角度が一定値以上となるときに、前記縦方向に延びる複数の前記検出領域を設定することを特徴とする。
【００１２】
請求項５の発明は、請求項１から請求項４のいずれか一項に記載の光学的情報読取装置において、前記加算手段は、各加算ラインごとに前記濃淡信号の最大値を算出し、各加算ライン毎の加算信号数を各加算ラインの前記最大値に基づいて決定することを特徴とする。
【００１３】
請求項６の発明は、請求項１から請求項５のいずれか一項に記載の光学的情報読取装置において、前記傾斜角度検出手段にて検出された前記傾斜角度を登録情報として記憶する記憶手段を備え、前記加算領域設定手段は、前記記憶手段において既に前記登録情報が記憶されている場合には、当該登録情報を用いて前記加算領域を設定し、前記加算手段は、前記登録情報に基づいて前記バーコードの明暗配列データを生成することを特徴とする。
【発明の効果】
【００１４】
請求項１の発明では、画素列に対するバーコードの像の傾斜角度を検出し、その傾斜角度に基づき、バー方向に沿った加算ラインをそれぞれ定めている。そして、各加算ライン毎の加算結果に基づいてバーコードの明暗配列データを生成し、その生成された明暗配列データに基づいてデコード処理を行うようにしている。このようにすると、画素列に対してバーコードの像が傾斜して受光されるような場合であってもバー方向に沿った加算処理を行うことができ、コントラスト比が大きい明暗配列データを良好に生成できる。
さらに、基準領域において検出される第１比率と、基準領域以外の各検出領域において検出される第２比率と、が同一となる同一比率位置をそれぞれ検出し、その検出された複数の同一比率位置の並び方向に基づいてバーコードの像の画素列に対する傾斜角度を検出している。このようにすれば、複雑な解析処理を行うことなくバーコードの像の傾斜角度を精度高く検出できるようになる。
【００１６】
請求項２の発明では、基準バーの両側に隣接する２つの隣接バーを近接バーとし、基準バーについての基準領域の方向の長さと、２つの隣接バーについての基準領域の方向の長さと、の比率を第１比率として求めている。このようにすると、比較的小さな領域を参照して迅速に第１比率を求めることができる。
【００１７】
請求項３の発明では、画像データにおける横方向又は縦方向の中央に配される領域を基準領域とし、かつ画像データの中心位置に配置される明色バー又は暗色バーを基準バーとして第１比率を求めている。バーコードの画像は全画像データの中心付近に配置されやすいため、画像データの中央に配置される領域を基準領域として定めるようにすれば、基準領域を検出する際の不具合を抑えて基準領域を安定的に検出できるようになり、第１比率を迅速且つ良好に求めることができる。
【００１８】
請求項４の発明では、傾斜角度が一定値以上となるときに、縦方向に延びる複数の検出領域を設定するようにしている。画素列に対するバーコードの像の傾斜角度が大きくなると、横方向に検出領域を設定したときに基準バーや近接バーの基準領域方向（即ち検出領域の方向）の幅が大きくなると共に複数の検出領域をより狭い間隔で設定する必要が生じ、第１比率や第２比率を検出し難くなってしまう。これに対し、傾斜角度が一定値以上となる場合に縦方向に延びる複数の検出領域を設定するようにすれば、このような問題を解消することができ、第１比率及び第２比率を精度高く良好に検出できるようになる。
【００１９】
請求項５の発明では、各加算ラインごとに濃淡信号の最大値を算出し、各加算ライン毎の加算信号数を各加算ラインの最大値に基づいて決定している。このように最大値に応じた加算信号数にすれば、必要以上に濃淡信号を加算しすぎることを防止できる。
【００２０】
請求項６の発明では、傾斜角度検出手段にて検出された傾斜角度を登録情報として記憶する記憶手段が設けられ、記憶手段において既に登録情報が記憶されている場合には、当該登録情報を用いて加算領域を設定し、登録情報に基づいてバーコードの明暗配列データを生成するようにしている。このようにすれば、同様の傾斜状態で複数回読取処理を行う場合に処理の迅速化を図ることができる。
【発明を実施するための最良の形態】
【００２１】
[第１実施形態]
以下、本発明の光学的情報読取装置を具現化した第１実施形態について、図面を参照して説明する。図１は、本発明の第１実施形態に係るバーコードリーダの電気的構成を概略的に例示するブロック図である。
図１に示すバーコードリーダ２０は、光学的情報読取装置の一例に相当するものであり、主に、照明光源２１、受光センサ２３、フィルタ２５、結像レンズ２７等の光学系と、メモリ３５、制御回路４０、操作スイッチ４２、液晶表示装置４６等のマイクロコンピュータ（以下「マイコン」という）系と、電源スイッチ４１、電池４９等の電源系と、から構成されている。なお、これらは、図略のプリント配線板に実装あるいは図略のハウジング内に内装されている。
【００２２】
光学系は、照明光源２１、受光センサ２３、フィルタ２５、結像レンズ２７等から構成されている。照明光源２１は、照明光Ｌｆを発光可能な照明光源として機能するもので、例えば、赤色のＬＥＤとこのＬＥＤの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ２３を挟んだ両側に照明光源２１が設けられており、図略のハウジングの読取口を介して読取対象物Ｒに向けて照明光Ｌｆを照射可能に構成されている。この読取対象物Ｒは、例えば、包装容器や包装用紙あるいはラベルといった表示媒体に相当するもので、その表面にはバーコードＢが印刷されている。
【００２３】
受光センサ２３は、読取対象物ＲやバーコードＢに照射されて反射した反射光Ｌｒを受光可能に構成されるもので、例えば、Ｃ−ＭＯＳやＣＣＤ等の固体撮像素子である受光素子を２次元に配列したエリアセンサが、これに相当する。この受光センサ２３の受光面２３ａは、ハウジング外から読取口を介して外観可能に位置しており、受光センサ２３は、結像レンズ２７を介して入射する入射光をこの受光面２３ａで受光可能に図略のプリント配線板に実装されている。
なお、受光センサ２３は、「受光手段」の一例に相当する。
【００２４】
フィルタ２５は、反射光Ｌｒの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、ハウジングの読取口と結像レンズ２７との間に設けられている。これにより、反射光Ｌｒの波長相当を超える不要な光が受光センサ２３に入射することを抑制している。
【００２５】
結像レンズ２７は、外部から読取口を介して入射する入射光を集光して受光センサ２３の受光面２３ａに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。本実施形態では、照明光源２１から照射された照明光ＬｆがバーコードＢに反射して読取口に入射する反射光Ｌｒを集光することにより、受光センサ２３の受光面２３ａにバーコードＢのコード画像を結像可能にしている。
なお、結像レンズ２７は、「結像手段」の一例に相当する。
【００２６】
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路３１、Ａ／Ｄ変換回路３３、メモリ３５、アドレス発生回路３６、同期信号発生回路３８、制御回路４０、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示装置４６、通信インタフェース４８等から構成されている。このマイコン系は、その名の通り、マイコン（情報処理装置）として機能し得る制御回路４０およびメモリ３５と中心に構成されるもので、前述した光学系によって撮像されたバーコードＢの画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路４０は、当該バーコードリーダ２０の全体システムに関する制御も行っている。
なお、制御回路４０は、「生成手段」、「デコード手段」、「加算領域設定手段」、「加算手段」、「傾斜角度検出手段」、「比率検出手段」、「位置検出手段」の一例に相当する。
【００２７】
光学系の受光センサ２３から出力される画像信号（アナログ信号）は、増幅回路３１に入力されることで所定ゲインで増幅された後、Ａ／Ｄ変換回路３３に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ（画像情報）は、メモリ３５に入力されると、画像データ蓄積領域に蓄積される。なお、同期信号発生回路３８は、受光センサ２３およびアドレス発生回路３６に対する同期信号を発生可能に構成されており、またアドレス発生回路３６は、この同期信号発生回路３８から供給される同期信号に基づいて、メモリ３５に格納される画像データの格納アドレスを発生可能に構成されている。
【００２８】
メモリ３５は、半導体メモリ装置で、例えばＲＡＭ（ＤＲＡＭ、ＳＲＡＭ等）やＲＯＭ（ＥＰＲＯＭ、ＥＥＰＲＯＭ等）がこれに相当する。このメモリ３５のうちのＲＡＭには、前述した画像データ蓄積領域のほかに、制御回路４０が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またＲＯＭには、後述する読取処理等を実行可能な所定プログラムやその他、照明光源２１、受光センサ２３等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
なお、メモリ３５は「記憶手段」の一例に相当する。
【００２９】
制御回路４０は、バーコードリーダ２０全体を制御可能なマイコンで、ＣＰＵ、システムバス、入出力インタフェース等からなるもので、メモリ３５とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路４０には、内蔵された入出力インタフェースを介して種々の入出力装置（周辺装置）と接続可能に構成されており、本実施形態の場合、電源スイッチ４１、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示装置４６、通信インタフェース４８等を接続されている。
【００３０】
これにより、例えば、電源スイッチ４１や操作スイッチ４２の監視や管理、またインジケータとして機能するＬＥＤ４３の点灯・消灯、ビープ音やアラーム音を発生可能なブザー４４の鳴動のオンオフ、さらには読み取ったバーコードＢによるコード内容を画面表示可能な液晶表示装置４６の画面制御や外部装置とのシリアル通信を可能にする通信インタフェース４８の通信制御等を可能にしている。また、通信インタフェース４８に接続される外部装置には、当該バーコードリーダ２０の上位システムに相当するホストコンピュータＨＳＴ等が含まれる。
【００３１】
電源系は、電源スイッチ４１、電池４９等により構成されており、制御回路４０により管理される電源スイッチ４１のオンオフによって、上述した各装置や各回路に、電池４９から供給される駆動電圧の導通や遮断が制御されている。なお、電池４９は、所定の直流電圧を発生可能な２次電池で、例えば、リチウムイオン電池等がこれに相当する。また、電池４９によることなく、例えば、通信インタフェース４８を介して接続されるホストコンピュータＨＳＴ等の外部装置から電力供給を受ける構成を採る場合もあり、この場合には当該電池４９は不要となる。
【００３２】
次に読取処理について説明する。
図２は、図１のバーコードリーダで行われる読取処理の流れを概略的に例示するフローチャートである。図３は、図２の読取処理にて行われる明暗配列データ生成処理の流れを例示するフローチャートである。図４は、取得された画像データを例示する説明図である。図５は、基準バー及び近接バーを説明する説明図である。図６（ａ）、画素列に対するバーコードの像の傾斜角度が一定値以上のときの画像データ例を示す説明図であり、図６（ｂ）は、図６（ａ）の画像を９０回転した例を示す説明図である。図７は、画像データに対して複数の検出領域を設定する例を示す説明図である。図８は、各検出領域において同一比率位置を検出する様子等を説明する説明図である。図９は、同一比率位置に基づく傾斜角度の検出を説明する説明図である。図１０は、加算領域のデフォルトの状態を説明する説明図である。図１１は、傾斜角度に基づいて加算領域を回転させる様子を説明する説明図である。図１２は、傾斜したバーコード画像に沿って加算領域を設定した様子を説明する説明図である。図１３は、加算ラインの設定の様子を説明する説明図である。図１４は、加算処理前後の濃淡値の変化を説明するグラフである。
【００３３】
上記のように構成されたバーコードリーダ２０では、例えば、電源スイッチ４１がオンされて所定の自己診断処理等が正常終了し、バーコードＢの読み取りが可能な状態になると、照明光Ｌｆの発光を指示する操作スイッチ４２（例えばトリガースイッチ）の入力を受け付ける。この受付状態において作業者がトリガースイッチを押圧しオンにすると、バーコードの読取処理が開始される。
【００３４】
読取処理が開始されると、まず照明光Ｌｆの照射が開始される（Ｓ１）。具体的には、制御回路４０が同期信号を基準に照明光源２１に発光信号を出力し、当該発光信号を受けた照明光源２１がＬＥＤを発光させて照明光Ｌｆを照射する。
【００３５】
その後、画像データ取得処理が行われる（Ｓ２）。Ｓ１の照射開始処理が行われると、バーコードＢに照射された照明光Ｌｆが反射しその反射光Ｌｒが読取口およびフィルタ２５を介して結像レンズ２７に入射し、受光センサ２３の受光面２３ａには、結像レンズ２７によりバーコードＢの像が結像され、受光素子が露光されることとなる。Ｓ２の処理では、バーコードＢの像に応じて受光センサ２３から出力される受光信号に基づいてバーコードＢの画像データを生成し、メモリ３５に記憶する。
【００３６】
画像データの取得処理が終わると、明暗配列データを生成する処理が行われる（Ｓ３）。明暗配列データの生成処理は例えば図３のような流れで行われる。この明暗配列データ生成処理では、まず得られた画像データ（図４参照）において縦方向中央部を通る横ライン（横方向に並ぶ画素データ群）を二値化する処理を行う（Ｓ１０）。本実施形態で用いられる受光センサ２３は、複数の読取画素からなる画素列が複数行配列されてなる受光面を備えており、バーコードＢからの反射光を受光面にて受光し、各読取画素において反射光の受光量に応じた濃淡信号を生成する構成をなしている。図４に示す画像データは、受光センサ２３に設けられた多数の読取画素にそれぞれ対応する画素データが二次元的に配置されてなるものであり、画素データを横方向に並べてなる画素ライン（横方向に並ぶ画素データ群）が複数行配置された構成をなしている。図４に示す画像データの各画素データには、対応する読取画素の受光信号を反映した濃淡値情報が含まれている。Ｓ１０の処理では、図５のような画像データの縦方向中央部に配置される横方向の画素ライン（画素データ群）Ｘ１に着目し、この画素ラインＸ１を構成する各画素データの濃淡値情報を所定の閾値と比較し、各画素データの濃淡値情報を閾値との比較に応じた明色情報或いは暗色情報に変換するように画素ラインＸ１についての二値化データを生成している。
なお、図４、図５では画素ラインＸ１の位置を実線で概略的に示している。また、本実施形態では、Ｓ２で取得した画像データの横方向をＸ軸方向とし、縦方向をＹ軸方向として表している。
【００３７】
そして、画素ラインＸ１の二値化データについて中心部分のバー又はスペースの幅値ＷＡを算出する（Ｓ１１）。例えば、図４のような画像データの場合、画素ラインＸ１の二値化データの中心部分は図５下図のような構成となり、Ｓ１１では、中心部分の黒色バー（暗色情報が並ぶ暗色領域）の幅値ＷＡが算出されることとなる。
【００３８】
その後、図４に示す画像データにおいて横方向中央部を通る縦ライン（縦方向に並ぶ画素データ群）を二値化する処理を行う（Ｓ１２）。Ｓ１２の処理では、図４のような画像データの横方向中央部に配置される縦方向の画素ライン（画素データ群）Ｙ１に着目し、この画素ラインＹ１を構成する各画素データの濃淡値情報を所定の閾値と比較し、各画素データの濃淡値情報を閾値との比較に応じた明色情報或いは暗色情報に変換するように画素ラインＹ１についての二値化データを生成している。なお、図４、図５では、画素ラインＹ１の位置を実線で概略的に示している。
【００３９】
そして、画素ラインＹ１の二値化データについて中心部分のバー又はスペースの幅値ＷＢを算出する（Ｓ１３）。例えば、図４のような画像データの場合、画素ラインＹ１の二値化データの中心部分は図５右図のような構成となり、Ｓ１３では、中心部分の黒色バー（暗色情報が並ぶ暗色領域）の幅値ＷＢが算出されることとなる。
【００４０】
そして、幅値ＷＡが幅値ＷＢよりも小さいか否かを判断する（Ｓ１４）。幅値ＷＡが幅値ＷＢよりも小さい場合にはＳ１４にてＹｅｓに進む。一方、幅値ＷＡが幅値ＷＢよりも大きい場合にはＳ１４にてＮｏに進み、画像を９０°回転するように画像データ（図４）の座標変換を行う（Ｓ１５）。なお、幅値ＷＡが幅値ＷＢよりも大きい場合というのはバーコード画像Ｂ'の画像データ横方向に対する傾斜角度（即ち、受光センサ２３の画素列に対するバーコード像の傾斜角度（より詳しくは受光センサ２３の画素列に対するバーコード像のバー配列方向の傾斜角度））が４５°を超える場合であり、例えば図６（ａ）のようなときである。このような場合には得られた画像データの中央領域（バーコード画像を含んだ所定領域）を９０°回転させるように画像データの座標変換を行い、図６（ｂ）のような画像データを再取得する。なお、本発明では、バーコードにおいてバーが並ぶ方向をバー配列方向とし、バー配列方向と直交する方向をバー方向としている。
【００４１】
その後、第１比率検出処理（Ｓ１６）、第２比率検出処理（Ｓ１７）をそれぞれ行う。  本実施形態では、Ｓ２で得られた画像データ（図４）において、受光センサ２３の各画素列に対応した画素ライン（受光センサ２３の各画素列の受光信号によって構成される横方向の画素データ群）の方向（即ち、横方向）、又は横方向と直交する方向（即ち縦方向）のいずれかの方向に延びる複数の検出領域を設定するようにしている。具体的には、画素データを横方向又は縦方向に並べた画素ライン（画素データ群）の領域を検出領域としており、Ｓ２で得られた画像データにおいて複数の画素ライン（図７の例では画素ラインＸ１〜Ｘ５）が検出領域として設定されるようになっている。
【００４２】
本実施形態では受光センサ２３の画素列に対するバーコード像の傾斜角度（即ち、画像データの横方向に対するバーコード画像Ｂ'の傾斜角度）が一定値（本実施形態では４５°）未満のときには、図７のように画像データにおいて画素列に対応する方向（横方向）に延びる複数の検出領域（画素ラインＸ１〜Ｘ５の領域）を設定し、傾斜角度が一定値以上のときには、図６（ａ）のように画素列に対応する方向と直交する方向（縦方向）に延びる複数の検出領域（画素ラインＹ１〜Ｙ５の領域）を設定するようにしている。
【００４３】
受光センサ２３の画素列に対するバーコード像の傾斜角度（即ち、画像データの横方向に対するバーコード画像Ｂ'の傾斜角度）が一定値未満か否かは、上述の幅値ＷＡが幅値ＷＢよりも小さいか否かで判断しており、幅値ＷＡが幅値ＷＢよりも小さい場合には、画素列に対するバーコード像の傾斜角度が一定値（４５°）未満であるとし、図７のように画像データにおいて横方向に延びる複数領域（画素ラインＸ１〜Ｘ５の領域）を検出領域として設定する。一方、幅値ＷＡが幅値ＷＢ以上である場合には、画素列に対するバーコード像の傾斜角度が一定値（４５°）以上であるとして、縦方向に延びる複数の検出領域を設定する。具体的には、Ｓ１５において、Ｓ２で得られた画像データの画像を９０°回転するように座標変換しており（図６（ｂ）参照）、その変換後の画像データに対して横方向の検出領域（図６（ｂ）に示す画素ラインＹ１'〜Ｙ５'の領域）。この横方向の検出領域（画素ラインＹ１'〜Ｙ５'の領域）は、図６（ａ）に示す座標変換前の原画像データにおける縦方向の検出領域（画素ラインＹ１〜Ｙ５の領域）に相当するため、このようにして縦方向に延びる複数領域（画素ラインＹ１〜Ｙ５の領域）が検出領域として設定されることとなる。
【００４４】
図３のＳ１４においてＹｅｓに進む場合には、図７のように横方向に平行に延びる複数領域（画素ラインＸ１〜Ｘ５の領域）が検出領域として設定され、その複数の検出領域の１つである画素ラインＸ１（画像データの縦方向中央部の領域に配される画素ライン）の領域が基準領域として扱われる。Ｓ１６の第１比率検出処理では、その基準領域（画素ラインＸ１の領域）に含まれる明色バー又は暗色バーからなる所定の基準バーについての、基準領域の方向の長さ（即ち画像データ横方向の長さ）と、基準バーと一定の近接関係にある１又は複数の近接バーについての、基準領域の方向の長さ（画像データ横方向の長さ）と、の比率を第１比率として求めるようにしている。
【００４５】
本実施形態では、Ｓ２（図２）で得られた画像データ(図４)の中心位置に配置される明色バー又は暗色バーを上記基準バーとして扱うように構成されており、図４の例では、画素ラインＸ１と画素ラインＹ１が交わる位置が画像データの中心位置であるので、この中心位置に配置される暗色バーＢ１（図４、図５参照）を基準バーとしている。そして、この基準バー（暗色バーＢ１）の両側に隣接する２つの隣接バー（中心位置の暗色バーＢ１の両隣に配される明色バーＢ２，Ｂ３）を近接バーとし、基準バー（暗色バーＢ１）についての基準領域の方向（画像データ横方向）の長さ（上述の幅値ＷＡ）と、２つの隣接バー（明色バーＢ２，Ｂ３）についての基準領域の方向（画像データ横方向）の長さＷ１、Ｗ２と、の比率Ｗ１：ＷＡ：Ｗ２を第１比率として求めている。
【００４６】
また、Ｓ１７の第２比率検出処理では、複数の検出領域のうちの基準領域（画素ラインＸ１の領域）以外の各検出領域（画素ラインＸ２〜Ｘ５の領域（図７））において、上述の基準バー（暗色バーＢ１）及び近接バー（明色バーＢ２，Ｂ３）と同様の一定の近接関係（即ち暗色バーを中心としその両隣に２つの明色バーが配置されるという近接関係）にある明色バー、暗色バー、明色バーの組み合わせについて、それぞれのバーの検出領域の方向（画像データ横方向）の長さの比率を第２比率として求める。図７に示す各検出領域（各画素ラインＸ２〜Ｘ５の領域）において、このような近接関係となる組み合わせは多数存在し、Ｓ１７では、そのような組み合わせをなす明色バー、暗色バー、明色バーの長さの比率（第２比率）が、上記第１比率と同一となるような位置をさらに検出する。図８は、３つ並んだ明色バー、暗色バー、明色バーの検出領域方向の長さの比率（第２比率）が第１比率（Ｗ１：ＷＡ：Ｗ２）と同一となる位置（同一比率位置）を符号Ｃ２、Ｃ３、Ｃ４、Ｃ５で示している。
なお、本実施形態では制御回路４０が「検出領域設定手段」「比率設定手段」「位置検出手段」の一例に相当する。
【００４７】
Ｓ１７の処理が終わると、傾斜角度算出処理が行われる（Ｓ１８）
この傾斜角度算出処理では、Ｓ１７にて検出された複数の同一比率位置Ｃ２、Ｃ３、Ｃ４、Ｃ５の並び方向に基づいて、バーコードの像の画素列に対する傾斜角度を検出する。具体的には、図９に示すように、基準領域（画素ラインＸ１の領域）において第１比率を検出した領域Ｃ１の中心位置Ｐ１と、基準領域以外の検出領域（各画素ラインＸ２〜Ｘ５の領域）における同一比率位置Ｃ２、Ｃ３、Ｃ４、Ｃ５の中心位置Ｐ２、Ｐ３、Ｐ４、Ｐ５とをそれぞれ検出し、これら中心位置Ｐ１〜Ｐ５を通る仮想線Ｌ１を検出する。そして、この仮想線Ｌ１の方向を同一比率位置Ｃ２、Ｃ３、Ｃ４、Ｃ５の並び方向として、仮想線Ｌ１と画像データ縦方向とのなす角度αを受光センサ２３の画素列に対するバーコード像の傾斜角度（即ち、バーコード画像Ｂ'（より詳しくはバーコード画像Ｂ'のバー配列方向）の画像データ横方向に対する傾斜角度）として決定する。なお、同一比率位置の並び方向の検出方法はこのような方法でなくてもよい。例えば同一比率位置Ｃ２、Ｃ３、Ｃ４、Ｃ５の中心位置Ｐ２、Ｐ３、Ｐ４、Ｐ５の座標に基づいて近似式（例えば最小二乗法などによる近似）を求め、この近似式の方向を同一比率位置Ｃ２、Ｃ３、Ｃ４、Ｃ５の並び方向として画像データ縦方向とのなす角度αを求めてもよい。
なお、本実施形態では、制御回路４０が「傾斜角度検出手段」の一例に相当し、バーコードＢの像が受光センサ２３に結像したときの、画素列に対するバーコードＢの像の傾斜角度を検出する機能を果たす。
【００４８】
一方、図３のＳ１４においてＮｏに進む場合（即ち、Ｓ２において図６（ａ）のような画像が取得されるような場合）にも、上述のＳ１６、Ｓ１７、Ｓ１８と同様の処理が行われる。この場合、例えば図６（ｂ）のような座標変換が行われた後の画像データ（以下、変換後画像データともいう）において横方向に平行に延びる複数領域（画素ラインＹ１'〜Ｙ５'の領域）が検出領域として設定され、その複数の検出領域の１つである画素ラインＹ１'（変換後画像データの横方向中央部の領域に配される画素ライン）の領域が基準領域として扱われる。これは即ち、図６（ａ）のような座標変換前の画像データ（以下、原画像データともいう）において縦方向に平行に延びる複数領域（画素ラインＹ１〜Ｙ５の領域）が検出領域として設定されることと等しく、その複数の検出領域の１つである画素ラインＹ１（原画像データの横方向中央部の領域に配される画素ライン）の領域が基準領域として扱われることと等しい。
【００４９】
そして、Ｓ１６の第１比率検出処理では、変換後画像データにて設定された基準領域（画素ラインＹ１'の領域）に含まれる明色バー又は暗色バーからなる所定の基準バーについての基準領域の方向の長さ（変換後画像データの横方向の長さ）と、基準バーと一定の近接関係にある１又は複数の近接バーについての基準領域の方向の長さ（変換後画像データの横方向の長さ）と、の比率を第１比率として求めるようにしている。
【００５０】
この場合も、Ｓ２（図２）で得られた画像データ(図６（ａ）)の中心位置に配置される明色バー又は暗色バーを上記基準バーとして扱い、図６（ａ）の例でも画素ラインＸ１と画素ラインＹ１が交わる位置が画像データの中心位置であるので、この中心位置に配置される暗色バーＢ４が基準バーとして扱われる。なお、図６（ｂ）の画像は、その中心位置（画素ラインＸ１と画素ラインＹ１が交わる位置）を中心として９０°回転したものであるため、変換後画像データの中心位置にも暗色バーＢ４が配置されることとなる。
【００５１】
そして、図６（ｂ）の画像において、基準バー（暗色バーＢ４）の両側に隣接する２つの隣接バー（中心位置の暗色バーＢ４の両隣に配される明色バーＢ５，Ｂ６）を近接バーとし、基準バー（暗色バーＢ４）についての基準領域の方向（変換後画像データ（図６（ｂ）の横方向）の長さＷＢと、２つの隣接バー（明色バーＢ５，Ｂ６）についての基準領域の方向（変換後画像データの横方向）の長さＷ３、Ｗ４と、の比率Ｗ３：ＷＢ：Ｗ４を第１比率として求めている。
【００５２】
また、Ｓ１７の第２比率検出処理では、複数の検出領域のうちの基準領域（画素ラインＹ１'の領域）以外の各検出領域（画素ラインＹ２'〜Ｙ５'の領域（図６（ｂ）））において、上述の基準バー（暗色バーＢ４）及び近接バー（明色バーＢ５，Ｂ６）と同様の一定の近接関係、即ち暗色バーを中心としその両隣に２つの明色バーが配置されるという近接関係にある明色バー、暗色バー、明色バーの組み合わせについて、それぞれのバーの検出領域の方向（変換後画像データ横方向）の長さの比率を第２比率として求める。各検出領域（各画素ラインＹ２'〜Ｙ５'の領域）においてこのような近接関係となる組み合わせは多数存在し、Ｓ１７では、そのような第２比率が、上記第１比率と同一となるような明色バー、暗色バー、明色バーの位置をさらに検出する。そして、明色バー、暗色バー、明色バーの比率（第２比率）が第１比率（Ｗ３：ＷＢ：Ｗ４）と同一となる位置（同一比率位置）を検出する。
【００５３】
図３においてＳ１７の処理が終了し、３つ並んだ明色バー、暗色バー、明色バーの長さの比率（第２比率）が第１比率（Ｗ３：ＷＢ：Ｗ４）と同一となる位置（同一比率位置）が各検出領域（各画素ラインＹ２'〜Ｙ５'の領域）において特定された後には、同一比率位置に基づいて上述（Ｓ１４にてＹｅｓに進む場合）と同様の傾斜角度算出処理が行われる（Ｓ１８）。なお、上述（Ｓ１４にてＹｅｓに進む場合）と同様の角度検出処理を行うと、変換後画像データ（図６（ｂ））の縦方向と、Ｓ１７にて検出された複数の同一比率位置の並び方向とのなす角度（ここではβとする）が得られることとなる。この角度βは、図６（ｂ）に示す変換後画像データの横方向と、当該変換後画像データのバーコード画像Ｂ"（より詳しくはバーコード画像Ｂ"のバー配列方向）とのなす角度に等しく、従って角度βは、図６（ａ）に示す変換前画像データ（原画像データ）の縦方向と、当該変換前画像データのバーコード画像Ｂ'（より詳しくはバーコード画像Ｂ'のバー配列方向）とのなす角度に等しいといえる。よって、受光センサ２３の画素列に対するバーコード像の傾斜角度（即ち、変換前画像データの横方向に対するバーコード像Ｂ'の傾斜角度）αは、α＝９０°−βの式によって求めることができる。
【００５４】
このように、図３のＳ１４にてＹｅｓとなる場合、Ｎｏとなる場合のいずれにおいてもＳ１８にて傾斜角度αが求められることとなる。そして、傾斜角度αが検出された後には加算領域設定処理が行われる（Ｓ１９）。この加算領域設定処理は、図４や図６（ａ）のようなバーコードＢの画像データにおいて、バーコード画像Ｂ'に沿うように構成されかつバーコード画像Ｂ'のバー配列方向全体に及ぶように構成された所定幅の加算領域を設定する処理である。
【００５５】
図４のような画像データを例に挙げて説明すると、加算領域は、例えば、デフォルトの状態で、画像データの中心位置（画素ラインＸ１と画素ラインＹ１の交わる位置Ｐｃ）を領域内に含みかつ画像データ横方向に延びるように長手状に構成されておりかつ所定幅Ｗ０の矩形状の領域Ａとして設定されている（図１０、図１１参照）。なお図１１の領域ＡＲは、画素ラインＸ１を中心としてこの画素ラインＸ１を中心線とするように当該画素ラインＸ１から同じ距離だけ離れた位置に境界Ｅ１，Ｅ２が設定されている。
【００５６】
Ｓ１９の加算領域設定処理では、このようなデフォルト状態の加算領域を、中心位置ＰＣを中心としてＳ１８で算出された傾斜角度αだけ反時計回りに回転し、図１２のように傾斜したバーコード画像Ｂ'のバー配列方向と加算領域ＡＲ'の長手方向（即ち幅方向と直交する方向）とが同方向となるように加算領域ＡＲ'を設定する。図１３、図１４では、境界Ｅ１，Ｅ２が回転された位置（即ち、加算領域ＡＲ'の境界）を符号Ｅ１'、Ｅ２'にて示している。
なお、本実施形態では、制御回路４０が「加算領域設定手段」の一例に相当し、バーコードＢの画像データにおいてバー配列方向に沿った加算領域を設定する機能を果たす。
【００５７】
図３のＳ１９において加算領域が設定された後には、加算処理が行われる（Ｓ２０）。この加算処理は、Ｓ１９で設定された加算領域ＡＲ'におけるバー配列方向の複数位置において、バー方向（バー配列方向と直交する方向）に沿った加算ラインを定め、各加算ライン上の濃淡信号を互いに加算する処理である。本実施形態では、Ｓ１８にて検出された傾斜角度αに基づきＳ１９においてバー配列方向（図１３では符号Ｆ２にて概念的に図示）に沿った加算領域ＡＲ'を設定しており、Ｓ２０では、Ｓ１８にて検出された傾斜角度αに基づき、加算領域ＡＲ'内においてバー方向（図１３では符号Ｆ１にて概念的に図示）に沿った加算ラインをそれぞれ定めている。各加算ラインは、バー方向に沿って並ぶ画素ライン（画素データ群）によって構成されるものであり、このような画素ラインをバーコード画像Ｂ'のバー配列方向全領域にわたって並べるように設定する。なお、加算ライン同士が互いに隣接するように複数の加算ラインを設定してもよく、所定間隔おきに加算ラインを設定するようにしてもよい。なお、図１３では、加算ラインとされる３つの画素ラインＺ１、Ｚ２、Ｚ３を概略的に図示している（Ｚ１、Ｚ２、Ｚ３以外の加算ラインは図示を省略）。
【００５８】
そして、設定された加算ラインごとに、各加算ラインに含まれる画素データの濃淡信号を加算する処理を行い、加算ラインごとに濃淡信号の加算値を算出する。この加算処理では、明色バーに配される加算ラインについてはレベルの大きい濃淡信号が複数加算され、暗色バーに配される加算ラインについてはレベルの小さい濃淡信号が複数加算されることとなる。加算ラインごとの加算数は、各加算ラインを構成する全ての画素データについて濃淡信号のレベルを加算するようにしてもよく、所定の加算方法で加算するようにしてもよい。所定の加算方法の例としては、例えば、各加算ラインごとに濃淡信号の最大値を算出し、各加算ライン毎の加算信号数を各加算ラインの最大値に基づいて決定するようにしてもよい。
【００５９】
具体的には濃淡信号がＬｅ１〜Ｌｅ２の範囲で表されるように決められている場合、その範囲の最大レベルであるＬｅ２を各加算ラインの最大値Ａｍで除算した値（即ちＬｅ２／Ａｍ、なお、余りは切り捨てとする）を各加算ラインの加算数とすることができる。例えば、濃淡信号が０〜２５５までの２５６段階（８ビット）で表される場合、最大レベルである２５５を各加算ラインの最大値Ａｍで割った値（即ち２５５／Ａｍ、なお、余りは切り捨てとする）を各加算ラインの加算数とすることができる。このようにすると、加算値が最大レベルを超えて飽和することがなくなる。
【００６０】
このように加算処理を行うことで、バー配列方向の複数位置（各加算ラインの位置）において加算された濃淡信号が得られることとなる。なお、加算処理を行う場合と行わない場合とでは例えば図１４のような差が現れることとなる。図１４（ａ）（ｂ）は、バーコード画像のバー配列方向に沿った各位置における信号レベルの例を示すものであり、図１４（ａ）は、バーコード画像内におけるバー配列方向に沿った単一の画素ラインを設定し、バー配列方向の各位置（横軸）ごとの濃淡信号（縦軸）を示すものである。図１４（ｂ）は、そのようなバーコード画像に対して加算処理を行った後のバー配列方向各位置毎（各加算ライン毎）の加算値を示している。このように加算処理後には大きなコントラストが得られることとなる。
【００６１】
そして、このような各加算ライン毎の加算結果に基づいてバーコードの明暗配列データが生成される（Ｓ２１）。本実施形態では、Ｓ２０の処理により、バー配列方向の各位置（各加算ライン位置）ごとに濃淡信号（加算値）が得られているため、バー配列方向に並ぶそれぞれの濃淡信号（加算値）を予め定められた閾値と比較することで二値化された明暗配列データが得られることとなる。
【００６２】
図２に戻り、Ｓ３に示す明暗配列データ生成処理が終わると、その生成された明暗配列データに基づいてデコード処理が行われる（Ｓ４）。明暗配列データ（二値化データ）に基づいてデコード処理を行う方法はバーコードリーダの分野では周知であるので詳細は省略する。なお、Ｓ４においてデコードに成功した場合には、その旨を示す報知出力（例えば「ＯＫ」の文字、短いビープ音や緑色光）を、またデコードに失敗した場合には、その旨を示す報知出力（例えば「ＮＧ」の文字、長いビープ音や赤色光）を、液晶表示装置４６、ブザー４４やＬＥＤ４３により出力することによって、当該バーコードリーダ２０の使用者にバーコードＢの読み取りの可否を報知する。また、デコードに成功した場合には、デコードされたデータ、つまりバーコードＢの内容を液晶表示装置４６に出力したり、通信インタフェース４８を介してホストコンピュータＨＳＴに出力する。
なお、本実施形態では、制御回路４０が「デコード手段」の一例に相当し、加算手段によって生成された明暗配列データに基づいてデコード処理を行う機能を果たす。
【００６３】
以上説明したように、本実施形態に係るバーコードリーダ２０では、画素列に対するバーコードの像の傾斜角度を検出し、その傾斜角度に基づき、バー方向に沿った加算ラインをそれぞれ定めている。そして、各加算ライン毎の加算結果に基づいてバーコードの明暗配列データを生成し、その生成された明暗配列データに基づいてデコード処理を行うようにしている。このようにすると、画素列に対してバーコードの像が傾斜して受光されるような場合であってもバー方向に沿った加算処理を行うことができ、コントラスト比が大きい明暗配列データを良好に生成できる。
【００６４】
また、基準領域において検出される第１比率と、基準領域以外の各検出領域において検出される第２比率と、が同一となる同一比率位置をそれぞれ検出し、その検出された複数の同一比率位置の並び方向に基づいてバーコードの像の画素列に対する傾斜角度を検出している。このようにすれば、複雑な解析処理を行うことなくバーコードの像の傾斜角度を精度高く検出できるようになる。また、検出領域数をそれほど多くせずともバーコード像の傾斜角度が検出できるため、傾斜角度の算出を簡易且つ迅速に行うことができる。
【００６５】
また、基準バーの両側に隣接する２つの隣接バーを近接バーとし、基準バーについての基準領域の方向の長さと、２つの隣接バーについての基準領域の方向の長さと、の比率を第１比率として求めている。このようにすると、比較的小さな領域を参照して迅速に第１比率を求めることができる。
【００６６】
また、Ｓ２（図２）で取得した画像データにおける横方向又は縦方向の中央に配される領域を基準領域とし、かつ当該画像データの中心位置に配置される明色バー又は暗色バーを基準バーとして第１比率を求めている。バーコードの画像は全画像データの中心付近に配置されやすいため、画像データの中央に配置される領域を基準領域として定めるようにすれば、基準領域を検出する際の不具合を抑えて基準領域を安定的に検出できるようになり、第１比率を迅速且つ良好に求めることができる。
【００６７】
また、画素列に対するバーコード像の傾斜角度が一定値以上となるときに、縦方向に延びる複数の検出領域を設定するようにしている。画素列に対するバーコードの像の傾斜角度が大きくなると、横方向に検出領域を設定したときに基準バーや近接バーの基準領域方向（即ち検出領域の方向）の幅が大きくなると共に複数の検出領域をより狭い間隔で設定する必要が生じ、第１比率や第２比率を検出し難くなってしまう。これに対し、傾斜角度が一定値以上となる場合に縦方向に延びる複数の検出領域を設定するようにすれば、このような問題を解消することができ、第１比率及び第２比率を精度高く良好に検出できるようになる。
【００６８】
また、各加算ラインごとに濃淡信号の最大値を算出し、各加算ライン毎の加算信号数を各加算ラインの最大値に基づいて決定する例を示している。このように最大値に応じた加算信号数にすれば、必要以上に濃淡信号を加算しすぎることを防止できる。特に、本実施形態で例示したように、決められた濃淡信号の範囲の最大レベルを各加算ラインの最大値で除算した値を各加算ラインにおける加算数とすれば、加算値が最大レベルを超えて飽和することを防止でき、処理の迅速化を図ることもできる。
【００６９】
［他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【００７０】
上記実施形態では、一段のバーコードを読み取る構成を例示したが、特許文献１のような多段式のバーコードを読み取るものであってもよい。
【００７１】
上記実施形態では、読取処理を行うごとに傾斜角度を算出し、加算処理を行う例を示したが、一度検出された傾斜角度を登録情報としてメモリ３５記憶し、メモリ３５に既に登録情報が記憶されている場合には、当該登録情報を用いて加算領域を設定し、登録情報に基づいてバーコードの明暗配列データを生成するようにしてもよい。例えば、Ｓ１０の前に登録情報が記憶されているか否かを判断する判断ステップを入れ、登録情報が記憶されていない場合には第１実施形態と同様にＳ１０以降の処理を行うようにする。この場合、Ｓ１８の傾斜角度算出処理とＳ１９の加算領域決定処理との間に、傾斜角度記憶処理を設け、Ｓ１８で算出された傾斜角度をメモリ３５に記憶するようにすればよい。一方、Ｓ１０の前に設けた判断ステップで、登録情報が記憶されていると判断される場合にはＳ１９に進んで当該登録情報（傾斜角度）を用いて上述の加算処理（Ｓ２０）を行い、上述の明暗配列データ生成処理（Ｓ２１）を行うようにすればよい。このようにすれば、同様の傾斜状態で複数回読取処理を行う場合に処理の迅速化を図ることができる。
なお、上記判断ステップは所定のモードに設定されている場合のみ実行されるようにしてもよい。例えば、当該バーコードリーダ２０を、通常モードと連続検出モードとに設定変更できるように構成し、連続検出モードの場合のみ上記判断ステップが行われるようにすればよい。この場合、通常モードの場合には上記判断ステップを行わずにＳ１０以降の処理を第１実施形態と同様に行うようにすればよい。
なお、本実施形態ではメモリ３５が「記憶手段」に相当し、上記傾斜角度を登録情報として記憶する機能を果たす。
【図面の簡単な説明】
【００７３】
【図１】図１は、本発明の第１実施形態に係るバーコードリーダの電気的構成を概略的に例示するブロック図である。
【図２】図２は、図１のバーコードリーダで行われる読取処理の流れを概略的に例示するフローチャートである。
【図３】図３は、図２の読取処理にて行われる明暗配列データ生成処理の流れを例示するフローチャートである。
【図４】図４は、取得された画像データを例示する説明図である。
【図５】図５は、基準バー及び近接バーを説明する説明図である。
【図６】図６（ａ）は、画素列に対するバーコードの像の傾斜角度が一定値以上のときの画像データ例を示す説明図であり、図６（ｂ）は、図６（ａ）の画像を９０回転した例を示す説明図である。
【図７】図７は、画像データに対して複数の検出領域を設定する例を示す説明図である。
【図８】図８は、各検出領域において同一比率位置を検出する様子等を説明する説明図である。
【図９】図９は、同一比率位置に基づく傾斜角度の検出を説明する説明図である。
【図１０】図１０は、加算領域のデフォルトの状態を説明する説明図である。
【図１１】図１１は、傾斜角度に基づいて加算領域を回転させる様子を説明する説明図である。
【図１２】図１２は、傾斜したバーコード画像に沿って加算領域を設定した様子を説明する説明図である。
【図１３】図１３は、加算ラインの設定の様子を説明する説明図である。
【図１４】図１４は、加算処理前後の濃淡値の変化を説明するグラフである。
【図１５】図１５は、参考例の方法で傾斜角度αを算出する例を示す説明図である。
【符号の説明】
【００７４】
２０…バーコードリーダ（光学的情報読取装置）
２３…受光センサ（受光手段）
２３ａ…受光面
２７…結像レンズ（結像手段）
３５…メモリ（記憶手段）
４０…制御回路（生成手段、デコード手段、加算領域設定手段、加算手段、傾斜角度検出手段、比率検出手段、位置検出手段）
【図１】
0005007952.tif 000002
【図２】
0005007952.tif 000003
【図３】
0005007952.tif 000004
【図４】
0005007952.tif 000005
【図５】
0005007952.tif 000006
【図６】
0005007952.tif 000007
【図７】
0005007952.tif 000008
【図８】
0005007952.tif 000009
【図９】
0005007952.tif 000010
【図１０】
0005007952.tif 000011
【図１１】
0005007952.tif 000012
【図１２】
0005007952.tif 000013
【図１３】
0005007952.tif 000014
【図１４】
0005007952.tif 000015
【図１５】
0005007952.tif 000016