JP3548783B2 - 光学コード読取方法及び装置 - Google Patents

光学コード読取方法及び装置 Download PDF

Info

Publication number
JP3548783B2
JP3548783B2 JP2003381375A JP2003381375A JP3548783B2 JP 3548783 B2 JP3548783 B2 JP 3548783B2 JP 2003381375 A JP2003381375 A JP 2003381375A JP 2003381375 A JP2003381375 A JP 2003381375A JP 3548783 B2 JP3548783 B2 JP 3548783B2
Authority
JP
Japan
Prior art keywords
image
decoding
images
camera
photographing
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.)
Expired - Lifetime
Application number
JP2003381375A
Other languages
English (en)
Other versions
JP2004206687A (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.)
Omron Corp
Original Assignee
Omron Corp
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 Omron Corp filed Critical Omron Corp
Priority to JP2003381375A priority Critical patent/JP3548783B2/ja
Priority to US10/731,675 priority patent/US7100830B2/en
Publication of JP2004206687A publication Critical patent/JP2004206687A/ja
Application granted granted Critical
Publication of JP3548783B2 publication Critical patent/JP3548783B2/ja
Priority to US11/449,422 priority patent/US7278573B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/1092Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing by means of TV-scanning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10712Fixed beam scanning
    • G06K7/10722Photodetector array or CCD scanning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/1093Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing, after transfer of the image of the data-field to an intermediate store, e.g. storage with cathode ray tube
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes

Description

