JP3191999B2 - バーコードシンボル読取装置 - Google Patents

バーコードシンボル読取装置

Info

Publication number
JP3191999B2
JP3191999B2 JP24192992A JP24192992A JP3191999B2 JP 3191999 B2 JP3191999 B2 JP 3191999B2 JP 24192992 A JP24192992 A JP 24192992A JP 24192992 A JP24192992 A JP 24192992A JP 3191999 B2 JP3191999 B2 JP 3191999B2
Authority
JP
Japan
Prior art keywords
label
coordinate
frame memory
barcode symbol
symbol
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 - Fee Related
Application number
JP24192992A
Other languages
English (en)
Other versions
JPH0696244A (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.)
Olympus Corp
Original Assignee
Olympus Optic Co Ltd
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 Olympus Optic Co Ltd filed Critical Olympus Optic Co Ltd
Priority to JP24192992A priority Critical patent/JP3191999B2/ja
Priority to US08/117,784 priority patent/US5430283A/en
Priority to KR1019930017929A priority patent/KR100309245B1/ko
Priority to CN93117503A priority patent/CN1038789C/zh
Priority to TW082109322A priority patent/TW230810B/zh
Publication of JPH0696244A publication Critical patent/JPH0696244A/ja
Application granted granted Critical
Publication of JP3191999B2 publication Critical patent/JP3191999B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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
    • 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/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
    • 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/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
    • 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/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1456Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、バーコードシンボルを
読み取るためのバーコードシンボル読取装置に係り、特
に、ビデオカメラ等の2次元撮像デバイスを使用したバ
ーコードシンボル読取装置に関する。
【0002】
【従来の技術】現在、バーコードシンボルは、多くの国
で採用されており、その種類も非常に多い。代表的なバ
ーコードシンボルとしては、JAN/UPC/EANコ
ード,ITF(interleaved 2 of 5)コード,CODE
39,NW−7コード,CODE128,等がある。ま
た、最近では、より多くの情報を表現したい、より狭い
ところに貼りたい等の要求から、情報量の多い、記録密
度の高い2次元バーコードシンボルも提案され始めてい
る。このような2次元バーコードシンボルとしては、C
ODE16K,CODE49,PDF417,DATA
CODE,等がある。
【0003】また、バーコードシンボルを読み取るため
の装置に関して言えば、JAN/EANコード,ITF
(inter leaved 2 of 5)コード,CODE39,NW−
7コード,CODE128,等(これらは、2次元バー
コードシンボルに対して、1次元バーコードシンボルと
呼ばれる)を読み取るための装置は、種類が多く、読み
取り技術は既に確立されている。その装置の代表的なタ
イプとしては、ペンタイプ,タッチタイプ,レーザータ
イプがある。一方、2次元バーコードシンボルを読み取
るための装置は、種類が少なく、その読み取り技術もま
だ確立されていないのが現状である。
【0004】しかし、バーコードシンボルの読み取り方
法の基本は、2次元バーコードシンボルの場合でも、従
来の1次元バーコードの場合とはほとんど同じである。
すなわち、光源よりバーコードシンボルに照射し、バー
コードシンボルで反射された光を読取装置内部の受光素
子に集光させる。そして、この集光された信号を、マイ
クロコンピュータ等によって構成される電気回路にてデ
コード処理することにより、バーコードシンボルを読み
取るわけである。
【0005】2次元バーコードシンボルを読み取るため
の装置の一つに、スタンドタイプ(固定タイプ)と呼ば
れる種類のものがある。これは、バーコードシンボルを
読み取る装置が固定されているもので、操作者がバーコ
ードシンボルの記録されているシート或いは商品等を読
取装置の下に持って行き、該装置に読み取ってもらうも
のである。
【0006】図18は、従来のスタンドタイプ(固定タ
イプ)の2次元バーコードシンボル読取装置の外観図で
ある。このバーコードシンボル読取装置は、カメラスタ
ンド5,デコーダボックス6,及びモニタ9により構成
されている。
【0007】このうち、上記カメラスタンド5は、ビデ
オカメラ2,該ビデオカメラ2を支える支柱3,及び操
作者がバーコードシンボル1の記録されているシート或
いは商品等を載せるベース板4により構成されている。
【0008】また、上記デコーダボックス6は、カメラ
ケーブル8を介して上記ビデオカメラ2の出力を受け、
そのビデオカメラ出力信号からバーコードシンボル1の
記録内容をデコードし、ホストコンピュータ7や図示し
ない端末装置へバーコードシンボル1の記録内容を転送
するものである。
【0009】また、上記モニタ9は、デコーダボックス
6のビデオ出力を入力するもので、操作者がシート或い
は商品等に記録されているバーコードシンボル1が確実
にビデオカメラ2の視野内に入っているかどうかを確認
するためのものであり、バーコードシンボル1が大きい
場合には必要になる。
【0010】
【発明が解決しようとする課題】このようにモニタ9を
使用して、シート或いは商品等に記録されているバーコ
ードシンボル1が確実にビデオカメラ2の視野内に入っ
ているかどうかを確認する装置では、操作者がモニタ9
の画面を見て、視野内に入っているかどうか判断しなけ
ればならないものであった。ところが、この判断の基準
は操作者によって個人差が大きく、同じ画面表示を見て
も、或る操作者はそのままデコード処理を進めてしまう
のに、別の操作者はバーコードシンボル1の記録されて
いるシート或いは商品等を置き直すかもしれない。これ
は、前者の操作者の場合、デコードが不可能であるのに
そのままデコード処理を進め、デコードができないこと
を報知するブザーなどを待ってバーコードシンボル1の
記録されているシート或いは商品等を置き直すというこ
とになるので、デコード処理の時間が無駄となる。逆
に、後者の操作者の場合には、特に、エラー訂正機能の
ある2次元バーコードにおいては、バーコードシンボル
1がビデオカメラ2の視野内に完全に入っておらず一部
欠けた状態でもデコード可能こともあり、よってデコー
ド可能であっても、バーコードシンボル1の記録されて
いるシート或いは商品等を置き直すこととなり、その手
間及び時間の無駄である。
【0011】本発明は、上記の点に鑑みてなされたもの
で、個人差なく、シート或いは商品等に記録されている
バーコードシンボルが確実にビデオカメラの視野内に入
っているかどうかを判断できる2次元バーコードシンボ
ル読取装置を提供することを目的とする。
【0012】
【課題を解決するための手段】上記目的を達成するた
め、本発明によるバーコードシンボル読取装置は、バー
とスペースとからなるバーコードシンボルを撮像するた
めの撮像手段と、前記撮像手段によるバーコードシンボ
ルの撮像情報を記憶する記憶手段と、前記記憶手段の出
力に基づいて、前記撮像手段により撮像されたバーコー
ドシンボルの前記撮像手段の撮像領域における位置を検
出する位置検出手段と、前記位置検出手段の出力によ
り、前記撮像手段により撮像されたバーコードシンボル
の前記撮像手段の撮像領域からのずれの方向を判断し、
ずれの方向を表示するずれ方向表示手段とを備えること
を特徴としている。
【0013】
【作用】即ち、本発明によるバーコードシンボル読取装
置では、位置検出手段により、記憶手段の出力に基づい
て、撮像手段により撮像されたバーコードシンボルの前
記撮像手段の撮像領域における位置を検出し、この位置
検出手段の出力により、ずれ方向表示手段は、前記撮像
手段により撮像されたバーコードシンボルの前記撮像手
段の撮像領域からのずれの方向を判断して、そのずれの
方向を表示する。
【0014】従って、このずれ方向表示手段によって
バーコードシンボルのずれの方向が表示されるので、
要なときにのみ、操作者へバーコードシンボルの位置を
直すことを指示できるようになる。
【0015】
【実施例】以下、図面を参照して、本発明の実施例を説
明する。
【0016】[第1実施例]図1の(A)は第1実施例
のバーコードシンボル読取装置の外観図であり、(B)
はブロック構成図である。
【0017】本実施例のバーコードシンボル読取装置
は、カメラスタンド5とデコーダボックス6により構成
されている。この内、カメラスタンド5は、ビデオカメ
ラ2,該ビデオカメラ2を支える支柱3,及びバーコー
ドシンボル1が記録されているシート或いは商品等を載
せるベース板4により構成されている。また、上記デコ
ーダボックス6は、カメラケーブル8を介して上記ビデ
オカメラ2の出力を受け、このビデオカメラ出力信号か
らバーコードシンボル位置を検出し、ラベル位置表示器
65によりバーコードシンボルの位置を表示したり、バ
ーコードシンボル1の記録内容をデコードし、ホストコ
ンピュータ7や図示しない端末装置へバーコードシンボ
ル1の記録内容を転送するものである。
【0018】このデコーダボックス6は、図1の(B)
に示すような電気系の回路が組み込まれている。すなわ
ち、ビデオ回路61,フレームメモリ62,データ処理
回路63,ホストインタフェース回路64,及びラベル
位置表示器65により構成されている。また、データ処
理回路63は、位置検出部63A,ずれ方向判断部63
B,表示制御部63C,及びデコード部63Dを有して
いる。
【0019】次に、このような構成における動作を、こ
の図1の(B)を参照して、詳しく説明する。
【0020】図示しない照明装置によりバーコードシン
ボル1を含むシート或いは商品等が照明され、その反射
光がビデオカメラ2に入射される(図1の(A)参
照)。ビデオカメラ2では、光信号を電気信号に変換
し、さらに同期信号などを付加し、カメラケーブル8を
経由してビデオ信号としてデコーダボックス6の中のビ
デオ回路61へ送る。
【0021】ビデオ回路61では、入力されたビデオ信
号から同期信号を分離し、さらにA/D変換してディジ
タル化する。このディジタル化された信号は、フレーム
メモリ62へ格納される。
【0022】フレームメモリ62へ格納されたバーコー
ドシンボル1を含むシートの画像は、データ処理回路6
3の位置検出部63Aによって走査され、フレームメモ
リ62から画像情報が読み出され、バーコードシンボル
1がフレームメモリ62の画面枠内に、つまりビデオカ
メラ2の視野領域内にあるかどうかの検出、並びに、バ
ーコードシンボル1があれば、そのバーコードシンボル
1の上記視野領域内における位置の検出が実施される。
【0023】このバーコードシンボル1の位置の検出
後、データ処理回路63のずれ方向判断部63Bは、上
記位置検出部63Aで検出されたバーコードシンボル1
の位置が、上記ビデオカメラ2の視野領域のどちらの方
向にずれているかを判断し、表示制御部63Cは、この
ずれ方向の判断結果に基づいて、ラベル位置表示器65
へバーコードシンボル1の位置を出力する。
【0024】さらに、データ処理回路63のデコード部
63Dは、バーコードシンボル1のデーコードを実施す
る。
【0025】このデコード部63Dによってバーコード
シンボル1がデコードできた時には、ホストインタフェ
ース回路64を制御して、その情報を図1の(A)のホ
ストコンピュータ7或いは図示しない端末装置へ転送す
る。
【0026】なおここで、上記データ処理回路63は、
上記ビデオ回路61へ、フレームメモリ62への画像の
取り込みを指示する取り込み開始信号を出力したりとい
ったことも行う。
【0027】次に、図2の(A)を用いて、バーコード
シンボル1のシンボル構造を簡単に説明する。ここで
は、バーコードシンボルとして、2次元バーコードシン
ボルPDF417を用いている。
【0028】同図は、PDF417のラベル構造を示し
ている。このバーコードシンボル1は、バーとスペース
の組合わせでなるバーコードキャラクタ群で構成された
復号されるべき情報成分の領域であるラベル部11と、
その前後に配されたスタート/ストップキャラクタであ
るスタートコード12及びストップコード13とを有し
ている。そして、1コードは、ストップコード13を除
いて4つのバーとスペースからなっており、ストップコ
ード13は、5つのバーと4つのスペースとからなって
いる。また、スタート及びストップコード12,13
は、“ビッグバー”と呼ばれる大きなバー12A,13
Aから始まっている。
【0029】ラベル部11は、スタートコード12及び
ストップコード13の隣に存在するロウインディケータ
11Aと呼ばれるコードと、それらの間に挟まれた実際
のデータが記述されている複数のデータカラム11Bで
なるラベルマトリックス11Cとにより構成される。ロ
ウインディケータ11Aには、ラベルのロウ方向,カラ
ム方向のサイズや、セキュリティレベル等が記述されて
いる。ここで、セキュリティレベルとは、PDF417
が有しているエラー訂正能力のレベルのことであり、9
段階のレベルを有している。従って、このロウインディ
ケータの情報を解読すれば、バーコードシンボルの情報
サイズ等が決定できる。
【0030】なお、この図2の(A)は、4×2のラベ
ルマトリックスを有するバーコードシンボルを示してい
る。
【0031】今、仮想的に、フレームメモリ62の画素
配列に、4×1のラベルマトリックスを有するPDF4
17のバーコードシンボル画像を投影した模式図を図2
の(B)に示す。以下、フレームメモリ62に投影され
たバーコードシンボル1の投影像をバーコードラベル6
6と称することにする。例えば、ラベル66を検出する
とは、フレームメモリ62に投影されたバーコードシン
ボル1の投影像からバーコードシンボルを検出すること
を意味する。
【0032】ここでデータ処理回路63では、以下に説
明するようなアルゴリズムに基づいて、ラベル検出を行
い、ラベル情報を読出し、複号を行って、図1の(A)
のホストコンピュータ7或いは図示しない端末装置へ転
送する。
【0033】即ち、図3は、このデータ処理回路63の
動作アルゴリズムの概略を示すフローチャートである。
なお、本明細書中に於いては、フローチャートは、プロ
グラミング言語Cの記述方式に従って書かれている。
【0034】まず、前処理ルーチンをコールして(ステ
ップS1)、種々のパラメータを初期設定する。
【0035】その後、画像取り込みルーチンをコールす
る(ステップS2)。この画像取り込みルーチンでは、
ビデオ回路61へ取り込み開始信号を出力して、画像を
フレームメモリ62に連続的に2画面(Bank0,B
ank1)取り込む。即ち、フレームメモリ62は、2
画面分の容量を持っていることになる。ここで、連続的
にとは、まず1画面の画像データをBank0に格納
し、次に、1画面の画像データをBank1に格納する
ということである。この際、最初に取り込み開始信号を
出力してから最新のフレームのデータをBank0に取
り込み、次にその取り込みが終了した後、再度取り込み
開始信号を出力して最新のフレームのデータをBank
1に取り込むため、2画面のデータ間には、撮像の時間
差が存在する(この時間差は、Bank0に格納する時
間+0〜1/30秒)。
【0036】次に、詳細は後述するようなラベル検出ル
ーチンをコールして(ステップS3)、この取り込まれ
た画像データの内のBank0を用いてラベルが存在す
るかをチェックし、さらにはラベルが存在するならばラ
ベル情報を検出し、さらにラベル位置をも判断して、ラ
ベル位置表示器65へラベル位置を表示させる。操作者
は、ラベル位置表示器65を確認することにより、ラベ
ルが、ビデオカメラ2の視野内に全く入っていないの
か、右にずれているのか、左にずれているのか、等を確
認することができ、適切な位置にバーコードシンボル1
を含むシート或いは商品等を移動させることができる。
【0037】そして、上記ステップS3に於けるラベル
検出処理の結果を判断し(ステップS4)、ラベルが存
在しない場合には、再度、上記ステップS1に制御を移
して前処理ルーチンをコールする。
【0038】一方、ラベルが存在するならば、手ぶれ検
出ルーチンをコールして(ステップS5)、上記ステッ
プS2で取り込まれた画像データの内のBank1をも
さらに用いて手ぶれの影響を推定する。ここで、手ぶれ
とは、バーコードシンボル1を含むシート或いは商品等
を当該バーコードシンボル読取装置にかざした場合に、
高い頻度で起こる画像のぶれのことを指す。
【0039】次に、上記ステップS5に於ける検出の結
果を判断し(ステップS6)、手ぶれを起こしている場
合には、再度、上記ステップS1に制御を移して前処理
ルーチンをコールする。
【0040】手ぶれを起こしていない場合には、しきい
値決定ルーチンをコールして(ステップS7)、ステッ
プSBの最適スキャンルーチン及びステップSDのスキ
ップスキャンルーチンに於いて、処理対象となるライン
データからエッジ間の幅情報を抽出するための処理に利
用されるしきい値を求める。
【0041】次に、ロウナンバ及びカラムナンバ決定ル
ーチンをコールして(ステップS8)ラベル66のロウ
インディケータ11Aを読み取り、ラベルサイズ等を決
定する。
【0042】そして、上記ステップS8の決定ルーチン
に於いてラベルサイズ等が決定されたかどうかを判断し
(ステップS9)、決定されていない場合は、再度、上
記ステップS1に制御を移して前処理ルーチンをコール
する。
【0043】一方、ラベルサイズ等が決定された場合に
は、スキャン方程式決定ルーチンをコールして(ステッ
プSA)、ラベル66を全面走査するための各種変数を
定義する。
【0044】次に、最適スキャンをコールして(ステッ
プSB)、上記ステップSAで定義された各種変数を用
いてラベルを最適な間隔で全面走査し、ラベル情報を読
み取る。なおここで、最適スキャンとは、ラベル欠陥が
ない場合に、最も計算量が少なくてラベル情報を全て確
定できるような最適な間隔でのスキャンのことをいうも
のとする。
【0045】そして、上記ステップSBの最適スキャン
で読み取った情報でデコード可能かどうかを判断し(ス
テップSC)、デコード可能の場合は、ステップSFの
デコード処理に制御を移す。
【0046】また、デコード不能の場合は、スキップス
キャンルーチンをコールする(ステップSD)。このス
キップスキャンルーチンでは、上記ステップSAで定義
された各種変数を用いてラベルを全面走査し、ラベル情
報を読み取る。
【0047】そして、このステップSDで読み取った情
報でデコード可能かどうかを判断し(ステップSE)、
デコード可能の場合は、ステップSFのデコード処理に
制御を移す。
【0048】また、デコード不能の場合は、再度、上記
ステップS1に制御を移して前処理ルーチンをコールす
る。
【0049】ステップSFでは、上記ステップSBの最
適スキャンルーチンもしくは上記ステップSDのスキッ
プスキャンルーチンに於いて読み取った情報のチェック
を行う。このチェックは単にデコード結果の確認のみの
場合(JAN/UPC/EANコード,ITF(Interl
eaved 2 of 5)コード,CODE39,NW−7コー
ド,CODE128,等の従来の1次元バーコードのと
き)もあるが、エラー訂正を伴う場合(PDF417や
DATA CODE等の2次元バーコードシンボルのと
き)もある。その後、同ステップSFにて、ホストイン
タフェース回路64を制御して、その読み取った情報を
ホストコンピュータ7或いは図示しない端末装置へ転送
する。
【0050】なお、各ルーチンの詳細については、本出
願人が提案している特願平4−133783号に詳しく
記載されている。
【0051】従って、ここでは、本実施例発明の特徴部
である上記ステップS3でコールされるラベル検出ルー
チンのみを、図4のフローチャート及び図5の(A)の
ラベル投影像の図を参照して説明する。このラベル検出
ルーチンは、ラベルの有無を検出することと、ラベルの
位置情報を検出すること即ちラベルに平行に画像データ
をフレームメモリ62から抽出するための抽出範囲(変
数TOP及びBOTTOM)とラベルの傾き(変数SL
OPE)を求めることとの2種類のラベル検出処理を含
む。ここで、変数TOPの値はラベルのトップ座標を示
し、また変数BOTTOMの内容はラベルのボトム座標
を示す。また変数SLOPEの内容はラベルの傾きを示
す。
【0052】このラベル検出ルーチンに於いては、ま
ず、処理対象をフレームメモリ62のBank0とする
(ステップS31)。次にラベル検出フラッグを初期化
する(ステップS32)。このラベル検出フラッグは、
スタート検出フラッグstart_flagとストップ
検出フラッグstop_flagからなる。これらラベ
ル検出フラッグは、後述する他の処理に於いて、スター
トコード12及びストップコード13のどちらを選択し
て処理すべきかを指し示すために用いられる。なぜなら
ば、スタートコード12とストップコード13の両方が
検出された場合に、より信頼性の高い方を選択する必要
があるからである。
【0053】次に、スタート/ストップコード検出ルー
チンをコールして(ステップS33)フレームメモリ6
2のBank0に取り込んだ画像データにスタート及び
/ストップコード12,13が存在するかどうかを検出
する。つまり、図5の(A)に於ける座標e,f,g,
hを検出する(但し、これら4個の座標変数の全てが検
出されるとは限らず、例えば、図5の(B)に示すよう
な場合では、座標変数f及びhが求まらないかもしれな
い)。このルーチンにより、スタート及びストップコー
ドが検出されて確定されれば、スタートコード12の場
合は図5の(A)のフレームメモリ62上の座標変数g
が、またストップコード13の場合は座標変数hが定義
される。ここで、座標変数eはスタートコード12を最
初に見つけた座標、fはストップコード13を最初に見
つけた座標、gはスタートコード12を最後に見つけた
座標、hはストップコード13を最後に見つけた座標を
それぞれ示している。
【0054】そして、座標変数g,hの何れか一方が定
義されているかどうかを判断し(ステップS34)、定
義されていない場合は、ラベルなしとしてこの処理を抜
ける。即ち、ラベルなしの情報を持ってリターンする。
なお、本明細書では、C言語の表記方式に従っているた
めこのような図の書き方となるが、FORTRAN等の
表記方式に従えば、ラベルなしのフラッグを立てた後に
リターンという書き方となろう。
【0055】以上のようにして、ラベルの有無の検出が
行われる。
【0056】次に、ラベルの位置情報の検出、即ちラベ
ルに平行に画像データをフレームメモリ62から抽出す
るための抽出範囲(変数TOP及びBOTTOM)とラ
ベルの傾き(変数SLOPE)の算出が行われる。
【0057】即ち、上記ステップS34に於いて、座標
変数g,hの何れか一方が定義されていると判断された
場合は、座標変数gが定義されているのかどうかを判断
し(ステップS35)、定義されていなければ、ステッ
プS37に進む。しかし、座標変数gが定義されている
場合には、詳細は後述するようなスタートエッジ位置検
出ルーチンをコールして(ステップS36)、スタート
エッジ位置の検出を行う。このスタートエッジ検出は、
座標変数e及びg(座標変数gが定義されていれば当然
座標変数eも定義されている)より図5の(A)に示す
ような座標変数i及びmを定義し、さらに座標変数a及
びdを定義する。また、start_flagをON
し、座標変数TOP及びBOTTOMを定義する。ここ
で、座標変数a及びdはそれぞれラベルの4角座標の内
の一つを示す。
【0058】次に、座標変数hが定義されているのかど
うかを判断し(ステップS37)、定義されていなけれ
ば、ステップS39に進む。しかし、座標変数hが定義
されている場合には、詳細は後述するようなストップエ
ッジ位置検出ルーチンをコールして(ステップS3
8)、ストップエッジ位置の検出を行う。このストッッ
プエッジ位置検出は、座標変数f及びh(座標変数hが
定義されていれば当然座標変数fも定義されている)よ
図5の(A)に示すような座標変数j及びkを定義
し、さらに座標変数b及びcを定義する。また、sto
p_flagをONし、座標変数TOP及びBOTTO
Mを定義する。ここで、座標変数b及びcはそれぞれラ
ベルの4角座標の内の一つを示す。
【0059】次に、start_flag,stop_
flag共にONかどうかを判断し(ステップS3
9)、両方がONしていない場合には、ステップS3E
に進む。なおここで、図中の記号「&&」は論理積を示
す。
【0060】両フラッグ共にONの場合は、それらst
art_flag,stop_flagを両方ともいっ
たんリセットしてから(ステップS3A)、線分(a−
d)(c−d)を比較して(ステップS3B)、スター
トコード12とストップコード13でその線分が長い方
を処理対象として選択する。これは、通常使用時に於い
て、片方のコードが他方に対して短くなる最大の理由
は、画面からはみ出す場合であるので、長い方を処理基
準に選ぶようにしているということによる。
【0061】そして、線分(a−d)の方が線分(b−
c)よりも短い時には、座標変数TOPに座標変数bの
値を、また座標変数BOTTOMには座標変数cの値を
それぞれ代入してラベル情報の抽出範囲を決定するため
のデータを定義し、さらにstop_flagを選択し
てONする(ステップS3C)。
【0062】逆に、線分(a−d)の長さが線分(b−
c)以上のときは、座標変数TOPに座標変数aの値
を、また座標変数BOTTOMには座標変数dの値をそ
れぞれ代入してラベル情報の抽出範囲を決定するための
データを定義し、さらにstart_flagを選択し
てONする(ステップS3D)。
【0063】そして、ラベルの傾きを求めるルーチンを
コールして(ステップS3E)、これら座標変数TOP
及びBOTTOMよりラベルの傾き(変数SLOPW)
を求める。
【0064】次に、座標変数a,d,b,cの情報から
ラベル66の位置(フレーム62上の位置)を判断して
ラベル位置表示器65へ出力する(ステップS3F)。
このステップS3Fについては、後でより詳しく説明す
る。
【0065】そして最後に、ステップS3Eにて得られ
た変数と共にラベルありの情報を持ってリターンする。
【0066】次に、上記ラベル検出ルーチン中のステッ
プS36でコールされるスタートエッジ位置検出ルーチ
ンを説明する。
【0067】まずスタート検出フラッグstart_f
lagをONした後、線分e−gに平行な直線の方程式
を定義、例えば線分e−gの方程式y=astx+bst
求める。次に、この直線がスタートビッグバー12Aを
クロスするように、切片bstを定義する。こうしてスタ
ートビッグバー12Aをクロスする直線が得られたなら
ば、次に、その直線と画面を定義する方程式(フレーム
メモリ62の境界直線)との交点をそれぞれA,A’
(図5の(A)参照)とし、さらに座標e,gの中点か
ら、ラインA−A’に垂線を下ろし、その交点をAS
定義する。
【0068】そして、このラインA−A’上を点AS
ら点Aに向けてデータを順に見ていき、エッジが存在す
るかどうかをチェックする。こうして、エッジが検出さ
れたならば、その検出座標を座標変数iに格納する。即
ち、検出座標を点iとする。なお、エッジが検出されな
いときには、このラインA−A’と画面を定義する方程
式との交点、つまり点Aが点iとなる。
【0069】次に、上記ラインA−A’上を点AS から
今度は点A’に向けてデータを順に見ていき、エッジが
存在するかどうかをチェックする。こうして、エッジが
検出されたならば、その検出座標を座標変数mに格納す
る。即ち、検出座標を点mとする。なお、エッジが検出
されないときには、このラインA−A’と画面を定義す
る方程式との交点、つまり点A’が点mとなる。
【0070】そして、座標変数e,gで示される点e,
gを通る直線に座標変数iで示される点iから垂線を下
ろし、その交点の座標を座標変数aに格納する。即ち、
点iを通るラインA−A’と直交する直線の方程式を求
めて、それと点e,gを通る直線の交点を求め、その交
点を点aとする。なお、この交点が画面外の値となると
きには、点e,gを通る直線と画面を定義する方程式と
の交点を点aとする。
【0071】同様に、座標変数e,gで示される点e,
gを通る直線に座標変数mで示される点mから垂線を下
ろし、その交点の座標を座標変数dに格納する。即ち、
点mと通るラインA−A’と直交する直線の方程式を求
めて、それと点e,gを通る直線の交点を求め、その交
点を点dとする。なお、この交点が画面外の値となると
きには、点e,gを通る直線と画面を定義する方程式と
の交点を点dとする。
【0072】そして、こうして求めた座標変数aの値を
座標変数TOPに、また座標変数dの値を座標変数BO
TTOMにそれぞれ格納した後、上位のルーチンへ制御
を戻す。
【0073】また、ラベル検出ルーチン中のステップS
38でコールされるストップエッジ位置検出ルーチン
も、このスタートエッジ位置検出ルーチンとほぼ同様に
して行われる。
【0074】即ち、まずストップ検出フラッグstop
_flagをONした後、線分f−hに平行な直線の方
程式を定義、例えば線分f−hの方程式y=aspx+b
spを求める。次に、この直線がストップビッグバー13
Aをクロスするように、切片bspを定義する。こうして
ストップビッグバー13Aをクロスする直線が得られた
ならば、次にその直線と画面を定義する方程式との交点
をそれぞれB,B’(図5の(A)参照)とし、さらに
座標f,hの中点から、ラインB−B’に垂線を下ろ
し、その交点をBS と定義する。
【0075】そして、このラインB−B’上を点BS
ら点Bに向けてデータを順に見ていき、エッジが存在す
るかどうかをチェックする。こうして、エッジが検出さ
れたならば、その検出座標を座標変数jに格納する。即
ち、検出座標を点jとする。なお、エッジが検出されな
いときには、このラインB−B’と画面を定義する方程
式との交点、つまり点Bが点jとなる。
【0076】次に、上記ラインB−B’上を点BS から
今度は点B’に向けてデータを順に見ていき、エッジが
存在するかどうかをチェックする。こうしてエッジが検
出されてならばその検出座標を座標変数kに格納する。
即ち、検出座標を点kとする。なお、エッジが検出され
ないときには、このラインB−B’と画面を定義する方
程式との交点、つまり点B’が点kとなる。
【0077】そして、座標変数f,hで示される点f,
hを通る直線に座標変数jで示される点jから垂線を下
ろし、その交点の座標を座標変数bに格納する。即ち、
点jを通るラインB−B’と直交する直線の方程式を求
めて、それと点f,hを通る直線の交点を求めその交点
を点bとする。なお、この交点が画面外の値となるとき
には、点f,hを通る直線と画面を定義する方程式との
交点を点bとする。
【0078】同様に、座標変数f,hで示される点f,
hを通る直線に座標変数kで示される点kから垂線を下
ろし、その交点の座標を座標変数cに格納する。即ち、
点kを通るラインB−B’と直交する直線の方程式を求
めて、それと点f,hを通る直線の交点を求め、その交
点を点cとする。なお、この交点が画面外の値となると
きには、点f,hを通る直線と画面を定義する方程式と
の交点を点cとする。
【0079】そして、こうして求めた座標変数bの値を
座標変数TOPに、また座標変数cの値を座標変数BO
TTOMにそれぞれ格納した後、上位のルーチンへ制御
を戻す。
【0080】次に、上記のようなラベル検出ルーチン中
のステップS3Eでコールされるラベルの傾きを求める
ルーチンを、図5の(B)の行(ロウ)スキャンの場合
のラベルの傾きを求めるため説明図を参照して説明す
る。なお、同図には、行(ロウ)スキャンでスタートコ
ード12が基準に選択された場合の例を示している。
【0081】即ち、まず行(ロウ)スキャンか、列(カ
ラム)スキャンかを判断する。
【0082】行(ロウ)スキャンの場合には、まず座標
変数BOTTOMのx座標の値を、座標変数BOTTO
Mのy座標の値から座標変数TOPのy座標の値を差し
引いた結果の値で割り、また座標変数TOPのx座標の
値を、座標変数BOTTOMのy座標の値から座標変数
TOPのy座標の値を差し引いた結果の値で割り、これ
ら2つの商の差を傾き変数SLOPEに格納する。次
に、座標変数BOTTOMのy座標と座標変数TOPの
x座標とを乗じた結果を、座標変数BOTTOMのy座
標の値から座標変数TOPのy座標の値を差し引いた結
果の値で割り、また座標変数BOTTOMのx座標と座
標変数TOPのy座標とを乗じた結果を、座標変数BO
TTOMのy座標の値から座標変数TOPのy座標の値
を差し引いた結果の値で割り、これら2つの商の差を切
片変数intersectに格納する。
【0083】また、列(カラム)スキャンの場合には、
まず座標変数BOTTOMのy座標の値を、座標変数B
OTTOMのx座標の値から座標変数TOPのx座標の
値を差し引いた結果の値で割り、また座標変数TOPの
y座標の値を、座標変数BOTTOMのx座標の値から
座標変数TOPのx座標の値を差し引いた結果の値で割
り、これら2つの商の差を傾き変数SLOPEに格納す
る。次に、座標変数BOTTOMのx座標と座標変数T
OPのy座標とを乗じた結果を、座標変数BOTTOM
のx座標の値から座標変数TOPのx座標の値を差し引
いた結果の値で割り、また座標変数BOTTOMのy座
標と座標変数TOPのx座標とを乗じた結果を、座標変
数BOTOMのx座標の値から座標変数TOPのx座標
の値を差し引いた結果の値で割り、これら2つの商の差
を切片変数intersectに格納する。
【0084】以上のようにして、ラベル有無の検出と、
ラベル位置情報を検出、即ちラベルに平行に画像データ
をフレームメモリ62から抽出するための抽出範囲(変
数TOP及びBOTTOM)とラベルの傾き(変数SL
OPE)の算出が行われる。
【0085】次に、上記ステップS3Fで実行される、
ラベル位置を判断して、ラベル位置表示器65へラベル
位置を表示させる方法について説明する。
【0086】先ず、ラベル位置を判断する方法につい
て、図6の(A)乃至図8を使用して説明する。
【0087】図6の(A)は、ラベルが右にはみ出てい
る場合である。このように、座標変数a及びdで示され
る点a,点dは定義されているが、座標変数b及びcが
定義されていない場合を考える。この場合には、先ず、
座標変数a,dで示される点a,点dを通る直線を考
え、その直線と点aにて直行する直線をラベル方向に引
き、フレームメモリ62の境界と交わる点をa’とす
る。点dに関しても同様にしてフレームメモリ62の境
界と交わる点をd’を求める。ここで、フレームメモリ
62の境界のどこに2交点が生成されたかによって、以
下のようにラベルのはみ出し方を定義する。
【0088】フレームメモリ62の境界直線(0,0)
−(x,0)に2交点が生成されたとき(ケース
(1)):上にはみ出たと定義する。
【0089】フレームメモリ62の境界直線(x,0)
−(x,y)に2交点が生成されたとき(ケース
(2)):右にはみ出たと定義する。
【0090】フレームメモリ62の境界直線(0,y)
−(x,y)に2交点が生成されたとき(ケース
(3)):下にはみ出たと定義する。
【0091】フレームメモリ62の境界直線(0,0)
−(0,y)に2交点が生成されたとき(ケース
(4)):左にはみ出たと定義する。
【0092】フレームメモリ62の境界直線(0,0)
−(x,0)に1交点、フレームメモリ62の境界直線
(x,0)−(x,y)に1交点が生成されたとき(ケ
ース(5)):右上にはみ出たと定義する。
【0093】境界直線(x,0)−(x,y)に1交
点、境界直線(0,y)−(x,y)に1交点が生成さ
れたとき(ケース(6)):右下にはみ出たと定義す
る。
【0094】境界直線(0,y)−(x,y)に1交
点、境界直線(0,0)−(0,y)に1交点が生成さ
れたとき(ケース(7)):左下にはみ出たと定義す
る。
【0095】境界直線(0,0)−(0,y)に1交
点、境界直線(0,0)−(x,0)に1交点が生成さ
れたとき(ケース(8)):左上にはみ出たと定義す
る。
【0096】従って、図6の(A)の例は、上記ケース
(2)となるから、ラベルが右にはみ出ていると判断で
きる。
【0097】図6の(B)は、ラベルが右上にはみ出て
いる場合である。即ち、同図のように座標変数a及びd
が定義されていて、座標変数b及びcが定義されていな
い場合である。図6の(A)の例と同様に考えると、ケ
ース(5)となるから、ラベルが右上にはみ出ていると
判断できる。
【0098】図7の(A)は、ラベルが下にはみ出てい
る場合である。しかし、同図のように座標変数a,d,
b,cが全て定義されている場合である。このような場
合は、4つの座標変数で示される4点の内、どの点がフ
レームメモリ62の境界直線と接しているかで図6の
(A)の例と同様に判断できる。
【0099】なおこの場合、前述したように、ラインA
−A’上を点AS から点A’に向けてデータを順に見て
いったときに、エッジが検出されないので、ラインA−
A’とフレームメモリ62の境界直線との交点A’が点
mとなり、座標変数e,gで示される点e,gを通る直
線にこの座標変数mで示される点mから垂線を下ろした
とき、その交点が画面外の点d”となる。従って、座標
変数dは、点e,gを通る直線と境界直線との交点とな
いる。
【0100】図7の(B)は、ラベルが右下にはみ出て
いる場合である。しかし、同図のように座標変数b及び
cが定義されず座標変数a及びdが定義されているが、
座標変数dで示される点dがフレームメモリ62の境界
直線と接している場合である。このような場合でも、今
までの議論を延長させて判断することが可能である。
【0101】図8は、ラベルが複雑にはみ出ている場合
である。即ち、同図のように座標変数a,d,b,cが
全て定義されているが、4つの座標変数で示される4点
の内、3点がフレームメモリ62の境界直線と接してい
る場合である。このような場合も、今までの議論を延長
させて判断することが可能である。このように複雑なは
み出し方をしている場合でも、後で述べるラベル位置表
示器65の構成次第で、操作者にはみ出し方を報知する
ことも可能である。
【0102】次に、ラベル位置表示器65の表示方法に
ついて説明する。
【0103】図9の(A)は、ラベル位置表示器65の
例である。同図のようにラベル位置表示器65は5個の
LEDにて構成されている。なおこの図は、5個のLE
D全てが点灯している(この点灯していることを、図で
はハッチングにより示す。以下同じ)ことを示してい
る。
【0104】このような5個のLEDを使用したラベル
位置表示器65の動作を、図10の(A)〜図11の
(D)を参照して以下に説明する。なお、これらの図は
それぞれ、フレームメモリ62に対するラベルの位置
と、その時のラベル位置表示器65の5個のLEDの点
灯状態とを対応させて示している。
【0105】即ち、図10の(A)に示すように、ラベ
ルがフレームメモリ62の中央に位置する時、即ち、図
5の(A)のように座標変数a,d,b,cが全て定義
されていて4つの座標変数で示される4点が全てフレー
ムメモリ62の境界直線と接していない時は、同図のよ
うに5個のLEDの内で中央のLEDを点灯する。
【0106】また、図10の(B)に示すようにラベル
がフレームメモリ62の右上にはみ出ている(実際に
は、右上にはみ出ている部分は、フレームメモリ62上
では見えないわけであるが、同図ではどのようにはみ出
ているかを示すためにラベル全体を載せてある。以下、
同様)時は、5個のLEDの内で右上のLEDを点灯す
る。
【0107】図10の(C)に示すように、ラベルがフ
レームメモリ62の左上にはみ出ている時は、5個のL
EDの内で左上のLEDを点灯する。
【0108】図10の(D)に示すように、ラベルがフ
レームメモリ62の左下にはみ出ている時は、5個のL
EDの内で左下のLEDを点灯する。
【0109】図10の(E)に示すように、ラベルがフ
レームメモリ62の右下にはみ出ている時は、5個のL
EDの内で右下のLEDを点灯する。
【0110】図11の(A)に示すように、ラベルがフ
レームメモリ62の上にはみ出ている時は、5個のLE
Dの内で上の2個のLEDを点する。
【0111】図11の(B)に示すように、ラベルがフ
レームメモリ62の右にはみ出ている時は、5個のLE
Dの内で右の2個のLEDを点灯する。
【0112】図11の(C)に示すように、ラベルがフ
レームメモリ62の左にはみ出ている時は、5個のLE
Dの内で左の2個のLEDを点灯する。
【0113】そして、図11の(D)に示すように、ラ
ベルがフレームメモリ62の下にはみ出ている時は、5
個のLEDの内で下の2個のLEDを点灯する。
【0114】なお、ラベルがフレームメモリ62に存在
しない時は、どのLEDも点灯しない。
【0115】このように、データ処理回路63のずれ方
向判断部63Bが、位置検出部63Aによるラベル検出
処理の結果を判断し、この判断結果に基づいて表示制御
部63Cがラベル位置表示器65を制御してラベル位置
を表示させることによって、操作者はバーコードシンボ
ル1がビデオカメラ2の視野内に全く入っていないの
か、右にずれているのか、左にずれているのか等を確認
することができ、個人差なく、適切な位置にラベル1を
含むシート等を移動させることができる。
【0116】また、この説明では、ラベル位置表示器6
5が5個のLEDにて構成されているとしたが、図9の
(B)に示すように9個のLEDを使用しても同様の機
能を果たすことが可能であり、使い方次第では、よりき
め細かいラベル位置情報を表示させることも可能であろ
う。例えば、図8のような複雑なはみ出し方をしている
時に、図9の(C)のように表示して操作者に知らせる
こともできことになる。もちろん、5個,9個以外の数
のLEDを使用しても、ラベル位置表示器65が構成可
能なことは、理解されよう。
【0117】図12は、ラベル位置表示器65の他の例
を示すもので、ラベル位置表示器65として7セグメン
トのLED数字表示素子、即ち同図のように「0」〜
「9」の数字が表示可能な素子を使用したものである。
【0118】このような素子を使用した場合、図13の
(A)〜(I)に示すようにして、種々の状態を表示す
ることができる。例えば、ラベルがフレームメモリ62
の中央に位置する時は、LED数字表示素子の内で中央
のLEDを点灯し(図13の(A))し、ラベルがフレ
ームメモリ62の右上にはみ出ている時は、LED数字
表示素子の内で右上と上の2個のLEDを点灯する(図
の(B))。以下同様に、図1の(C)〜(I)
のようになる。
【0119】このように、LED数字表示素子を使用し
ても、ラベル位置表示器65を構成することは可能であ
る。この場合、LED数字表示素子は、バーコードシン
ボル読取装置にエラーメッセージ表示用の表示部を設け
て、これに用いられている素子を兼用するようにしても
良い。
【0120】図14の(A)は、ラベル位置表示器65
の他の例を示すもので、ラベル位置表示器65として、
LCDによるキャラクタ表示可能なものを使用した場合
である。例えば、ラベルがフレームメモリ62の中央に
位置する時は、「LABEL : CENTER POSITION 」のように
表示させ、ラベルがフレームメモリ62の右上にはみ出
ているときは、「LABEL : RIGHT UP POSISION 」のよう
に表示させ、ラベルがフレームメモリ62の上にはみ出
ている時は、「LABEL : UP POSION 」のように表示させ
る。ラベル位置表示器65としてLCDを使用したもの
は、LEDを使用したものに比較して若干高価格になる
が、操作者が理解し易い表示が可能となる。
【0121】図15の(A)は、ラベル位置表示器65
の他の例を示す図で、ラベル位置表示器65として16
個の特殊なLED(8個の長方形型LED65A1〜65
A8と8個の矢印型LED65B1〜65B8)を同図のよう
に配置させたものである。
【0122】このような16個のLEDを使用したラベ
ル位置表示器65の動作を以下に説明する。
【0123】即ち、図15の(B)に示す通り、ラベル
がフレームメモリ62の中央に位置する時は、16個の
LEDの内で中央の8個の長方形のLED65A1〜65
A8を点灯する。
【0124】ラベルがフレームメモリ62の右上にはみ
出ている時は、図15の(C)に示すように、16個の
LEDの内で左下を矢印が示すように、3個のLED6
A2,65A6,65B6を点灯する。
【0125】ラベルがフレームメモリ62の左上にはみ
出ている時は、図15の(D)に示すように、16個の
LEDの内で右下を矢印が示すように、3個のLED6
A8,65A4,65B4を点灯する。
【0126】ラベルがフレームメモリ62の左下にはみ
出ている時は、図15の(E)に示すように、16個の
LEDの内で右上を矢印が示すように、3個のLED6
A6,65A2,65B2を点灯する。
【0127】ラベルがフレームメモリ62の右下にはみ
出ている時は、図15の(F)に示すように、16個の
LEDの内で左上を矢印が示すように、3個のLED6
A4,65A8,65B8を点灯する。
【0128】ラベルがフレームメモリ62の上にはみ出
ている時は、図15の(G)に示すように、16個のL
EDの内で下を矢印が示すように、3個のLED6
A1,65A5,65B5を点灯する。
【0129】ラベルがフレームメモリ62の右にはみ出
ている時は、図15の(H)に示すように、16個のL
EDの内で左を矢印が示すように、3個のLED6
A3,65A7,65B7を点灯する。
【0130】ラベルがフレームメモリ62の左にはみ出
ている時は、図15の(I)に示すように、16個のL
EDの内で右を矢印が示すように、3個のLED6
A7,65A3,65B3を点灯する。
【0131】そして、ラベルがフレームメモリ62の下
にはみ出ている時は、図15の(J)に示すように、1
6個のLEDの内で上を矢印が示すように、3個のLE
D65A5,65A1,65B1を点灯する。
【0132】なお、ラベルがフレームメモリ62に存在
しない時は、どのLEDも点灯しない。
【0133】この例は、ラベル位置表示器65にてラベ
ルがどのようにはみ出ているのかではなく、どちらに動
かせばよいのかを示すようにしたものである。
【0134】このように、ラベル位置表示器65として
は、種々の構成を取ることが可能である。
【0135】以上説明してきたように、データ処理回路
63が、ラベル検出処理の結果を判断してラベル位置表
示器65へラベル位置を表示させることによって、操作
者はバーコードシンボル1がビデオカメラ2の視野内に
全く入っていないのか、右にずれているのか、左にずれ
ているのか等を確認することができ、個人差なく、適切
な位置にバーコードシンボル1を含むシート或は商品等
を移動させることができる。
【0136】また、データ処理回路63としては、CP
U,プログラムメモリ,ワークメモリと高速演算回路に
よって構成することが可能であり、さらに、CPUとし
て非常に高速な素子、例えば、DSP(ディジタル信号
処理プロセッサ)を使用すれば、CPUと高速演算回路
の機能をDSPが兼ねることも可能である。
【0137】また、ビデオカメラ2としては、2次元C
CDや撮像管に代表されるエリアセンサを用いたものが
一般的であるが、バーコードシンボルを撮像するための
方法としては、ビデオカメラに限定されるものではな
く、例えば1次元撮像素子と1次元スキャン機構の組み
合わせや、光電検出器と2次元スキャン機構の組み合わ
せでも良い。
【0138】ここで、上記説明に於いては、バーコード
シンボルPD417フォーマットのバーコードを用いた
が、これに限定されるものでなく、CODE49,CO
DE16K,DATA CODE,等の他の2次元バー
コードや、JAN,ITF等の従来の1次元バーコード
でも良い。例えば、2次元バーコードDATA COD
Eでは、L字型の外枠を検出することによりラベル検出
とし、フレームメモリとの位置関係からラベル位置を判
断することができる。また、従来の1次元バーコードに
関しては、例えば特開平2−23483号公報に開示さ
れているように、平行なバーを複数本検出したときにラ
ベル検出とし、フレームメモリとの位置関係からラベル
位置を判断することができる。
【0139】また、上記説明に於いては、図3のステッ
プS3、S4ではラベルが存在しない場合には、再度、
ステップS1に制御を移して前処理ルーチンをコールし
て、ラベルが存在する場合には、手ぶれ検出ルーチンを
コールする(ステップS5)、即ち上下左右にずれてい
てもラベルが存在さえすればステップS5に制御を移す
ように説明した。これは、ラベルが上下左右に多少ずれ
ていても、エラー訂正機能を有しているPDF417や
DATA CODE等の2次元バーコードシンボルで
は、読み取ることが可能となる場合があるためであり、
この場合読み取りができなかった時(通常、エラーメッ
セージの出力や、読み取り終了ブザーが鳴らない等によ
り判断される)は、操作者がラベル位置表示器65を見
てラベルが上下左右にずれていることを認識し、ずれな
い位置にバーコードシンボル1を含むシート或いは商品
等を移動させることになる。即ち、ラベル位置表示器6
5は、バーコードシンボルが読み取りできない時に、ラ
ベル位置確認のために使用するものである。
【0140】一方、図3のステップS3、S4では、上
下左右どちらかにずれている時はラベルが存在しても
度、ステップS1に制御を移すようにすることも可能で
ある。この場合、操作者がラベル位置表示器65を確認
しながらずれのない位置にバーコードシンボル1を含む
シート或いは商品等を移動させる。ずれのない位置(図
10の(A)のように5個のLEDの内で中央のLED
が点灯する場合、即ち、図5の(A)のように座標変数
a,d,b,cがすべて定義されていて4つの座標変数
で示される4点が全てフレームメモリ62の境界直線と
接しないような位置)に移動させた後、自動的に手ぶれ
検出ルーチンがコールされる(ステップS5)。即ち、
図16のようなフローチャートとなる。従って、確実に
バーコードシンボル1の情報を読み取ることが可能とな
る。
【0141】また、図3のステップS3、S4にてラベ
ルのずれ具合を考慮し、大きくずれているときは、再
度、ステップS1に制御を移し、少ししかずれていない
時にのみ、ステップS5に制御を移すように構成するこ
とも可能である。例えば、図5の(A)のように座標変
数a,d,b,cが全て定義されていて4つの座標変数
で示される4点が全てフレームメモリ62の境界直線と
接しないような場合や図7の(A)のように多くとも2
点までフレームメモリ62の境界直線と接している場合
(図7の(A)は1点が接している例)は、ステップS
5に制御を移し、図6の(B)のように座標変数a,
d,b,cが全て定義されていない場合は、再度、ステ
ップS1に制御を移すようにする。
【0142】なお、上記デコーダボックス6の横置き/
縦置きに応じて、ラベル位置表示器65の表示が適当な
ものとなるように、切り換えスイッチなどを設けても良
いし、何等かの検出手段によりデコーダボックス6の設
置状態を検出して自動的に切り換えられるようにしても
良い。
【0143】[第2実施例]図14の(B)に本発明の
第2実施例を示す。第1実施例と基本的には同じである
が、ラベル位置表示器65の位置が異なる。即ち、第1
実施例では、デコーダボックス6にラベル位置表示器6
5が付いている場合を説明してきたが、本実施例では、
カメラスタンド5のベース板4上にラベル位置表示器6
5を設置している。
【0144】このような構成とすれば、操作者は、バー
コードシンボル1を含むシート等をベース板4に載せる
時に、このラベル位置表示器65を見ながら操作可能と
なる。
【0145】[第3実施例]図14の(C)に本発明の
第3実施例を示す。第1実施例と基本的には同じである
が、ラベル位置表示器65が異なる。即ち、本実施例で
は、ビデオカメラ2の先端にラベル位置表示器65を用
意している。
【0146】このような構成とすることにより、操作者
はバーコードシンボル1を含むシート等をベース板4に
載せる時に、ベース板4の上方のビデオカメラ2に用意
されているラベル位置表示器65を見ながら操作可能と
なる。
【0147】[第4実施例]図14の(D)に本発明の
4実施例を示す。本第4実施例は、ハンディスキャナ2
0にラベル位置表示器65を用意したものである。
【0148】このようなハンディタイプでは、読取り部
がバーコードシンボル1を完全に隠してしまうので、操
作者には、バーコードシンボル1がどのような傾きでど
こがはみ出しているのか全く分からない。従って、ハン
ディタイプでも装置の背中にラベル位置表示器65を用
意し、操作者にバーコードシンボル1の位置を知らせる
ことは非常に重要と言える。
【0149】また、ハンディタイプでは、読取開始スイ
ッチ21のようにハンディスキャナ20のデータ処理回
路63に読取開始を通知する機能を設けるのも良い。即
ち、操作者がラベル位置表示器65を見て、バーコード
シンボル1がフレームメモリ62の中央に位置した時
に、この読取開始スイッチ21を押すものである。これ
を受けてデータ処理回路63は読取を開始する。この場
合のデータ処理回路63は、図17のようなフローチャ
ートに従った動作を行うこととなる。
【0150】このようにすれば、バーコードシンボル1
がフレームメモリ62の中央に位置している、即ち確実
に読み取ることができる時に、データ処理回路63に読
取動作をさせることができる。
【0151】また、デコーダボックス6は、ハンディス
キャナ20に内蔵させても良いし、第1実施例のように
ハンディスキャナ20と別体としても良い。
【0152】以上の第1乃至第4実施例では、ずれ方向
判断部63Bで判断したバーコードシンボル1のずれを
表示するようにしたが、このずれ方向判断結果に基づい
て適切な位置にバーコードシンボル1を自動的に移動さ
せるといった応用も可能である。
【0153】
【発明の効果】以上詳述したように、本発明によれば、
個人差なく、シート或いは商品等に記録されているバー
コードシンボルが確実にビデオカメラの視野内に入って
いるかどうかを判断できる2次元バーコードシンボル読
取装置を提供することができる。
【図面の簡単な説明】
【図1】(A)及び(B)はそれぞれ本発明の第1実施
例の構成を示すための外観図及びブロック図である。
【図2】(A)は2次元バーコードシンボルの一例とし
てのPDF417バーコードシンボルの構造を説明する
ため図であり、(B)はPDF417バーコードシンボ
ル画像をフレームメモリに投影した模式図である。
【図3】データ処理回路の動作アルゴリズムの概略を示
すフローチャートである。
【図4】図3中のラベル検出ルーチンのフローチャート
である。
【図5】(A)はラベル検出方法を説明するためのフレ
ームメモリへのラベル投影像の図であり、(B)はラベ
ルの傾きを求める方法を説明するためのフレームメモリ
へのラベル投影像の図である。
【図6】(A)はラベルが右にはみ出している場合のフ
レームメモリへのラベル投影像の図であり、(B)はラ
ベルが右上にはみ出している場合のフレームメモリへの
ラベル投影像の図である。
【図7】(A)はラベルが下にはみ出している場合のフ
レームメモリへのラベル投影像の図であり、(B)はラ
ベルが左上にはみ出している場合のフレームメモリへの
ラベル投影像の図である。
【図8】ラベルが複雑にはみ出している場合のフレーム
メモリへのラベル投影像の図である。
【図9】(A)はラベル位置表示器の一例を示す図であ
り、(B)はラベル位置表示器の別の例を示す図であ
り、(C)は(B)のラベル位置表示器での図8の状態
の表示を示す図である。
【図10】(A)乃至(E)はそれぞれラベルのはみ出
し状態に対応する図9の(A)のラベル位置表示器の表
示状態を示す図である。
【図11】(A)乃至(D)はそれぞれラベルのはみ出
し状態に対応する図9の(A)のラベル位置表示器の表
示状態を示す図である。
【図12】ラベル位置表示器のさらに別の例としての7
セグメントLEDを示す図である。
【図13】(A)乃至(I)はそれぞそれ図12の7セ
グメントLEDを用いた場合のラベルのはみ出し状態に
対応する表示状態を示す図である。
【図14】(A)はラベル位置表示器の他の例を示す図
であり、(B)乃至(D)はそれぞれ本発明の第2乃至
第4実施例を示す図である。
【図15】(A)はラベル位置表示器のさらに他の例を
示す図であり、(B)乃至(J)はそれぞそれ(A)の
ラベル位置表示器でのラベルのはみ出し状態に対応する
表示状態を示す図である。
【図16】第1実施例の変形例を説明するための概略フ
ローチャートである。
【図17】第4実施例の動作を説明するための概略フロ
ーチャートである。
【図18】従来のバーコードシンボル読取装置の構成を
示す外観図である。
【符号の説明】
1…バーコードシンボル、2…ビデオカメラ、3…支
柱、4…ベース板、5…カメラスタンド、6…デコーダ
ボックス、7…ホストコンピュータ、8…カメラケーブ
ル、61…ビデオ回路、62…フレームメモリ、63…
データ処理回路、63A…位置検出部、63B…ずれ方
向判断部、63C…表示制御部、63D…デコード部、
64…ホストインタフェース回路、65…ラベル位置表
示器。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 バーとスペースとからなるバーコードシ
    ンボルを撮像するための撮像手段と、前記 撮像手段によるバーコードシンボルの撮像情報を記
    憶する記憶手段と、 前記記憶手段の出力に基づいて、前記撮像手段により撮
    像されたバーコードシンボルの前記撮像手段の撮像領域
    における位置を検出する位置検出手段と、前記 位置検出手段の出力により、前記撮像手段により撮
    像されたバーコードシンボルの前記撮像手段の撮像領域
    からのずれの方向を判断し、ずれの方向を表示するずれ
    方向表示手段と、 を具備してなることを特徴とするバーコードシンボル読
    取装置。