この発明は、バーコードや二次元コードと言った光学コードの読み取りに好適な光学コード読取方法及び装置に関する。
搬送ライン上に固定されたイメージセンサ内蔵カメラを介して、高速で搬送されてくるワークに付された微細な光学コード(例えば、二次元コート等)を読み取るような場合、撮影タイミングをどのように設定すべきかについては、様々な提案がなされている。
電源が投入された以降、適当な時間間隔でCCDカメラによる撮影を常時繰り返し、トリガ入力が与えられた時点では、既に撮影されてメモリに記憶されている最新の撮影画像に基づいて、直ちに、デコード処理へと移行可能とした情報コード読取装置が従来より知られている(特許文献1参照)。
特開2000−293616号公報
上述の従来技術にあっては、撮影のタイミングとトリガ入力のタイミングとは完全に非同期であるから、仮に、ワーク上のコード存在位置がカメラの視野に到来したことをトリガセンサ(例えば、ファイバ型光電センサ等)で検出してトリガ入力を発生させたとしても、撮影された画像内には目的とする光学コードが存在しない場合も起こり得る。また、図19に示されるように、ワーク上の光学コード(二次元コード8)に位置バラツキがあって、たまたま予定位置からのズレ量ΔLがあれば、撮影タイミングが固定されている限り、カメラの視野9内に目的とする光学コード(二次元コード8)が存在しない場合、又は完全な形では存在しない場合を回避することはてきない。
この発明は、上述の問題点に着目してなされたものであり、その目的とするところは、ワークに付された光学コードを確実に読み取ることができる光学コード読取方法及び装置を提供することにある。
この発明の他の目的とするところは、読取確実性を担保しつつも、可能な限り短時間で読み取りを完了できる光学コード読取方法及び装置を提供することにある。
この発明の他の目的とするところは、使用するに連れて読取確実性を一層向上させることができる光学コード読取方法及び装置を提供することにある。
この発明の他の目的とするところは、読取確実性が高くしかも操作性の良好な光学コード読取方法及び装置を提供することにある。
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
この発明の基本となる光学コード読み取り装置は、画像を取得するカメラと、カメラにより取得される画像を複数枚記憶可能な画像メモリと、カメラから取得された画像に含まれる光学コードをデコードするための画像処理部と、所定の撮影指令が到来するのを待って、所定の撮像条件にてカメラを連続撮影させて複数枚の画像を取得しこれらを画像メモリに格納するマルチ画像取得手段と、画像メモリに格納された複数枚の画像を所定の順番で1枚ずつ選択して画像処理部に与えることで当該画像に含まれる光学コードのデコードを試み、いずれかの画像に関してデコード成功が判定されるのを待って、残りの画像に関するデコードを試みることなく、デコード成功としてデコード結果を出力するマルチ画像デコード手段と、を含むことを特徴とするものである。
このような構成によれば、所定の撮影指令が到来するのを待って、所定の撮影条件にてカメラを連続撮影させて複数枚の画像が取得されるため、仮に、トリガ入力のタイミングとワークの到来タイミングとの間に時間的ズレが存在したり、ワーク上の光学コード位置にバラツキが存在したとしても、複数回の連続撮像によって得られる複数枚の画像には、ワーク上の光学コードが含まれている確率が高いため、読み取り対象となる画像を唯一としていた従来技術に比べて、光学コードの読取確実性が高まる。また、外乱光等の影響で撮影状態が安定しない環境下にある静止したワークであっても、複数回の連続撮影を行うことで、読み取り確実性が向上される。
加えて、取得された複数枚の画像を所定の順番で1枚ずつ選択してデコードを試み、いずれかの画像に関してデコード成功が判定されたならば、残りの画像に関するデコードを試みることなく、デコード成功としてデコード結果を出力するため、必ずしも全ての画像に関するデコードを試みることが不要となって、出力応答性を向上させることができる。
殊に、光学コードとして2次元コードが採用される場合、情報量が膨大となることから、一枚の画像のデコードにも相当な時間がかかるが、いずれか1つの画像においてデコード成功が判定されれば、その他の画像についてはデコード処理は行われないから、無駄なデコード処理によって出力応答性を害することもない。つまり、この発明によれば、複数回の連続撮影を行うことで読取確実性を担保しつつも、一枚の画像でもデコードに成功すれば、他の画像についてはデコードを試みないから、可能な限り短時間で読取を完了することができる。
好ましい実施の一形態としては、画像メモリに格納された複数枚の画像を1枚ずつ選択してデコードする際の所定の順番を、デコード成功画像の撮影順番履歴に基づいて変更するデコード順番変更手段を有する、ものが考えられる。すなわち、1連続撮影において何回目の撮影順番で得られた画像に関してデコード成功したかを過去複数回の連続撮影に関して記録して撮影順番履歴として保存し、当該撮影順番履歴において出現頻度の高い撮影順番に従って優先的にデコードを行えば、一般に所定の撮影指令(トリガ入力)のタイミングとワークの到来タイミングとの関係は一定の場合が多く、しかもワーク上の光学コードの位置もほぼ同じであるとすれば、デコード成功の出現頻度の高い撮影順番の画像から優先的にデコード処理を試みることによって、デコード成功と判定されるまでの所要時間が一層短かくなる。前述の静止しているワークの場合であっても同様にデコード成功と判定される迄の所要時間を短くすることができ、次のワークの読み取り開始までの間隔を短くすることができる。
また、好ましい実施の一形態としては、前記カメラは、シャッタースピードを変化可能であり、カメラの被写体を照らしかつ照明態様を変化させることが可能な照明器を更に具備し、前記マルチ画像取得手段は、カメラのシャッタースピード若しくは照明器の照明態様の少なくとも何れか一方により規定される所定の撮像条件にてカメラを連続撮影させて複数枚の画像を取得しこれらを画像メモリに格納するようにしたものが考えられる。このように、カメラのシャッタースピード若しくは照明器の照明態様の少なくとも何れか一方により所定の撮像条件を規定すれば、より一層多様な撮像条件を設定することができる。
別の一面から見た本発明の基本となる光学コード読み取り装置は、画像を取得するカメラと、カメラにより取得される画像を複数枚記憶可能な画像メモリと、カメラから取得された画像に含まれる光学コードをデコードするための画像処理部と、所定の撮影指令が到来するのを待って、所定の撮像条件にてカメラを連続撮影させて複数枚の画像を取得しこれらを画像メモリに格納するマルチ画像取得手段と、画像メモリに格納された複数枚の画像を所定の順番で1枚ずつ選択して画像処理部に与えることで当該画像に含まれる光学コードのデコードを試み、少なくとも1つの画像においてデコード成功と判定されるときには、デコード成功としてデコード結果を出力するマルチ画像デコード手段と、前記連続撮影における撮影間隔を、過去の1連続撮影に際してデコード成功と判定された画像の個数に基づいて変更する撮影間隔変更手段と、を有する、ことを特徴とするものである。
すなわち、本発明にあっては、過去の1連続撮影により得られる複数の画像の中の少なくとも1つに目的とする光学コードが含まれていればデコード成功を得ることができるのであるが、連続撮影の間隔やワークの速度との関係で複数の画像の中に多数の目的とする光学コードが含まれていたり、逆に1つの画像にしか含まれていなかったり、或いは全く含まれていない場合も想定される。光学コードの含まれる画像が多くかつ全体の取得画像枚数も多いと大容量の画像メモリが必要となってコストアップとなる。一方、例え含まれていたとしても、1つの画像にしか含まれていないような場合には、僅かのタイミングズレあるいはバラツキによって、目的とする光学コードを取得できない虞がある。そのため、このように過去の1連続撮影においてデコード成功と判定された画像の個数に基づいて連続撮影における撮影間隔を修正することにより、常に適切な取得画像枚数並びに光学コード出現画像数を維持することができ、これにより読取確実性を担保しつつも、メモリ容量等を節減してコストダウンを図ることが可能となる。
好ましい実施の形態としては、連続撮影における撮影間隔を、指定された撮影間隔に応じて変更する、撮影間隔変更手段を有する、ものが考えられる。このような構成によれば、使用者が撮影間隔を指定することによって連続撮影における撮影間隔を任意に調整することが可能となる。
また、好ましい実施の形態としては、連続撮影における撮影間隔を、連続撮影所要時間は固定したまま指定された撮影回数に応じて変更する、撮影間隔変更手段を有する、ものが考えられる。すなわち、殊に、1連続撮影所要時間は固定した状態のまま、撮影回数の指定を許容するようにすれば、その条件を満たす撮影間隔を自動的に算出して、設定を行うことができる。
別の一面から見た本発明の基本となる光学コード読み取り装置は、シャッタスピードを変化させることが可能なカメラと、カメラの被写体を照らしかつ照明態様を変化させることが可能な照明器と、カメラにより取得される画像を複数枚記憶可能な画像メモリと、カメラから取得された画像に含まれる光学コードをデコードするための画像処理部と、所定の撮影指令が到来するのを待って、カメラのシャッタースピード若しくは照明器の照明態様の少なくとも何れか一方により規定される所定の撮像条件にてカメラを連続撮影させて複数枚の画像を取得しこれらを画像メモリに格納するマルチ画像取得手段と、画像メモリに格納された複数枚の画像を所定の順番で1枚ずつ選択して画像処理部に与えることで当該画像に含まれる光学コードのデコードを試み、少なくとも1つの画像においてデコード成功と判定されるときには、デコード成功としてデコード結果を出力するマルチ画像デコード手段と、を含むことを特徴とするものである。
この発明にあっては、少なくとも1つの画像においてデコード成功と判定されたとしても、直ちにその旨を外部へ出力することは要件とされておらず、残りの画像に関してデコード可否を判定することができる。そして、このような構成によれば、取得された複数の画像中に目的とする光学コードが含まれている可能性は高いから、従前のように、1回のトリガ入力に対して1回しか撮影を行わなかったものに比べれば、先に説明した2つの基本となる光学読み取り装置と同様な理由により、トリガ入力のタイミングとワークの到来タイミングとの間に時間的ズレが存在したり、ワーク上の光学コード位置にバラツキが存在したとしても、光学コードを確実に読み取ることができる。加えて、残りの画像に関してもデコード可否を判定することができるため、この判定可否に基づいて所定の撮像条件を設定することも可能となる。
好ましい実施の形態としては、所定の撮影条件が、1連続撮影中に変化する撮影条件である、ことが考えられる。このような構成によれば、例えば、1画像の撮影ごとに撮影条件を変化させることによって、撮影条件の異なる複数枚の画像を取得することができるから、画質の異なる複数枚の画像に対してデコードを試みることにより、被写体となるワーク又は光学コードの表面性状変化等に拘わらず、デコード成功の確率を維持することができる。つまり、ラインを搬送されるワークが同一品種であっても、1個のワークを撮影条件を変更しながら複数回撮影すれば、取得される複数枚の画像のいずれかは最適撮影条件に近い条件で取得されるであろうし、ラインを搬送されるワークの品種が混在する場合にも、取得される複数枚の画像のいずれかは最適撮影条件に近い条件で取得されるであろうから、このような撮影条件変更手法を採用することにより、読取確実性を維持することができる。加えて、静止しているワークであっても、ワーク毎に表面性状が区々の場合には、その都度最適な撮影条件に設定し直さなくても、適切な撮影条件にて取得された画像に基づいて、確実な読取が可能となる。
また、好ましい実施の形態としては、所定の撮影条件が、撮影条件を変化させつつ得られた過去のデコード成功画像同士の画質比較により求められた最適撮影条件である、ことが考えられる。ここで、画質にはコントラスト(画像背景領域又は光学コード領域における、最大又は平均的な白画素レベルと最小又は平均的な黒画素レベルとのレベル差)を含むことが出きる。このような構成によれば、連続撮影を繰り返すうちに、撮影条件は次第に最適な条件に収束するため、上述した1ワークに対して複数画像を取得することによる読取確実性を担保しつつも、使用するにつれて読取確実性を一層向上させることができる。
更に別の一面から見た本発明の光学コード読み取り装置は、シャッタスピードを変化させることが可能なカメラと、カメラの被写体を照らしかつ照明態様を変化させることが可能な照明器と、カメラにより取得される画像を複数枚記憶可能な画像メモリと、カメラから取得された画像に含まれる光学コードをデコードするための画像処理部と、カメラのシャッタースピード若しくは照明器の照明態様の少なくとも何れか一方により規定される所定の撮像条件を変化させつつカメラを連続撮影させて複数枚の画像を取得しこれらを画像メモリに格納するマルチ画像取得手段と、画像メモリに格納された複数枚の画像の全てに対してデコードを試み、デコード成功又は不成功を記録するマルチ画像デコード結果記憶手段と、デコード成功画像同士の画質を比較することにより、画質の最も良好な1の画像に対する撮影条件を最適撮影条件として出力する最適撮影条件検索手段と、を有するものである。
ここで、比較されるデコード成功画像の画質にはコントラストを含んでいてもよい。このような構成によれば、自動的に最適撮影条件を求め、これを装置に対して教示(ティーチング)することができる。
好ましい実施の形態としては、表示器を有し、該表示器には、デコード成功画像の中で画質の最も良好な画像と、その画像に対応する付帯情報とが表示されるものが考えられる。ここで、付帯情報には、照明器における点灯パターンを含めることができる。その他の付帯情報としては、先の例でも述べたように、シャッタスピード、その他の撮影条件、読取対象となるコードに関する情報(例えばセルサイズ等)を挙げることができる。そして、このような構成によれば、読取確実性を担保しつつも、操作性の良好な光学コード読取装置を提供することができる。
本発明の基本となる光学コード読み取り方法は、所定の撮影指令が到来するのを待って、所定の撮影条件にてカメラを連続撮影させて複数枚の画像を取得し、しかるのち、取得された複数枚の画像を所定の順番で1枚ずつ選択してデコードを試み、いずれかの画像に関してデコード成功が判定されるのを待って、残りの画像に関するデコードを試みることなく、デコード成功としてデコード結果を出力する、ことを特徴とするものである。
このような構成によれば、先の装置の場合と同様な理由により、トリガ入力のタイミングとワークの到来タイミングとの間に時間的ズレが存在したり、ワーク上の光学コード位置にバラツキが存在したとしても、光学コードを確実にかつ可能な限り短時間で読み取ることができる。
好ましい実施の形態としては、デコードのために複数枚の画像を1枚ずつ選択する際の所定の順番を、デコード成功画像の撮影順番履歴に基づいて変更するようにしたものが考えられる。このような構成によれば、先の装置の場合と同様な理由により、上述した読取確実性を担保しつつも、読取完了に至る所要時間を一層短縮することが可能となる。
別の一面から見た本発明の基本となる光学コード読み取り方法は、所定の撮影指令が到来するのを待って、所定の撮影条件にてカメラを連続撮影させて複数枚の画像を取得し、しかるのち、取得された複数枚の画像を所定の順番で1枚ずつ選択してデコードを試み、少なくとも1つの画像においてデコード成功と判定されるときには、デコード成功としてデコード結果を出力し、さらに前記連続撮影における撮影間隔を、過去の1連続撮影に際してデコード成功と判定された画像の個数に基づいて変更する、ことを特徴とするものである。
このような構成によれば、過去の1連続撮影においてデコード成功と判定された画像の個数に基づいて連続撮影における撮影間隔を修正することができるから、常に適切な取得画像枚数並びに光学コード出現画像数を維持することができ、これにより読取確実性を担保しつつも、メモリ容量等を節減してコストダウンが可能となる。
別の一面から見た本発明の基本となる光学コード読み取り方法は、所定の撮影指令が到来するのを待って、1連続撮影中に変化する撮影条件にてカメラを連続撮影させて複数枚の画像を取得し、しかるのち、取得された複数枚の画像を所定の順番で1枚ずつ選択してデコードを試み、少なくとも1つの画像においてデコード成功が判定されるときには、デコード成功としてデコード結果を出力する、ものである。
このような構成によれば、トリガ入力のタイミングとワークの到来タイミングとの間に時間的ズレが存在したり、ワーク上の光学コード位置にバラツキが存在したとしても、光学コードを確実に読み取ることができる。加えて、1画像の撮影ごとに撮影条件を変化させることによって、撮影条件の異なる複数枚の画像を取得することができるから、画質の異なる複数枚の画像に対してデコードを試みることにより、被写体となるワーク又は光学コードの表面性状変化等に拘わらず、デコード成功の確率を維持することができる。
更に別の一面から見た本発明の基本となる光学コード読み取り方法は、所定の撮影指令が到来するのを待って、撮像条件を変化させつつカメラを連続撮影させて複数枚の画像を取得し、しかるのち、取得された複数枚の画像の全てに対してデコードを試み、デコード成功画像同士の画質を比較することにより、画質の最も良好な1の画像に対する撮影条件を最適撮影条件として出力する、ことを特徴とするものである。
ここで、比較されるデコード成功画像の画質にはコントラストを含んでいてもよい。このような構成によれば、自動的に最適撮影条件を求め、これを装置に対して教示(ティーチング)することができる。
以上の説明で明らかなように、本発明によれば、所定の撮影指令が到来するのを待って、所定の撮影条件にてカメラを連続撮影させて複数枚の画像を取得し、しかるのち、取得された複数枚の画像の1つを所定の順番で選択してデコードを試み、少なくとも1つの画像においてデコード成功と判定されるときには、デコード成功としてデコード結果を出力するものであるから、トリガ入力のタイミングとワークの到来タイミングとの間に時間的ズレが存在したり、ワーク上の光学コード位置にバラツキが存在したとしても、連続撮影される複数の画像の1つに光学コードが含まれる確率が高いため、光学コードを確実に読み取ることができる。
以下に、この発明の好適な実施の一形態を添付図面を参照しながら詳細に説明する。尚、以下の実施形態は本発明の一部を示すものに過ぎず、本発明の及ぶ範囲は、明細書の特許請求の範囲の記載によってのみ規定されることは言うまでもない。
本発明装置のシステム構成を示す模式的外観図が図1に示されている。同図において、符号1はコントローラ、2はカメラ、3はトリガタイミング検知センサ、4はハンディコンソール、5はビデオモニタ、6aはプログラマブルコントローラ、6bはパソコン、7は照明器である。
カメラ2にはCCD等のイメージセンサが内蔵されており、カメラ2の先端部にはフードを有する照明器7が備えられている。照明器7には照明角度の異なる複数の照明要素が設けられている。各照明要素は、1個の光源又は複数の光源で構成される。これらの照明要素は1個ずつ択一的に又は2以上のものを同時に点灯することが可能とされている。これら照明要素の点灯は、コントローラ1からの制御によって行うことができる。トリガタイミング検知センサ3は、搬送路上を流れてくるワークがカメラ2の視野にさしかかったタイミングを検知して、トリガ入力を生成するものである。ハンディコンソール4及びビデオモニタ5は、本装置のヒューマンマシンインタフェースとして機能するものであり、これらを用いて本発明装置とオペレータとの対話が適切に行われる。プログラマブルコントローラ6a及びパソコン6bは、本発明装置に対する上位システムを構成するものである。例えば、プログラマブルコントローラ6aは生産ライン全体の制御を、またパソコン6bはプログラマブルコントローラ6aに対する各種の統括的な指示を与えるために使用される。
コントローラの内部構成を中心として示すブロック図が図2に示されている。尚、同図において、先に説明した図1の構成要素と同一部分については同符号を付して説明は省略する。
同図に示されるように、コントローラ1には、CPU101と、メモリ102と、画像メモリ103と、画像入出力制御部104と、コンソールインタフェース105と、モニタインタフェース106と、カメラインタフェース107と、照明インタフェース108と、トリガセンサインタフェース109と、画像処理部110と、CPUバス111と、内部バス112と、通信インタフェース113とが含まれている。CPU101はマイクロプロセッサを主体として構成されており、メモリ102に格納されたシステムプログラムを実行することによって、コントローラ1全体の制御を司る。
コントローラ1は、通信インタフェース113を介して上位システム6と接続される他、コンソールインタフェース105、モニタインタフェース106、カメラインタフェース107、照明インタフェース108、トリガセンサインタフェース109をそれぞれ介して、コンソール4、ビデオモニタ5、カメラ2、照明器7、トリガセンサ3のそれぞれに接続される。
トリガセンサ3の作動により生成されたトリガ入力は、トリガセンサインタフェース109を介してコントローラ1に取り込まれる。照明器7を構成する複数の照明要素は、照明インタフェース108を介してコントローラ1から与えられる信号によって選択的に点灯され、これにより複数の照明態様が実現される。カメラ2の撮影動作により得られた画像はカメラインタフェース107を介してコントローラ1に取り込まれ、最終的に画像メモリ103に格納される。画像メモリ103に格納された画像データは、適宜読み出されて、画像処理部110へ与えられ、ここで公知の各種の画像処理が行われた後、所定の規則に従ってデコードが試みられる。オペレータの所定操作によりコンソール4で発生される各種の指令は、コンソールインタフェース105を介してコントローラ1内に取り込まれる。コントローラからオペレータに対する各種の指示は、モニタインタフェース106を介してビデオモニタ5へと与えられ、ビデオモニタ5の画面上には該当する情報に相当する文字や図形が表示される。内部における高速の画像データ転送は内部バス112を介して行われ、CPUが取り扱う各種のデータはCPUバス111を介して該当する回路要素に与えられる。
次に、CPU101で実行される処理の全体を概略的に示すゼネラルフローチャートが図3に示されている。同図において電源投入により処理が開始されると、一般的な全体としての初期設定処理を実行した後(ステップ301)、コントローラに設けられた図示しないSET/RUN切替スイッチの内容に応じて、SETモード系の処理(ステップ303,304,305)又はRUNモード系の処理(ステップ306,307,308)が択一的に実行される。
実際に搬送ラインに流れているワークを対象として2次元コード読取を行う処理はRUNモード処理(ステップ307)において実行される。一方、RUNモードに先立つ、各種の設定処理乃至教示処理(ティーチング)は、SETモード処理(ステップ304)において実行される。
次に、SETモードにて実行される撮影条件自動設定処理のゼネラルフローチャートが図4に示されている。同図に示されるように、この撮影条件自動設定処理は、符号401が付された規定回数連続撮像処理(条件都度変更)と、符号402が付された全撮像画像対象デコード処理と、符号403が付された最適条件決定処理とから構成されている。そして、この撮影条件自動設定処理は、通信インタフェース113やコンソールインタフェース105からティーチング開始信号が入力された場合に開始される。
規定回数連続撮影処理(条件都度変更)の詳細を示すフローチャートが図5に示されている。同図において処理が開始されると、まず、撮像の条件設定処理(ステップ501)が実行されて、各撮像回数に応じた照明態様とシャッタスピードの設定が行われ、該当する制御データがカメラ2と照明器7に対して送信される。これにより、カメラ2におけるシャッタスピード(一般的には、CCD素子による電子シャッタのシャッタスピード)の設定が行われ、同時に、照明器7における照明態様(照明要素の選択点灯)が設定される。
続いて、撮像と画像格納処理(ステップ502)が実行されて、設定されている撮影条件(この例では、シャッタスピードと照明態様にて規定される)にてカメラ2の1回の撮像動作が実施され、画像メモリ103の当該撮影回数に対応した記憶領域には、カメラ撮影により得られた画像データが格納される。
続いて、予め設定された連続撮影の規定回数に達したかどうかの判定が行われ(ステップ503)、規定回数未満と判定されると(ステップ503未満)、撮影回数が+1増加更新されて、再び撮像の条件設定処理(ステップ501)及び撮像と画像格納処理(ステップ502)とが実行され、初回とは異なる撮像条件にてカメラ撮影並びに画像メモリへの格納が行われる。以後、撮像回数が連続撮影のための規定回数に達するまでの間、上記の処理(ステップ501,502)が繰り返される。これに対して、撮像回数を更新(ステップ504)した結果として連続撮影のための規定回数に達したと判定されると(ステップ503到達)、この規定回数連続撮影処理(ステップ401)は終了する。
このようにして、規定回数連続撮影処理(条件都度変更)が終了すると、画像メモリ103内の撮像回数に応じた各記憶領域には、各撮像回数毎の照明条件とシャッタスピードとをもって撮影された画像データが格納された状態となり、すなわち撮影条件の異なる複数枚の画像が取得される。
次に、全撮像画像対象デコード処理の詳細を示すフローチャートが図6に示されている。同図において処理が開始されると、デコード対象メモリの取得処理(ステップ601)が実行されて、画像メモリ103内のデコード回数に応じた記憶領域から画像データが取得される。
続いて、二次元コード読取のためのデコード処理が実行される(ステップ602)。デコード処理の実行内容を示すフローチャートが図8に示されている。同図において処理が開始されると、まずコード位置の検出処理(ステップ801)が実行されて、2次元コードの位置を示す特定形状(ファンダパターン)を探すことによって、画像内のどこにコードが存在するかが調べられる。続いて、コード候補の有無が判定され(ステップ802)、ここでコードの位置となる候補が検出できなかった場合には(ステップ802なし)、デコード失敗終了に至ることとなる。これに対して、コードの位置となる候補が検出できた場合には(ステップ802あり)、続いてタイミングパターン検出処理(ステップ803)が実行される。このタイミングパターン検出処理では、セルの位置を決定する形状(タイミングパターン)が検出されて、各セルの座標が取得される。続いて、タイミングパターンの検出が成功したか失敗したかがチェックされ(ステップ804)、失敗した場合には(ステップ804失敗)、そのままデコード失敗終了に至ることとなる。これに対して、タイミングパターンの検出に成功した場合には(ステップ804成功)、続いてセルの白黒判定処理(ステップ805)が実行される。このセルの白黒判定処理では、タイミングパターンの検出によって取得したセルの座標の画素値を参照し、セルの白黒を決定する処理が行われる。続いて、誤り訂正実施(ステップ806)が行われ、取得したセルの白黒情報に対して、公知の手法により誤り訂正処理が実行される。その後、誤り訂正が成功したか否かが判定され(ステップ807)、失敗した場合には(ステップ807失敗)、デコード失敗終了に至ることとなる。これに対して、誤り訂正に成功した場合には(ステップ807成功)、デコード成功終了に至ることとなる。このように、デコード処理(ステップ602)においては、取得している画像メモリに対してデコード処理を実施し、該当する2次元コードの復元化が図られる。この図8のフローチャートで示されるデコード処理は、SETモードだけでなく、RUNモードでも実行される。
図6に戻って、続いてデコード結果の個別記憶(ステップ603)が実行され、デコードの可否や、撮影条件や、デコードが可能であった場合の安定度を示すデータ等が各画像毎に個別に格納される。ここで『安定度』とは、対象となる画像からどれだけ安定的に正確な情報をデコードできるかを示す指標である。誤り訂正処理における訂正個数が多ければ、このような画像は安定度が低いものと判断される。逆に、誤り訂正処理における訂正個数が少なければ、このような画像は安定度が高いものと判断される。安定度を測定する手法としては、種々のものが考えられるが、この実施形態にあっては、当該画像のコントラストをもって安定度の高低を簡易的に判断するようにしている。換言すれば、広い意味での画質の良否が、安定度の高低に対応すると言うこともできる。
続いて、全撮像画像に関し処理が終了したかの判定が行われ(ステップ604)、終了していなければ(ステップ604未処理あり)、デコード回数を+1増加させて更新させた後(ステップ605)、以上説明したデコード対象メモリの取得処理(ステップ601)、デコード処理の実行(ステップ602)、デコード結果の個別記憶(ステップ603)が再び順次実行され、以後全撮像画像終了と判定されるまでの間(ステップ604)、以上の処理(ステップ601〜603)が繰り返し実行される。一方、全画像終了と判定されると(ステップ604終了)、この全撮像画像対象デコード処理は終了する。
続いて、最適条件決定処理の詳細を示すフローチャートが図7に示されている。同図において処理が開始されると、デコード可能であった撮像画像の選別(ステップ701)が実行されて、図6に示されるデコード結果の個別記憶処理(ステップ603)で格納されている、各画像のデコード処理を実施した場合の結果を示すデータ(デコード成功/失敗、安定度、撮影条件等)同士の比較が行われ、どの撮像条件で読取可能であったかが調べられる。
続いて、デコード可能であった画像が存在したか否かの判定が行われ(ステップ702)、デコード可能画像なしと判定されると(ステップ702なし)、ティーチング結果の出力処理(ステップ706)が実行されて、読取可能であった画像が存在しなかった旨が、ユーザに対してビデオモニタ5等を介して通知される。これに対して、デコード可能な画像がありと判定されると(ステップ702あり)、安定度の高いデコード結果画像の調査(ステップ703)が実行されて、読取が可能であった各画像の撮影条件が当該画像の安定度の高い順に記憶される(ステップ704)。
続いて、ティーチング結果の出力処理(ステップ705)が実行されて、ティーチングが成功した旨がユーザに対してビデオモニタ5等を介して通知され、ティーチング成功終了に至ることとなる。
次に、ティーチング成功終了時のモニタ表示例を示す図が図9に示されている。この例にあっては、モニタ画面の中央にティーチング成功に関わった2次元コードの画像901が、読み取られた角度そのままの状態で表示され、同時にその時のシャッタスピード表示902が『1/100sec』として、また照明点灯パターン表示903が照明要素シンボル701,711〜714,721〜724を用いて表示される。すなわち、この照明点灯パターン表示903は、照明器を構成する各照明要素、すなわち真上に位置する1個の照明要素に対応するシンボル701、その周囲内側に位置する4個の照明要素に対応するシンボル711〜714、さらにその周囲に位置する4個の照明要素に対応するシンボル721〜724を含んでいる。この例にあっては、照明要素シンボル721〜724にて示される最も外側に位置する4個の照明要素だけが点灯された照明点灯パターンによって、ティーチング成功に至ったことが示されている。尚、読取対象となった2次元コードの画像901の他に表示される付帯情報としては、その他様々な撮影条件、あるいは読取対象となった2次元コードの情報(例えば、セルサイズ等)を挙げることもできる。
次に、RUNモードにて実行される2次元コード読取処理の内、デコード順序自動修正機能の全体を示すフローチャートが図10に示されている。この2次元コード読取処理(デコード順序自動修正機能付)は、トリガ入力が到来するのを待って開始される。トリガ入力は、トリガタイミング検知センサ3がワークの到来を検出したとき、ハンディコンソール4において撮影開始指令操作が行われたとき、上位システム6から送られてきた撮影開始コマンドが解読されたときなどに発生する。
トリガ入力に応答して処理が開始されると、まず繰り返し撮像処理(ステップ1001)が実行される。繰り返し撮像処理の詳細を示すフローチャートが図11に示されている。同図に示されるように、この繰り返し撮像処理にあっては、撮像回数を初回から+1ずつ増加させて(ステップ1103)、次の撮像の時間ウエイト処理(ステップ1104)で決まる時間間隔をおいて、カメラによる撮像と撮像された画像の格納とを繰り返し(ステップ1101)、撮像回数が規定回数に達するのを待って(ステップ1102到達)、処理を終了する。その結果、繰り返し撮像処理(ステップ1001)が終了した時点においては、画像メモリ103の各撮影回数領域には、所定の撮影条件(この例では、撮影条件は固定)にて撮影された画像が記憶される。
図10に戻って、繰り返し撮像処理(ステップ1001)が終了すると、続いてデコード対象メモリの取得処理(ステップ1002)が実行される。このデコード対象メモリの取得処理(ステップ1002)では、動的に決定されたデコード順序(詳細は後述)を取得するもので、取得結果は、メモリ102に記憶される。ここで、『デコード対象メモリ』とは、デコード対象となる画像のことを意味している。
続いて、取得された画像について、所定の規則に従って、デコード処理の実行が行われ(ステップ1003)、しかる後、デコード結果の個別記憶が行われる(ステップ1004)。なお、デコード処理の詳細については、先に、図8を参照して説明した通りである。
このデコード結果の個別記憶処理(ステップ1004)においては、デコード処理が成功したか又は失敗したかが、当該画像の撮影順番と関連づけて記憶される。もっとも、先に図6を参照して説明した処理と同様に、安定度や撮像条件を記憶するようにしてもよい。
続いて、当該画像に関してデコードが成功したか否かの判定が行われ(ステップ1005)、成功と判定された場合には(ステップ1005成功)、成功タイミングの記憶と次回のデコード順序の決定を行った後(ステップ1008)、読取成功結果の出力を行って(ステップ1009)、読取成功終了に至ることとなる。ここで、『成功タイミング』とは、読取成功と判断された画像の1連続撮影における撮影順番のことを意味している。
これに対して、当該画像に関してデコード失敗と判定された場合には(ステップ1005失敗)、続いてまだデコードを試みていない画像が存在するか否かの判定が行われ(ステップ1006)、残画像なしと判定された場合には(ステップ1006なし)、読取失敗結果の出力を行った後(ステップ1010)、読取失敗終了に至ることとなる。他方、残画像の有無判定処理において、残画像ありと判定された場合には(ステップ1006あり)、デコード回数を+1更新させた後(ステップ1007)、残画像なしと判定されるまでの間(ステップ1006なし)、デコード対象メモリの取得処理(ステップ1002)、デコード処理の実行(ステップ1003)、デコード結果の個別記憶(ステップ1004)、及びデコード成功判定処理(ステップ1005)が繰り返し実行される。
次に、ステップ1008で実行される次回のデコード順を決定するための処理を示すフローチャートが図12に示されている。同図に示されるように、処理が開始されると、まず、過去の読取結果データの作成処理が実行される(ステップ1201)。この過去の読取結果データの作成処理(ステップ1201)では、過去の連続撮影回のそれぞれにおいて、何番目に撮影された画像において、デコード成功が判定されたかを示すデータ、すなわち『デコード成功画像の撮影順番履歴』の作成が行われる。
撮影回数が7回である場合における過去100回の読取結果(読取成功/読取失敗)を表にして示す図が図13に示されている。この例にあっては、1回の連続撮影毎に7回の撮像が行われ、これにより7枚の画像が取得される。具体的には、1回前の連続撮影においては5回目の撮影によって得られた画像において、2回目の連続撮影においては5回目に撮影された画像において、3回目の連続撮影においては4回目に撮影された画像において、4回目の連続撮影においては3回目に撮影された画像において、それぞれ初めてデコード成功が生じている。そして、100回のトータルで見ると、1回目の撮影により得られた画像では0回、2回目の撮影により得られた画像では0回、3回目の撮影により得られた画像では1回、4回目の撮影により得られた画像では9回、5回目の撮影により得られた画像では85回、6回目の撮像により得られた画像では5回、7回目の撮像により得られた画像では0回、とそれぞれ初めてデコードが成功したタイミング(回数)が記録されている。すなわち、この過去の読取結果データの作成処理(ステップ1201)では、『デコード成功画像の撮影順番履歴』が求められる。
続いて、ステップ1202では、撮像番号をデコード成功回数の多い順に並べることによって、デコード順序が決定される。すなわち、図13の例であれば、『5』→『4』→『6』→『3』→『1』→『2』→『7』のように、デコード順序の決定が行われる。このとき、成功回数が同じ画像番号に関しては、撮影番号の若い順に並べられる(ステップ1203,1204)。このようにして、次回のデコード順序を示すデータがメモリに記憶される(ステップ1205)。そして、ステップ1002のデコード対象メモリの取得処理においては、こうして作成されたデコード順序を示すデータに基づいて、デコード対象メモリの取得が行われる。
このように、デコード成功画像の撮影順番履歴に基づいてデコード順番を決定するようにすれば、最も成功する確率の高い画像からデコード処理を行うこととなって、デコード成功に至る時間を確率的に最短とすることができる。このことは、カメラを固定して移動するワークを撮影するような場合に大きな意味がある。すなわち、トリガ入力の到来タイミングとカメラの視野に2次元コードが到来するタイミングとは、ワーク上の2次元コード位置にバラツキがなければ、ほぼ一定のはずであるから、トリガ入力の到来を待って複数回の連続撮影を行った場合、何番目の撮影において2次元コードが現れるかの傾向はほぼ一定であるから、このようなデコード成功画像の撮影順番履歴に基づいてデコード処理の順番を決定すれば、常に最短時間でデコード成功が得られるのである。
その結果、図10に示される2次元コード読取処理(デコード順序自動修正機能付)によれば、連続撮影により得られた複数枚の画像に対して、所定の順序でデコードを試み、いずれかの画像においてデコード成功と判定されたときには、残りの画像に関してデコード処理を試みずに、直ちに読取成功結果を出力することによって、読取確実性を担保しつつも、短時間で読取を完了できることに加え、デコード順番を過去のデコード成功画像の撮影順番履歴に基づいて修正するため、確率的により一層短時間で読取を完了させることが可能となる。
次に、RUNモードにて実行される2次元コード読取処理の内、撮像間隔自動修正機能の全体を示すフローチャートが図14に示されている。同図において処理が開始されると、繰り返し撮像処理(ステップ1401)が実行される。この繰り返し撮像処理(ステップ1401)は、先に図11を参照して説明した処理と同様である。
続いて、デコード対象メモリの取得処理(ステップ1402)が実行される。このデコード対象メモリの取得においては、固定されたデコード順序(例えば、撮影順)に従って画像メモリ103からデコード対象画像の取得が行われる。続いて、図8のフローチャートを参照して先に説明したように、デコード処理の実行が行われ(ステップ1403)、取得された画像に対して所定の規則に従ってデコード処理が試みられる。続いて、デコード結果の個別記憶処理(ステップ1404)が実行されて、当該画像に関しデコード成功又は失敗が個別に記憶される。以後、デコード回数を+1ずつ更新させながら(ステップ1406)、デコード対象メモリの取得(ステップ1402)、デコード処理の実行(ステップ1403)、デコード結果の個別記憶(ステップ1404)が繰り返され、デコード画像の抽出完了が判定されるのを待って(ステップ1405)、画像に関するデコード処理は終了する。
その後、1連続撮影において、デコード成功と判定された画像の個数が『無し又は1つ』、『2つ』、『3つ以上』のいずれであるかの判定が行われる(ステップ1407)。ここで、デコード成功とされた画像が『2つ』であれば(ステップ1407『2つ』)、直ちに読取結果の出力が行われて(ステップ1410)、読取終了に至ることとなる。
これに対して、デコード成功と判定された画像の数が『なし又は1つ』と判定されると(ステップ1407『なし又は1つ』)、撮像間隔を規定するウエイト時間は1段階減少させられ(ステップ1408)、その後、読取結果の出力処理へと進んで読取結果の出力が行われて(ステップ1410)、読取終了に至ることとなる。
他方、デコード成功と判定された画像の数が『3つ以上』と判定されると(ステップ407『3つ以上』)、撮像間隔を規定するウエイト時間は1段階増加させられ(ステップ1409)、しかる後、読取結果の出力が行われて(ステップ1410)、読取終了に至ることとなる。
このように、この2次元コード読取処理(撮像間隔自動修正機能付)によれば、1連続撮影によって得られた複数の画像のうちで、デコード成功が判定された画像が、『なし又は1つ』、『2つ』、『3つ以上』のいずれであるかによって、撮影間隔を規定するウエイト時間が増減制御される。その結果、撮像間隔は常に2つの画像に二次元コードが含まれるように、フィードバック制御されることとなる。このことは、以下のような効果に繋がることとなる。
ワークの移動に伴う2次元コードとカメラ視野との関係を示す説明図が図15に示されている。同図において、時刻t1,t2,t3,t4,t5はそれぞれ撮影タイミングを示している。また、符号8はワークに付された2次元コード、9はカメラ2の視野である。
図から明らかなように、時刻t1においては、ワークに付された2次元コード8は、カメラの視野9に進入する直前にあり、カメラの視野9内に2次元コード8は存在しない。時刻t2においては、2次元コード8はカメラの視野9内に進入した直後にあり、カメラの視野9の左端に2次元コード8が存在する。時刻t3においては、2次元コード8はカメラの視野9から脱出する直前にあり、2次元コード8はカメラの視野9内の右端に存在する。時刻t4においては、2次元コード8はカメラの視野9から脱出した状態にあり、カメラの視野9内に2次元コード8は存在しない。時刻t5においては、2次元コード8はカメラの視野9をすでに大きく脱出しており、当然にして、カメラの視野9内に2次元コード8は存在しない。
このような状況を想定すると、カメラの視野9内に2次元コード8が存在するのは、時刻t2とt3とで撮影された画像だけであり、時刻t1,t4,t5で撮影された画像には2次元コードは存在しない。一方、撮影間隔をより短くしていけば、2次元コード8が含まれる画像は3個以上に増大するし、逆に撮影間隔を長くしていけば、2次元コード8を含む画像の数は1又は0となる。
ここで、連続撮影の所要時間を一定とすれば、撮影間隔を短くすればするほど取得される画像の枚数は増大して、メモリ容量が多く必要となり、装置のコストアップに繋がる。一方、撮影間隔を増大していけば、対象となる2次元コードの含まれる画像の数が減少していき、ワーク上の2次元コードの位置ズレがあったような場合、2次元コード8を含む画像が存在しない状態も想定される。読み取りを成功させるためには少なくとも2次元コード8を含む画像が1枚存在しなければならないが、1枚存在するように撮影間隔を長くすると、ワーク上の2次元コードの位置にバラツキが生じた場合、2次元コードを取得できなくなる。そこで、少なくとも2枚の画像に2次元コード8が存在する状態に撮影間隔を修正しておくと、仮にワーク上の2次元コード位置にバラツキがあったとしても、いずれかの画像には2次元コード8が含まれることとなる。このことから、図14に示される2次元コード読取処理(撮像間隔自動修正機能付)にあっては、デコード成功画像ができるだけ『2つ』となるように、ウエイト時間を増減して、フィードバック制御を行っているのである。尚、この撮像間隔自動修正機能は、RUNモードだけでなく、SETモードで用いることもできる。
次に、RUNモードで実行される2次元コード読取処理の内、異条件複数画像取得機能の全体を示すフローチャートが図16に示されている。同図において処理が開始されると、規定回数連続撮像処理(条件都度変更)が実行される(ステップ1601)。規定回数連続撮像処理(条件都度変更)の詳細を示すフローチャートが図17に示されている。
同図に示されるように、この規定回数連続撮像処理(条件都度変更)においては、撮像条件(照明態様・シャッタスピード等)の設定(変更)を行っては(ステップ1701)、撮像と画像格納を行う処理(ステップ1702)を、一定の時間間隔で(ステップ1705)、繰り返し実行する処理を(ステップ1704)、規定回数に達するまで(ステップ1703)行い、規定回数が到来するのを待って(ステップ1703到達)、処理を終了する。すなわち、この処理にあっては、撮影条件を変更しながら、複数回の連続撮影を行い、これにより得られた画像を画像メモリに順次記憶させるのである。このとき、撮像の時間間隔は一定とされている(ステップ1705)。
撮影条件である照明点灯パターンの例を示す図が図18に示されている。同図に示されるように、この例にあっては、照明器は中央の照明要素701、これを取り巻く4個の照明要素711,712,713,714、さらにこれを取り巻く4個の照明要素721,722,723,724からなる9個の照明要素を備えている。ここで照明要素とは、1個の光源または複数の光源で構成される。そしてこれらの照明要素は、選択的に点灯可能となされている。
同図(a)に示される第1点灯パターンにあっては、それら9個の照明要素は全て点灯状態にある。同図(b)に示される第2点灯パターンにあっては、中央の照明要素701を除く残りの8個の照明要素が全て点灯状態とされる。同図(c)に示される第3点灯パターンにあっては、外側に位置する4個の照明要素721,722,723,724のみが点灯状態とされる。同図(d)に示される第4点灯パターンにあっては、中央の照明要素701を取り巻く内側の4個の照明要素711,712,713,714のみが点灯状態とされる。同図(e)に示される第5点灯パターンにあっては、中央の照明要素701のみが点灯状態とされる。
このように、図18に示される照明器にあっては、9個の照明要素を選択的に点灯することによって、第1点灯パターンから第5点灯パターンまでの5つの点灯パターンを選択することができる。そして、ステップ1701に示される撮影条件の設定にあっては、それら点灯パターンのいずれか1つを採用することによって、撮影条件を設定変更するのである。
図16に戻って、規定回数連続撮像処理(条件都度変更)が終了すると、続いてデコード対象メモリの取得(ステップ1602)、デコード処理の実行(ステップ1603)、デコード結果の個別記憶(ステップ1604)が前述と同様にして実行され、しかる後、当該画像に関してデコード成功の判定が行われる(ステップ1605)。
ここで、デコードが成功と判定されれば(ステップ1605成功)、成功条件(照明態様・シャッタスピード等)の記憶を行った後(ステップ1608)、読取成功結果の出力処理(ステップ1609)を経て、読取成功終了に至ることとなる。これに対して、デコード失敗と判定された場合には(ステップ1605失敗)、続いてまだデコードを試みていない画像が存在するか否かの判定が行われ(ステップ1606)、残画像なしと判定されれば(ステップ1606なし)、読取失敗結果の出力を経て(ステップ1610)、読取失敗終了へ至ることとなる。一方、残画像が存在すれば(ステップ1606あり)、デコード回数を+1更新した後(ステップ1607)、先ほどと同様にして、デコード対象メモリの取得処理(ステップ1602)、デコード処理の実行(ステップ1603)、デコード結果の個別記憶(ステップ1604)に続いて、デコード成功か否かの判定が行われ(ステップ1605)、成功か失敗かに応じて該当する処理が実行される。
この2次元コード読取処理(異条件複数画像取得機能付)によれば、デコード対象となる複数の画像は、それぞれ撮影条件の異なるものであるから、生産ラインにおいて、2次元コードが付されたワークの表面性状(鏡面、粗面、明暗、模様の存在等)が変化したような場合にあっても、いずれかの撮影条件で得られた画像に関しては、デコード成功となる可能性が残されているため、このような被写体に対する外乱にも拘わらず、読取確実性を担保することができる。この異条件複数画像取得機能においても、RUNモードに先立って、SETモードで最適な撮影条件を抽出しておくのが好ましい。すなわち、SETモードで抽出した最適撮影条件を中心に条件を都度変更することにより、読み取り確実性が向上する。
以上の2次元コード読取処理は、移動するワークのみならず、静止状態におけるワークに関しても効果を奏する。
例えば、静止状態におけるワークであっても、外乱光などの影響で撮影状態が安定しない場合がある。そのような場合、複数回の連続撮影を行うことで、読み取り確実性を向上させることができる。
また、所定のワーク読み取り位置があり、デコードが完了するとそのワークが所定の読み取り位置から移動し、次のワークがその読み取り位置に到来するようなシステムの場合、デコード順序自動修正機能を適用すると、デコード成功の判定が出されるタイミングで次のワークの移動・読み取りが実行されるため、次のワークの読み取り開始迄の間隔を短くすることができる。
また、ワークの表面性状が変化する場合には、異条件複数画像取得機能を適用することにより、読み取り確実性を向上させることができる。
更に、デコード順序自動修正機能と異条件複数画像取得機能を共に適用することにより、ワークの表面性状が変化する場合の読み取りを確実に行い得ると共に、次のワークの読み取り迄の間隔を短くすることができる。
本発明装置のシステム構成を示す模式的外観図である。 コントローラの内部構成を中心として示すブロック図である。 CPUで実行される処理の全体を概略的に示すゼネラルフローチャートである。 撮影条件自動設定処理のゼネラルフローチャートである。 規定回数連続撮影処理(条件都度変更)の詳細を示すフローチャートである。 全撮像画像対象デコード処理の詳細を示すフローチャートである。 最適条件決定処理の詳細を示すフローチャートである。 デコード処理の実行内容を示すフローチャートである。 ティーチング成功終了時のモニタ表示例を示す図である。 2次元コード読取処理(デコード順序自動修正機能付)の全体を示すフローチャートである。 繰り返し撮像処理の詳細を示すフローチャートである。 次回のデコード順序を決定するための処理を示すフローチャートである。 撮像回数が7回行う場合の、過去100回の読取り結果を表にして示す図である。 2次元コード読取処理(撮像間隔自動修正機能付)の全体を示すフローチャートである。 ワークの移動に伴う2次元コードとカメラ視野との関係を示す説明図である。 2次元コード読取処理(異条件複数画像取得機能付)の全体を示すフローチャートである。) 規定回数連続撮像処理(条件都度変更)の詳細を示すフローチャートである。 照明点灯パターンの一例を示す図である。 移動体上の2次元コード読取時の問題点を示す説明図である。
符号の説明
1 コントローラ
2 カメラ
3 トリガタイミング検知センサ
4 ハンディコンソール
5 ビデオモニタ
6a プログラマブルコントローラ
6b パソコン
6 上位システム
8 二次元コード
9 カメラの視野
101 CPU
102 メモリ
103 画像メモリ
104 画像入出力制御部
105 コンソールインタフェース
106 モニタインタフェース
107 カメラインタフェース
108 照明インタフェース
109 トリガセンサインタフェース
110 画像処理部
111 CPUバス
112 内部バス
113 通信インタフェース
701,711〜714,721〜724 照明要素

Claims (17)

  1. 画像を取得するカメラと、
    カメラにより取得される画像を複数枚記憶可能な画像メモリと、
    カメラから取得された画像に含まれる光学コードをデコードするための画像処理部と、
    所定の撮影指令が到来するのを待って、所定の撮像条件にてカメラを連続撮影させて複数枚の画像を取得しこれらを画像メモリに格納するマルチ画像取得手段と、
    画像メモリに格納された複数枚の画像を所定の順番で1枚ずつ選択して画像処理部に与えることで当該画像に含まれる光学コードのデコードを試み、いずれかの画像に関してデコード成功が判定されるのを待って、残りの画像に関するデコードを試みることなく、デコード成功としてデコード結果を出力するマルチ画像デコード手段と、を含むことを特徴とする光学コード読取装置。
  2. 画像メモリに格納された複数枚の画像を1枚ずつ選択してデコードする際の所定の順番を、デコード成功画像の撮影順番履歴に基づいて変更するデコード順番変更手段を有する、ことを特徴とする請求項1に記載の光学コード読取装置。
  3. 前記カメラは、シャッタースピードを変化可能であり、
    カメラの被写体を照らしかつ照明態様を変化させることが可能な照明器を更に具備し、
    前記マルチ画像取得手段は、カメラのシャッタースピード若しくは照明器の照明態様の少なくとも何れか一方により規定される所定の撮像条件にてカメラを連続撮影させて複数枚の画像を取得しこれらを画像メモリに格納することを特徴とする請求項1又は2に記載の光学コード読取装置。
  4. 画像を取得するカメラと、
    カメラにより取得される画像を複数枚記憶可能な画像メモリと、
    カメラから取得された画像に含まれる光学コードをデコードするための画像処理部と、
    所定の撮影指令が到来するのを待って、所定の撮像条件にてカメラを連続撮影させて複数枚の画像を取得しこれらを画像メモリに格納するマルチ画像取得手段と、
    画像メモリに格納された複数枚の画像を所定の順番で1枚ずつ選択して画像処理部に与えることで当該画像に含まれる光学コードのデコードを試み、少なくとも1つの画像においてデコード成功と判定されるときには、デコード成功としてデコード結果を出力するマルチ画像デコード手段と、
    前記連続撮影における撮影間隔を、過去の1連続撮影に際してデコード成功と判定された画像の個数に基づいて変更する撮影間隔変更手段と、を有する、ことを特徴とする光学コード読取装置。
  5. 連続撮影における撮影間隔を、指定された撮影間隔に応じて変更する、撮影間隔変更手段を有する、ことを特徴とする請求項4に記載の光学コード読取装置。
  6. 連続撮影における撮影間隔を、連続撮影所要時間は固定したまま指定された撮影回数に応じて変更する、撮影間隔変更手段を有する、ことを特徴とする請求項4に記載の光学コード読取装置。
  7. シャッタスピードを変化させることが可能なカメラと、
    カメラの被写体を照らしかつ照明態様を変化させることが可能な照明器と、
    カメラにより取得される画像を複数枚記憶可能な画像メモリと、
    カメラから取得された画像に含まれる光学コードをデコードするための画像処理部と、
    所定の撮影指令が到来するのを待って、カメラのシャッタースピード若しくは照明器の照明態様の少なくとも何れか一方により規定される所定の撮像条件にてカメラを連続撮影させて複数枚の画像を取得しこれらを画像メモリに格納するマルチ画像取得手段と、
    画像メモリに格納された複数枚の画像を所定の順番で1枚ずつ選択して画像処理部に与えることで当該画像に含まれる光学コードのデコードを試み、少なくとも1つの画像においてデコード成功と判定されるときには、デコード成功としてデコード結果を出力するマルチ画像デコード手段と、を含むことを特徴とする光学コード読取装置。
  8. 所定の撮像条件が、1連続撮影中に変化する撮影条件である、請求項3又は7に記載の光学コード読取装置。
  9. 所定の撮像条件が、撮影条件を変化させつつ得られた過去のデコード成功画像同士の画質比較により求められた最適撮影条件である、請求項1乃至7の何れかに記載の光学コード読取装置。
  10. シャッタスピードを変化させることが可能なカメラと、
    カメラの被写体を照らしかつ照明態様を変化させることが可能な照明器と、
    カメラにより取得される画像を複数枚記憶可能な画像メモリと、
    カメラから取得された画像に含まれる光学コードをデコードするための画像処理部と、
    カメラのシャッタースピード若しくは照明器の照明態様の少なくとも何れか一方により規定される所定の撮像条件を変化させつつカメラを連続撮影させて複数枚の画像を取得しこれらを画像メモリに格納するマルチ画像取得手段と、
    画像メモリに格納された複数枚の画像の全てに対してデコードを試み、デコード成功又は不成功を記録するマルチ画像デコード結果記憶手段と、
    デコード成功画像同士の画質を比較することにより、画質の最も良好な1の画像に対する撮影条件を最適撮影条件として出力する最適撮影条件検索手段と、
    を有する、光学コード読取装置。
  11. 表示器を有し、該表示器には、デコード成功画像の中で画質の最も良好な画像と、その画像に対応する付帯情報とが表示される、ことを特徴とする請求項10に記載の光学コード読取装置。
  12. 付帯情報には、照明器における点灯パターンが含まれている、ことを特徴とする請求項11に記載の光学コード読取装置。
  13. 所定の撮影指令が到来するのを待って、所定の撮影条件にてカメラを連続撮影させて複数枚の画像を取得し、しかるのち、取得された複数枚の画像を所定の順番で1枚ずつ選択してデコードを試み、いずれかの画像に関してデコード成功が判定されるのを待って、残りの画像に関するデコードを試みることなく、デコード成功としてデコード結果を出力する、ことを特徴とする光学コード読取方法。
  14. デコードのために複数枚の画像を1枚ずつ選択する際の所定の順番を、デコード成功画像の撮影順番履歴に基づいて変更する、ことを特徴とする請求項13に記載の光学コードの読取方法。
  15. 所定の撮影指令が到来するのを待って、所定の撮影条件にてカメラを連続撮影させて複数枚の画像を取得し、しかるのち、取得された複数枚の画像を所定の順番で1枚ずつ選択してデコードを試み、少なくとも1つの画像においてデコード成功と判定されるときには、デコード成功としてデコード結果を出力し、さらに前記連続撮影における撮影間隔を、過去の1連続撮影に際してデコード成功と判定された画像の個数に基づいて変更する、ことを特徴とする光学コードの読取方法。
  16. 所定の撮影指令が到来するのを待って、1連続撮影中に変化する撮影条件にてカメラを連続撮影させて複数枚の画像を取得し、しかるのち、取得された複数枚の画像を所定の順番で1枚ずつ選択してデコードを試み、少なくとも1つの画像においてデコード成功が判定されるときには、デコード成功としてデコード結果を出力する、ことを特徴とする光学コード読取方法。
  17. 所定の撮影指令が到来するのを待って、撮像条件を変化させつつカメラを連続撮影させて複数枚の画像を取得し、しかるのち、取得された複数枚の画像の全てに対してデコードを試み、デコード成功画像同士の画質を比較することにより、画質の最も良好な1の画像に対する撮影条件を最適撮影条件として出力する、ことを特徴とする光学コード読取方法。