JP24192992A 1992-09-10 1992-09-10 バーコードシンボル読取装置 Expired - Fee Related JP3191999B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP24192992A JP3191999B2 (ja) 1992-09-10 1992-09-10 バーコードシンボル読取装置
US08/117,784 US5430283A (en) 1992-09-10 1993-09-07 Bar-code symbol reading apparatus
KR1019930017929A KR100309245B1 (ko) 1992-09-10 1993-09-07 바코드심벌판독장치
CN93117503A CN1038789C (zh) 1992-09-10 1993-09-09 条形码记号读取装置
TW082109322A TW230810B (en) 1992-09-10 1993-11-08 Bar code signal reading device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24192992A JP3191999B2 (ja) 1992-09-10 1992-09-10 バーコードシンボル読取装置

Publications (2)

Publication Number Publication Date
JPH0696244A JPH0696244A (ja) 1994-04-08
JP3191999B2 true JP3191999B2 (ja) 2001-07-23

Family

ID=17081671

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24192992A Expired - Fee Related JP3191999B2 (ja) 1992-09-10 1992-09-10 バーコードシンボル読取装置

Country Status (5)

Country Link
US (1) US5430283A (ja)
JP (1) JP3191999B2 (ja)
KR (1) KR100309245B1 (ja)
CN (1) CN1038789C (ja)
TW (1) TW230810B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7360323B2 (en) * 2002-07-31 2008-04-22 Lg Electronics Inc. Top firewall cover assembly for laundry dryer
KR101951668B1 (ko) * 2017-08-04 2019-02-25 주식회사 메이져스포츠 스포츠웨어

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7387253B1 (en) * 1996-09-03 2008-06-17 Hand Held Products, Inc. Optical reader system comprising local host processor and optical reader
US5513264A (en) * 1994-04-05 1996-04-30 Metanetics Corporation Visually interactive encoding and decoding of dataforms
US5945661A (en) * 1995-06-02 1999-08-31 Asahi Kogaku Kogyo Kabushiki Kaisha Data symbol reader and method including data symbol position evaluation
US20030174864A1 (en) * 1997-10-27 2003-09-18 Digital Biometrics, Inc. Gambling chip recognition system
US5818023A (en) * 1996-03-05 1998-10-06 Metanetics Corporation Portable ID card verification apparatus
US6015088A (en) * 1996-11-05 2000-01-18 Welch Allyn, Inc. Decoding of real time video imaging
JP3341024B2 (ja) * 1998-07-17 2002-11-05 オムロン株式会社 小型のセンサ装置
JP2000035547A (ja) 1998-07-17 2000-02-02 Fujitsu Ltd 光学ユニットを載置する傾斜可能なステージを有する光学読取装置
US6514140B1 (en) * 1999-06-17 2003-02-04 Cias, Inc. System for machine reading and processing information from gaming chips
US20020125323A1 (en) * 2001-03-06 2002-09-12 Welch Allyn Data Collection, Inc. Optical scanner data collection network employing multi-packet transmission of decoded data
CA2453766A1 (en) * 2003-01-02 2004-07-02 Societe Des Loteries Video Du Quebec, Inc. Bar code reader stand
JP2007207085A (ja) * 2006-02-03 2007-08-16 Denso Wave Inc 光学情報読取装置
JP4497136B2 (ja) * 2006-08-10 2010-07-07 株式会社デンソーウェーブ 光学情報読取装置
US20080093457A1 (en) * 2006-10-19 2008-04-24 Dayou Wang Imaging reader and method with visual aiming prompts
JP2009020813A (ja) * 2007-07-13 2009-01-29 Three M Innovative Properties Co タグおよびそれを用いた物品認識システム
US20090078774A1 (en) * 2007-09-21 2009-03-26 Symbol Technologies, Inc. Graphical User Interface for Use in Programming a Barcode Reader
JP4997264B2 (ja) * 2009-03-26 2012-08-08 東芝テック株式会社 コードシンボル読取装置
JP2011165139A (ja) * 2010-02-15 2011-08-25 Toshiba Tec Corp コードシンボル読取装置及び制御プログラム
JP5053396B2 (ja) * 2010-02-15 2012-10-17 東芝テック株式会社 コードシンボル読取装置及びその制御プログラム
CN101908122B (zh) * 2010-06-01 2012-08-22 福建新大陆电脑股份有限公司 条空边界处理模块、条码识别装置及其方法
US9004359B2 (en) * 2012-05-16 2015-04-14 Datalogic ADC, Inc. Optical scanner with top down reader
GB2538265A (en) 2015-05-13 2016-11-16 Asda Stores Ltd Barcode scanner device and inventory management system
CN107016428A (zh) * 2016-01-28 2017-08-04 阿里巴巴集团控股有限公司 一种二维码的初始化方法及装置
JP2018005622A (ja) * 2016-07-04 2018-01-11 株式会社ウェルキャット 携帯型電子機器
JP6543603B2 (ja) * 2016-10-14 2019-07-10 Idec株式会社 読取装置
JP2018174386A (ja) * 2017-03-31 2018-11-08 日本電気株式会社 画像入力装置及び画像入力方法
JP2019144793A (ja) * 2018-02-20 2019-08-29 富士ゼロックス株式会社 情報処理装置及びプログラム
JP2021103442A (ja) * 2019-12-25 2021-07-15 京セラ株式会社 画像データ登録システム、画像データ登録方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3902047A (en) * 1973-08-31 1975-08-26 Ferranti Packard Ltd Label reader with rotatable television scan
US4046513A (en) * 1976-06-30 1977-09-06 Miles Laboratories, Inc. Printed reagent test devices and method of making same
US4369361A (en) * 1980-03-25 1983-01-18 Symbol Technologies, Inc. Portable, stand-alone, desk-top laser scanning workstation for intelligent data acquisition terminal and method of scanning
JPS63220381A (ja) * 1987-03-10 1988-09-13 Canon Inc バ−コ−ドリ−ダ
US5019699A (en) * 1988-08-31 1991-05-28 Norand Corporation Hand-held optical character reader with means for instantaneously reading information from a predetermined area at an optical sensing area
JPH0223483A (ja) * 1988-07-13 1990-01-25 Matsushita Electric Ind Co Ltd 画像信号処理装置
US4948955A (en) * 1988-12-22 1990-08-14 The Boeing Company Barcode location determination
US4958064A (en) * 1989-01-30 1990-09-18 Image Recognition Equipment Corporation Bar code locator for video scanner/reader system
US5319181A (en) * 1992-03-16 1994-06-07 Symbol Technologies, Inc. Method and apparatus for decoding two-dimensional bar code using CCD/CMD camera
JPH0821056B2 (ja) * 1989-09-12 1996-03-04 日本電装株式会社 バーコード読取装置
US5181823A (en) * 1989-10-27 1993-01-26 Grumman Aerospace Corporation Apparatus and method for producing a video display
US5155343A (en) * 1990-03-28 1992-10-13 Chandler Donald G Omnidirectional bar code reader with method and apparatus for detecting and scanning a bar code symbol
JPH0478993A (ja) * 1990-07-23 1992-03-12 Tokyo Electric Co Ltd 商品売上登録装置
DE4035396A1 (de) * 1990-11-07 1992-05-14 F & O Elektronic Systems Gmbh Verfahren und vorrichtung zum lesen und identifizieren der information einer zeichen-vorlage, insbesondere barcode, innerhalb eines zwei- oder dreidimensionalen feldes mittels einer videokamera, die ein binaeres videosignal des bildes erzeugt
US5233168A (en) * 1991-09-30 1993-08-03 Pitney Bowes Inc. Method of deskewing an image
US5343028A (en) * 1992-08-10 1994-08-30 United Parcel Service Of America, Inc. Method and apparatus for detecting and decoding bar code symbols using two-dimensional digital pixel images
US5329105A (en) * 1992-08-10 1994-07-12 United Parcel Service Of America, Inc. Method and apparatus for determining the width of elements of bar code symbols

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7360323B2 (en) * 2002-07-31 2008-04-22 Lg Electronics Inc. Top firewall cover assembly for laundry dryer
KR101951668B1 (ko) * 2017-08-04 2019-02-25 주식회사 메이져스포츠 스포츠웨어