JP2003381375A 2002-12-10 2003-11-11 光学コード読取方法及び装置 Expired - Lifetime JP3548783B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003381375A JP3548783B2 (ja) 2002-12-10 2003-11-11 光学コード読取方法及び装置
US10/731,675 US7100830B2 (en) 2002-12-10 2003-12-08 Method of and device for reading optical code
US11/449,422 US7278573B2 (en) 2002-12-10 2006-06-07 Device for reading optical code

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002358330 2002-12-10
JP2003381375A JP3548783B2 (ja) 2002-12-10 2003-11-11 光学コード読取方法及び装置

Publications (2)

Publication Number Publication Date
JP2004206687A JP2004206687A (ja) 2004-07-22
JP3548783B2 true JP3548783B2 (ja) 2004-07-28

Family

ID=32599248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003381375A Expired - Lifetime JP3548783B2 (ja) 2002-12-10 2003-11-11 光学コード読取方法及び装置

Country Status (2)

Country Link
US (2) US7100830B2 (ja)
JP (1) JP3548783B2 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4192847B2 (ja) * 2004-06-16 2008-12-10 カシオ計算機株式会社 コード読取装置およびプログラム
US8059153B1 (en) * 2004-06-21 2011-11-15 Wyse Technology Inc. Three-dimensional object tracking using distributed thin-client cameras
JP3846501B2 (ja) * 2004-12-08 2006-11-15 オムロン株式会社 光学情報コード読取装置
US7664383B2 (en) * 2007-01-18 2010-02-16 Sony Ericsson Mobile Communications Ab Multiple frame photography
JP2009109440A (ja) * 2007-10-31 2009-05-21 Chubu Fuji Denki Kk 外観検査処理システム、そのプログラム
JP5076847B2 (ja) * 2007-12-01 2012-11-21 富士通株式会社 バーコードリーダ
JP5007960B2 (ja) * 2007-12-20 2012-08-22 株式会社デンソーウェーブ 光学的情報読取装置
JP2009187060A (ja) * 2008-02-01 2009-08-20 Panasonic Electric Works Co Ltd コード読み取り装置及びそれを用いたダイレクトマーキングシステム
US8464950B2 (en) 2008-12-22 2013-06-18 Cognex Corporation Fast vision system
JP5581157B2 (ja) * 2010-09-17 2014-08-27 株式会社キーエンス 光学情報読取装置の照明設定支援装置
JP2012064179A (ja) * 2010-09-17 2012-03-29 Keyence Corp 光学情報読取装置用のled照明装置
JP5581156B2 (ja) * 2010-09-17 2014-08-27 株式会社キーエンス 光学情報読取装置の照明設定支援装置
US9483677B2 (en) * 2010-09-20 2016-11-01 Hid Global Corporation Machine-readable symbols
US8479998B2 (en) 2011-01-31 2013-07-09 Hand Held Products, Inc. Terminal having optical imaging assembly
US8879639B2 (en) * 2011-01-31 2014-11-04 Hand Held Products, Inc. Adaptive video capture decode system
JP5430615B2 (ja) * 2011-06-28 2014-03-05 株式会社椿本チエイン 試料載置場所読取装置及びコンピュータプログラム
JP5863550B2 (ja) * 2012-04-24 2016-02-16 株式会社椿本チエイン 試料載置場所読取装置及びコンピュータプログラム
US8978981B2 (en) 2012-06-27 2015-03-17 Honeywell International Inc. Imaging apparatus having imaging lens
JP5747064B2 (ja) * 2013-10-11 2015-07-08 株式会社キーエンス 光学情報読取装置及び光学情報読取装置用の設定装置
JP5833195B2 (ja) * 2014-07-09 2015-12-16 株式会社キーエンス 光学情報読取装置の照明設定支援装置
JP5701433B2 (ja) * 2014-07-09 2015-04-15 株式会社キーエンス 光学情報読取装置の照明設定支援装置
DE102016114745B4 (de) * 2015-08-10 2022-12-22 Cognex Corporation Systeme und Verfahren zum Decodieren eines Symbols mittels Bildern des Symbols
US10452885B1 (en) * 2018-04-17 2019-10-22 Zebra Technologies Corporation Optimized barcode decoding in multi-imager barcode readers and imaging engines
CN109472178B (zh) * 2018-09-18 2021-12-14 广州思林杰科技股份有限公司 二维码扫描方法
JP7410766B2 (ja) 2020-03-19 2024-01-10 株式会社キーエンス 光学式情報読取装置、光学式情報読取方法、光学式情報読取プログラム及びコンピュータで読取可能な記録媒体並びに記録した機器
CN112101060B (zh) * 2020-10-28 2023-06-23 山东青橙视联信息科技有限公司 基于平移不变性和小区域模板匹配的二维码定位方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6860428B1 (en) * 1998-09-11 2005-03-01 Robotic Vision Systems Inc. Optical symbologies imager
US5359185A (en) * 1992-05-11 1994-10-25 Norand Corporation Chromatic ranging method and apparatus for reading optically readable information over a substantial range of distances
JP3235249B2 (ja) * 1992-12-18 2001-12-04 株式会社デンソー 光学的情報読取り装置
US5815200A (en) * 1994-07-26 1998-09-29 Metanetics Corporation Extended working range dataform reader with reduced power consumption
US5572006A (en) * 1994-07-26 1996-11-05 Metanetics Corporation Automatic exposure single frame imaging systems
US5717195A (en) * 1996-03-05 1998-02-10 Metanetics Corporation Imaging based slot dataform reader
JP2834113B1 (ja) * 1997-06-16 1998-12-09 日本電気精器株式会社 コード読取方法及び装置
US6053408A (en) * 1997-12-02 2000-04-25 Telxon Corporation Multi-focal length imaging based portable dataform reader
US6598797B2 (en) * 1998-09-11 2003-07-29 Jason J. Lee Focus and illumination analysis algorithm for imaging device
ATE239268T1 (de) * 1998-12-22 2003-05-15 Datalogic Spa Verfahren zur automatischen regulierung der eigenschaften eines optischen codelesesystems
US7118042B2 (en) * 2002-01-18 2006-10-10 Microscan Systems Incorporated Method and apparatus for rapid image capture in an image system

Also Published As

Publication number Publication date
US20060226227A1 (en) 2006-10-12
US20040118922A1 (en) 2004-06-24
US7100830B2 (en) 2006-09-05
JP2004206687A (ja) 2004-07-22
US7278573B2 (en) 2007-10-09

Similar Documents

Publication Publication Date Title
JP3548783B2 (ja) 光学コード読取方法及び装置
US20200374455A1 (en) Adaptive camera control for reducing motion blur during real-time image capture
CN105809620B (zh) 用于线性全景图像拼接的预览图像获取用户界面
KR102086884B1 (ko) 로봇 제어 장치 및 로봇 제어 방법
US8542930B1 (en) Mark reader configured to prioritize images
US7841532B2 (en) Bar code reading device having image processing mode
JP2006148260A (ja) 自動追尾装置、画像異常検出装置、自動追尾方法、画像異常検出方法、プログラムおよび記憶媒体
JP5303420B2 (ja) 光学的情報読取装置の撮像条件設定装置及び撮像条件設定方法
JP2008015915A (ja) 画像処理方法、入力インタフェース装置
US11823005B2 (en) Optical reading device
JP2005196543A (ja) 光学情報読取装置
JP6065477B2 (ja) 画像処理装置及びプログラム
US20230289545A1 (en) Optical information reading device
US11233936B2 (en) Method and electronic device for recommending image capture mode
US9104935B1 (en) Mark reader configured to prioritize images
JP2021108022A (ja) 画像処理装置およびその制御方法、プログラムならびに画像処理システム
JP5149744B2 (ja) 画像検索装置、画像検索システム、画像検索方法およびプログラム
JP7044062B2 (ja) 対象物認識システム、対象物認識装置、対象物認識方法、及びプログラム
JP2763830B2 (ja) 指紋入力装置
JP2011191943A (ja) 画像処理装置および画像処理プログラム
CN109660712A (zh) 选择视频序列的帧的方法、系统和装置
US11854163B2 (en) Optical information reading device
JP2006134159A (ja) 光学的情報読取装置
JP7091974B2 (ja) 画像処理システム、画像処理装置、画像処理方法、および画像処理プログラム
US11295100B2 (en) Optical reading device

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040323

R150 Certificate of patent or registration of utility model

Ref document number: 3548783

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090430

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100430

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110430

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140430

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term