Also Published As

Publication number Publication date
JPH0696244A (ja) 1994-04-08
US5430283A (en) 1995-07-04
KR100309245B1 (ko) 2001-12-28
CN1038789C (zh) 1998-06-17
KR940007729A (ko) 1994-04-28
CN1084299A (zh) 1994-03-23
TW230810B (en) 1994-09-21

Similar Documents

Publication Publication Date Title
JP3191999B2 (ja) バーコードシンボル読取装置
KR100271245B1 (ko) 바코드 판독장치
JP4192847B2 (ja) コード読取装置およびプログラム
KR100275007B1 (ko) 바코드 판독장치
JP3668275B2 (ja) デジタル情報記録方法、解読方法および解読装置
EP1383071A2 (en) Anti-hand-jittering dataform readers and methods
JP3154809B2 (ja) バーコードリーダ装置
JP3758266B2 (ja) コード読取装置
JPH07120389B2 (ja) 光学的文字読取装置
JPH06162247A (ja) 2次元コード読み取り用バーコードリーダ
JPH0437466B2 (ja)
JPH0469788A (ja) 光学的情報読取装置
JPH0669204B2 (ja) 画像読取装置
JP2000276564A (ja) 2次元コード
JPH0954810A (ja) データシンボル読み取り装置
JPH06231297A (ja) バーコードシンボル読取装置
JP2011018289A (ja) コードシンボル読取装置およびその制御プログラム
JPH08329185A (ja) シンボル情報読取装置
JPH0799531B2 (ja) 光学的文字読取装置
JPS6314392B2 (ja)
JP3500540B2 (ja) バーコードデータ処理装置
JPS6278685A (ja) 光学式文字読取装置
JPH01302481A (ja) 光学文字読取装置
JPH0916708A (ja) シンボル情報読取り装置
JP2004213215A (ja) 画像入力方法及び画像入力装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010501

LAPS Cancellation because of no payment of annual fees