JPH0812681B2 - バーコードを認識する方法 - Google Patents
バーコードを認識する方法Info
- Publication number
- JPH0812681B2 JPH0812681B2 JP3060763A JP6076391A JPH0812681B2 JP H0812681 B2 JPH0812681 B2 JP H0812681B2 JP 3060763 A JP3060763 A JP 3060763A JP 6076391 A JP6076391 A JP 6076391A JP H0812681 B2 JPH0812681 B2 JP H0812681B2
- Authority
- JP
- Japan
- Prior art keywords
- barcode
- elements
- run
- array
- black
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods 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/10821—Methods 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/1093—Methods 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Character Input (AREA)
Description
【0001】
【産業上の利用分野】本発明はデータ処理システムに係
り、更に詳細に説明すれば、バーコード認識の改良に係
る。
り、更に詳細に説明すれば、バーコード認識の改良に係
る。
【0002】
【従来の技術】ディジタル画像技術の分野では、ディジ
タル・イメージ・ファイル中のビット・パターンを走査
して、このディジタル・イメージに関連するコード化情
報を生成するという一般的な要請が存在する。このコー
ド化情報は、後に記憶装置からのピクチャの検索を容易
にするように、ディジタル・イメージを分類するために
使用されるものである。
タル・イメージ・ファイル中のビット・パターンを走査
して、このディジタル・イメージに関連するコード化情
報を生成するという一般的な要請が存在する。このコー
ド化情報は、後に記憶装置からのピクチャの検索を容易
にするように、ディジタル・イメージを分類するために
使用されるものである。
【0003】最近のディジタル走査機構は、1秒以下の
時間で1ページの文書を走査することができる。もっと
も、オペレータがこのイメージ表示を観察した上で、関
係するコード情報をキー入力しなければならない場合に
は、実効的な捕捉速度は15−20秒の程度になる。こ
れではオペレータの生産性が低下するだけでなく、画像
アプリケーションの運用費用が著しく高価になってしま
う。
時間で1ページの文書を走査することができる。もっと
も、オペレータがこのイメージ表示を観察した上で、関
係するコード情報をキー入力しなければならない場合に
は、実効的な捕捉速度は15−20秒の程度になる。こ
れではオペレータの生産性が低下するだけでなく、画像
アプリケーションの運用費用が著しく高価になってしま
う。
【0004】光学文字認識(OCR)は、イメージ中の
ノイズに極めて感じやすく、しかもテキスト文字を表す
そのディジタル・イメージ・データには冗長性が殆どな
いために、98%よりも高い認識精度を実現することは
困難である。このことは、例えばファクシミリ装置から
生ずる低分解能のディジタル・イメージについて、特に
当てはまる。
ノイズに極めて感じやすく、しかもテキスト文字を表す
そのディジタル・イメージ・データには冗長性が殆どな
いために、98%よりも高い認識精度を実現することは
困難である。このことは、例えばファクシミリ装置から
生ずる低分解能のディジタル・イメージについて、特に
当てはまる。
【0005】光学式マーク読取(OMR)は、相当長い
期間にわたって、高い信頼性を以てイメージを機械的に
分類するのに使用されてきた。この技術の欠点は、イメ
ージ全体がOMRデータであるという理由で、OMRペ
ージを含むセット内の関連するイメージを分類するため
にのみ、コード化データを使用できるに過ぎないという
点にある。
期間にわたって、高い信頼性を以てイメージを機械的に
分類するのに使用されてきた。この技術の欠点は、イメ
ージ全体がOMRデータであるという理由で、OMRペ
ージを含むセット内の関連するイメージを分類するため
にのみ、コード化データを使用できるに過ぎないという
点にある。
【0006】今日では、15−20種類もあるバーコー
ドが、多くの物品(食品雑貨類、化粧品、文房具、等)
で利用されている。バーコードは、汎用の印刷装置を使
用して容易に印刷することができる。バーコードを十分
に控え目に印刷した文書を走査して、これをディジタル
画像システムへ取り込む場合、かかるバーコードは当該
ページの一部を構成することになるから、そのコード化
データを別途抽出する必要がある。
ドが、多くの物品(食品雑貨類、化粧品、文房具、等)
で利用されている。バーコードは、汎用の印刷装置を使
用して容易に印刷することができる。バーコードを十分
に控え目に印刷した文書を走査して、これをディジタル
画像システムへ取り込む場合、かかるバーコードは当該
ページの一部を構成することになるから、そのコード化
データを別途抽出する必要がある。
【0007】解決すべき問題は、ディジタル・イメージ
を表すデータに含まれているバーコードの存在を見つ
け、これを対応するコード化データに変換することであ
る。この場合の要件は、100%の認識精度を得るか又
は認識失敗の表示を与えることである。このコード化デ
ータは分類のために使用されるから、各文字の部分的な
認識又は代用は許されない(“THERE”の代りに
“HERE”を認識することは受け入れられない)。
を表すデータに含まれているバーコードの存在を見つ
け、これを対応するコード化データに変換することであ
る。この場合の要件は、100%の認識精度を得るか又
は認識失敗の表示を与えることである。このコード化デ
ータは分類のために使用されるから、各文字の部分的な
認識又は代用は許されない(“THERE”の代りに
“HERE”を認識することは受け入れられない)。
【0008】この要件を満足するには、(バーコードが
現われる文書上に何かが書き込まれる場合のように)偶
然又は故意の損傷が生じた場合であっても、バーコード
の認識を可能にしなければならない。また、イメージ捕
捉プロセス中に生ずることがある相当な量のスキュー
も、許容しなければならない。
現われる文書上に何かが書き込まれる場合のように)偶
然又は故意の損傷が生じた場合であっても、バーコード
の認識を可能にしなければならない。また、イメージ捕
捉プロセス中に生ずることがある相当な量のスキュー
も、許容しなければならない。
【0009】
【発明が解決しようとする課題】本発明の目的は、ディ
ジタル・イメージを表わすデータに含まれているバーコ
ードの存在を見つけるための改良された方法を提供する
ことにある。本発明の他の目的は、ディジタル・イメー
ジを表わすデータに含まれているバーコードの存在を見
つけて、これを対応するコード化データに変換するため
の改良された方法を提供することにある。本発明の他の
目的は、ディジタル・イメージを表わすデータに含まれ
ているバーコードの存在を見つけて、これをほぼ100
%の精度で認識するための改良された方法を提供するこ
とにある。本発明の目的は、ディジタル・イメージを表
すデータに含まれているバーコードの特徴が不明瞭であ
っても、当該バーコードの存在を見つけて、これを対応
するコード化データに変換することにある。本発明の他
の目的は、ディジタル・イメージを表すデータに含まれ
ているバーコードにかなりのスキューがあっても、当該
バーコードの存在を見つけて、これを対応するコード化
データに変換することにある。
ジタル・イメージを表わすデータに含まれているバーコ
ードの存在を見つけるための改良された方法を提供する
ことにある。本発明の他の目的は、ディジタル・イメー
ジを表わすデータに含まれているバーコードの存在を見
つけて、これを対応するコード化データに変換するため
の改良された方法を提供することにある。本発明の他の
目的は、ディジタル・イメージを表わすデータに含まれ
ているバーコードの存在を見つけて、これをほぼ100
%の精度で認識するための改良された方法を提供するこ
とにある。本発明の目的は、ディジタル・イメージを表
すデータに含まれているバーコードの特徴が不明瞭であ
っても、当該バーコードの存在を見つけて、これを対応
するコード化データに変換することにある。本発明の他
の目的は、ディジタル・イメージを表すデータに含まれ
ているバーコードにかなりのスキューがあっても、当該
バーコードの存在を見つけて、これを対応するコード化
データに変換することにある。
【0010】
【課題を解決するための手段】本発明の処理対象は、個
々のバーコード・エレメントを識別可能なスペース分解
能でディジタル的に走査した、ハード・コピーのページ
である。ディジタル的に走査した当該ページのイメージ
は、このページ上の黒マークと白マークを表す2レベル
のビット・ストリングによって表される。このビット・
ストリングを、標準的な圧縮アルゴリズムを使用して圧
縮する。本発明の1つの特徴は、認識モジュールと呼び
出し環境との組み合わせにある。この呼び出し環境は、
認識すべきバーコードのタイプと、このバーコードを識
別して解読する際に使用すべき戦略とに関する情報を供
給する。
々のバーコード・エレメントを識別可能なスペース分解
能でディジタル的に走査した、ハード・コピーのページ
である。ディジタル的に走査した当該ページのイメージ
は、このページ上の黒マークと白マークを表す2レベル
のビット・ストリングによって表される。このビット・
ストリングを、標準的な圧縮アルゴリズムを使用して圧
縮する。本発明の1つの特徴は、認識モジュールと呼び
出し環境との組み合わせにある。この呼び出し環境は、
認識すべきバーコードのタイプと、このバーコードを識
別して解読する際に使用すべき戦略とに関する情報を供
給する。
【0011】大きさ“x”のNラスタ・ラインについ
て、大きさ“x”の1バイト和(sum)のアレイを生
成する。これらの和は、当該イメージのNラインにある
矩形2値イメージ入力アレイ中の“1”ビットを合計し
たものである。ここで、「大きさ」とは、行方向の大き
さ(ディメンション、長さ又は幅)を意味するものとす
る。
て、大きさ“x”の1バイト和(sum)のアレイを生
成する。これらの和は、当該イメージのNラインにある
矩形2値イメージ入力アレイ中の“1”ビットを合計し
たものである。ここで、「大きさ」とは、行方向の大き
さ(ディメンション、長さ又は幅)を意味するものとす
る。
【0012】黒又は白スペースの各ランの長さ(ラン・
レングス)を決定するために、一のスレッショルド値を
設定する。もし、前記和アレイからの一のエレメントの
値が当該スレッショルド値よりも大きければ、このエレ
メントが黒であると推定する。一方、このエレメントの
値が当該スレッショルド値よりも小さければ、このエレ
メントが白であると推定する。次に、当初の“x−y”
ディジタル・イメージにおける黒から白への遷移の数に
等しい大きさを有する、新しいアレイを生成する。この
アレイ中のそれぞれのエレメントの値は、同じ色のペル
(画素)を持つ各ラン・レングスを表す。
レングス)を決定するために、一のスレッショルド値を
設定する。もし、前記和アレイからの一のエレメントの
値が当該スレッショルド値よりも大きければ、このエレ
メントが黒であると推定する。一方、このエレメントの
値が当該スレッショルド値よりも小さければ、このエレ
メントが白であると推定する。次に、当初の“x−y”
ディジタル・イメージにおける黒から白への遷移の数に
等しい大きさを有する、新しいアレイを生成する。この
アレイ中のそれぞれのエレメントの値は、同じ色のペル
(画素)を持つ各ラン・レングスを表す。
【0013】次に、これらのランを、処理中の特定のバ
ーコード規格の規則に従って正規化する。例えば、この
バーコードが9者択3コードであれば、バーコード化し
た各文字ごとに、(9個のエレメント+1個の文字分離
記号)がある。また、有効な各バーコードを区切るため
の、1個の開始文字と1個の終了文字もある。9者択3
コードの正規化プロセスは、前のステップで生成したア
レイからの最初の黒のランで開始して、最初の10個の
エレメントの値を合計する。もし、個別的な任意のエレ
メントの値が、呼び出し環境で定義したスレッショルド
値の範囲外にあれば、これらのランは、有効なバーコー
ドのイメージを表さない。一方、これらの10個のエレ
メントの値の和が、呼び出し環境で定義したスレッショ
ルド値の範囲内になければ、この場合も、これらのラン
は有効なバーコードを表さない。もし、最初の10個の
エレメントの値の和がこれらのテストに合格すれば、こ
の和を、処理中のバーコードのスペース・エレメントの
総数に関係する一の値で除算する。例えば、9者択3コ
ードでは、16個のスペース・エレメント、すなわち7
個のシングル幅と3個のトリプル幅があるから、除数と
して16を用いることができる。この被除数は、このバ
ーコードにおける各スペース・エレメントのペル幅を表
す。
ーコード規格の規則に従って正規化する。例えば、この
バーコードが9者択3コードであれば、バーコード化し
た各文字ごとに、(9個のエレメント+1個の文字分離
記号)がある。また、有効な各バーコードを区切るため
の、1個の開始文字と1個の終了文字もある。9者択3
コードの正規化プロセスは、前のステップで生成したア
レイからの最初の黒のランで開始して、最初の10個の
エレメントの値を合計する。もし、個別的な任意のエレ
メントの値が、呼び出し環境で定義したスレッショルド
値の範囲外にあれば、これらのランは、有効なバーコー
ドのイメージを表さない。一方、これらの10個のエレ
メントの値の和が、呼び出し環境で定義したスレッショ
ルド値の範囲内になければ、この場合も、これらのラン
は有効なバーコードを表さない。もし、最初の10個の
エレメントの値の和がこれらのテストに合格すれば、こ
の和を、処理中のバーコードのスペース・エレメントの
総数に関係する一の値で除算する。例えば、9者択3コ
ードでは、16個のスペース・エレメント、すなわち7
個のシングル幅と3個のトリプル幅があるから、除数と
して16を用いることができる。この被除数は、このバ
ーコードにおける各スペース・エレメントのペル幅を表
す。
【0014】この被除数から2個のスレッショルド値を
計算して、これらの値を正規化プロセスのために使用す
る。
計算して、これらの値を正規化プロセスのために使用す
る。
【0015】正規化プロセスの最後の部分は、ラン・レ
ングスを表す前記アレイと同じ大きさを有する、新しい
アレイを生成するものである。このアレイにおける各エ
レメントは、それぞれのラン・レングスを、黒又は白の
スレッショルド値で除算した被除数に相当する。
ングスを表す前記アレイと同じ大きさを有する、新しい
アレイを生成するものである。このアレイにおける各エ
レメントは、それぞれのラン・レングスを、黒又は白の
スレッショルド値で除算した被除数に相当する。
【0016】正規化プロセスの最後のステップは、正規
化済みのMエレメントの表示から成る16ビット・ワー
ド内に、一の索引値を生成することを含む。但し、M
は、各バーコード文字における物理エレメントの数であ
る。次に、この索引値を、当該バーコード・タイプ用の
有効な値のテーブルと突き合わせる。もし、有効な値が
見つかれば、、次のセットのエレメントについて、正規
化プロセスを反復する。一方、有効な値が見つからなけ
れば、正規化プロセスを、ラン・アレイにおける次の黒
のラン・エレメントの箇所で再開し、そして完全に有効
なバーコードが見つかるか又は当該イメージ・アレイが
完全に処理されるまで、正規化プロセスを反復する。
化済みのMエレメントの表示から成る16ビット・ワー
ド内に、一の索引値を生成することを含む。但し、M
は、各バーコード文字における物理エレメントの数であ
る。次に、この索引値を、当該バーコード・タイプ用の
有効な値のテーブルと突き合わせる。もし、有効な値が
見つかれば、、次のセットのエレメントについて、正規
化プロセスを反復する。一方、有効な値が見つからなけ
れば、正規化プロセスを、ラン・アレイにおける次の黒
のラン・エレメントの箇所で再開し、そして完全に有効
なバーコードが見つかるか又は当該イメージ・アレイが
完全に処理されるまで、正規化プロセスを反復する。
【0017】
【実施例】図1は、9者択3バーコードの1つの例とし
て、3文字の“IBM”をコード化したデータを示して
いる。開始/終了文字として、アステリスク(“*”)
記号を使用する。4本の縦線が文字間スペースの位置を
示し、“*”を“I”から分離し、同様に“I”を
“B”から、“B”を“M”から、“M”を“*”から
分離する。図1のバーコードの上部と左側にある小さな
黒の四角形は、当該ページ・イメージ中の他の情報を表
している。図1の例は、全ての黒のバーが完全であり且
つ白のスペースには黒のノイズが存在しないという意味
で、良好で明瞭なイメージに相当する。図1は、一のバ
ーコードを含む一のイメージ・ページの内容を表すもの
である。
て、3文字の“IBM”をコード化したデータを示して
いる。開始/終了文字として、アステリスク(“*”)
記号を使用する。4本の縦線が文字間スペースの位置を
示し、“*”を“I”から分離し、同様に“I”を
“B”から、“B”を“M”から、“M”を“*”から
分離する。図1のバーコードの上部と左側にある小さな
黒の四角形は、当該ページ・イメージ中の他の情報を表
している。図1の例は、全ての黒のバーが完全であり且
つ白のスペースには黒のノイズが存在しないという意味
で、良好で明瞭なイメージに相当する。図1は、一のバ
ーコードを含む一のイメージ・ページの内容を表すもの
である。
【0018】図2は、走査オペレーションの後のディジ
タル・イメージを、ペルの“行”と“列”によって表し
たものを示している。図2には、1−6と表記した6個
の連続するバーコード“行”と、行−10とが示されて
いる。行−10は、当該イメージ中の先行する点におけ
るイメージ・データを示すものである。“列”について
は、列100−列300からの200個の列が取られて
いる。
タル・イメージを、ペルの“行”と“列”によって表し
たものを示している。図2には、1−6と表記した6個
の連続するバーコード“行”と、行−10とが示されて
いる。行−10は、当該イメージ中の先行する点におけ
るイメージ・データを示すものである。“列”について
は、列100−列300からの200個の列が取られて
いる。
【0019】図3は、図2のディジタル・イメージが
“損傷”している場合の1つの例を示している。垂直の
黒のバーでは、幾つかの“黒”の領域が欠落しており、
また白のスペースには、黒のノイズがある。図5は、図
3の行1−6及び列100−141の拡大図を示してい
る。図6は、図5のイメージが“スキュー”した場合の
1つの例を示している。列121からは、ペルが1行分
だけ上がっている(5%のスキューに相当)。行4から
は、ペルが1列分だけ右に寄っている(33%のスキュ
ーに相当)。
“損傷”している場合の1つの例を示している。垂直の
黒のバーでは、幾つかの“黒”の領域が欠落しており、
また白のスペースには、黒のノイズがある。図5は、図
3の行1−6及び列100−141の拡大図を示してい
る。図6は、図5のイメージが“スキュー”した場合の
1つの例を示している。列121からは、ペルが1行分
だけ上がっている(5%のスキューに相当)。行4から
は、ペルが1列分だけ右に寄っている(33%のスキュ
ーに相当)。
【0020】本発明は、IBMシステムで走行するソフ
トウェアを使用して、この問題を解決するものとして説
明されている。その実現形態は、インテル製のx86プ
ロセッサ上で走行する。もっとも、本発明の手法は、ビ
ット・ストリングを処理可能な全てのプログラム式計算
機(例えば、68000、PC/RT、システム/37
0、AS/400)にも適用することができる。
トウェアを使用して、この問題を解決するものとして説
明されている。その実現形態は、インテル製のx86プ
ロセッサ上で走行する。もっとも、本発明の手法は、ビ
ット・ストリングを処理可能な全てのプログラム式計算
機(例えば、68000、PC/RT、システム/37
0、AS/400)にも適用することができる。
【0021】最初のイメージ・ピックアップ段階では、
個々のバーコード・エレメント(黒/白の遷移)を識別
可能なスペース分解能で、一のページをディジタル的に
走査する。これは、少なくとも200ペル/インチの
(水平方向バーコード用の)水平分解能を暗示する。以
下で詳述するプロセスが、当該イメージ・ページを表す
2レベルのビット・ストリングに作用する。IBM M
MR圧縮アルゴリズム又はCCITT G4 MMR方
法を使用して、このビット・ストリングを圧縮する。ビ
ット・ストリングの適切な圧縮手法は、米国特許第46
46356号明細書に記載されている。
個々のバーコード・エレメント(黒/白の遷移)を識別
可能なスペース分解能で、一のページをディジタル的に
走査する。これは、少なくとも200ペル/インチの
(水平方向バーコード用の)水平分解能を暗示する。以
下で詳述するプロセスが、当該イメージ・ページを表す
2レベルのビット・ストリングに作用する。IBM M
MR圧縮アルゴリズム又はCCITT G4 MMR方
法を使用して、このビット・ストリングを圧縮する。ビ
ット・ストリングの適切な圧縮手法は、米国特許第46
46356号明細書に記載されている。
【0022】本発明の1つの特徴は、バーコード認識用
のカーネル・コンピュータ・プログラム方法と、認識す
べきバーコードのタイプ及び使用すべき戦略パラメータ
に関する情報を供給する呼び出し環境との組み合わせに
ある。本発明は、このカーネルに対し、圧縮済みイメー
ジのバッファをも提供する。
のカーネル・コンピュータ・プログラム方法と、認識す
べきバーコードのタイプ及び使用すべき戦略パラメータ
に関する情報を供給する呼び出し環境との組み合わせに
ある。本発明は、このカーネルに対し、圧縮済みイメー
ジのバッファをも提供する。
【0023】以下では、カーネル・コンピュータ・プロ
グラム方法と呼び出し環境とを説明する。
グラム方法と呼び出し環境とを説明する。
【0024】バーコード認識カーネル 入力 − 大きさ(“x”ペル)×(“y”ペル)を有する圧縮済
みの2レベルのイメージ・データを保持する処の、バッ
ファに対するポインタ。この説明の対象となる例は、図
3のバーコードの一部分として図5に示されている。 * 図4の表に示されている一連の戦略値。
みの2レベルのイメージ・データを保持する処の、バッ
ファに対するポインタ。この説明の対象となる例は、図
3のバーコードの一部分として図5に示されている。 * 図4の表に示されている一連の戦略値。
【0025】出力 − * 文字値 * 成功又は失敗を示す戻りコード。
【0026】プロセス − 1.圧縮済みイメージの一のラスタ・ラインを、ラン・
エンドへ部分的に圧縮解除する(図7はこの圧縮解除の
典型的な結果を示している)。 2.このラインが、有効なバーコードを含むか否かを判
定する。図4は、この例で使用すべき幾つかの戦略値を
示している。 a.このラインには、少なくとも定義された数のラン・
エンドが存在しなければならない。作業中の例について
は、バーコード中の最小の文字数が4と定義されてい
て、その各文字が10個のエレメントを有すると定義さ
れているから、考察中の領域には少なくとも4*10
(=40)個のラン・エンドが存在しなければならな
い。 b.この数のラン・エンドによって囲まれたペルは、或
る範囲内に入らなければならない。作業中の例について
は、4*10のラン・エンドによって囲まれた最小数の
ペルが(1*16*4=64)であり、最大数のペルが
(6*16*4=384)でなければならない。
エンドへ部分的に圧縮解除する(図7はこの圧縮解除の
典型的な結果を示している)。 2.このラインが、有効なバーコードを含むか否かを判
定する。図4は、この例で使用すべき幾つかの戦略値を
示している。 a.このラインには、少なくとも定義された数のラン・
エンドが存在しなければならない。作業中の例について
は、バーコード中の最小の文字数が4と定義されてい
て、その各文字が10個のエレメントを有すると定義さ
れているから、考察中の領域には少なくとも4*10
(=40)個のラン・エンドが存在しなければならな
い。 b.この数のラン・エンドによって囲まれたペルは、或
る範囲内に入らなければならない。作業中の例について
は、4*10のラン・エンドによって囲まれた最小数の
ペルが(1*16*4=64)であり、最大数のペルが
(6*16*4=384)でなければならない。
【0027】図7のラン・エンド#40はこれらの要件
に適合するので、このラインは、以後の処理を受けるこ
とになる。もし、このテストに成功しなければ、ステッ
プ1に戻る。
に適合するので、このラインは、以後の処理を受けるこ
とになる。もし、このテストに成功しなければ、ステッ
プ1に戻る。
【0028】図5の例は、当該イメージ・ページの残り
の部分から分離されたバーコードだけを示しているに過
ぎない。実際には、このバーコードは圧縮解除済みの表
(図7)におけるラスタ・ラインの開始点にはないの
で、前記ステップ2でこのラインの探索が行われる。こ
れが非常に速い検査である所以は、この表が2バイト・
ワードの対(白のラン・エンド、黒のラン・エンド)か
ら成り、そしてn番目とn+(40*2)番目との間の
差が、前記のスレッショルド値(例えば、64と38
4)と比較されるからである。各バーコードの開始点
は、白のラン・エンド(黒の開始点)によって表される
ことが知られている。この点において、潜在的に有効な
バーコードを有する行が存在する。
の部分から分離されたバーコードだけを示しているに過
ぎない。実際には、このバーコードは圧縮解除済みの表
(図7)におけるラスタ・ラインの開始点にはないの
で、前記ステップ2でこのラインの探索が行われる。こ
れが非常に速い検査である所以は、この表が2バイト・
ワードの対(白のラン・エンド、黒のラン・エンド)か
ら成り、そしてn番目とn+(40*2)番目との間の
差が、前記のスレッショルド値(例えば、64と38
4)と比較されるからである。各バーコードの開始点
は、白のラン・エンド(黒の開始点)によって表される
ことが知られている。この点において、潜在的に有効な
バーコードを有する行が存在する。
【0029】3.大きさ“x”の“n”ラスタ・ライン
について、大きさ“x”の1バイト和のアレイを生成す
る。これらの和は、当該イメージの“n”ラインにおけ
る矩形2値イメージ入力アレイ中の“1”ビットを合計
したものである。図8は6ラインの部分的なラン・エン
ドを示し、そしてこれらのラン・エンドが図9に示すよ
うに合計される。
について、大きさ“x”の1バイト和のアレイを生成す
る。これらの和は、当該イメージの“n”ラインにおけ
る矩形2値イメージ入力アレイ中の“1”ビットを合計
したものである。図8は6ラインの部分的なラン・エン
ドを示し、そしてこれらのラン・エンドが図9に示すよ
うに合計される。
【0030】4.合計されたラインの数から導かれた一
のスレッショルド値を使用して、黒又は白の各ラン・レ
ングスを決定する。もし、前記和アレイの一のエレメン
トの値が当該スレッショルド値よりも大きいか又はそれ
に等しければ、このエレメントが黒であると推定する。
一方、当該スレッショルド値よりも小さければ、このエ
レメントが白であると推定する。この段階で、新しいア
レイを生成する(図10)。このアレイは、元の“x”
幅のディジタル・イメージにおける黒から白への遷移の
数に等しい大きさを有する。このアレイ内のそれぞれの
エレメントの値は、同じ色を持つペルの各ラン・レング
スを表す(図10参照)。
のスレッショルド値を使用して、黒又は白の各ラン・レ
ングスを決定する。もし、前記和アレイの一のエレメン
トの値が当該スレッショルド値よりも大きいか又はそれ
に等しければ、このエレメントが黒であると推定する。
一方、当該スレッショルド値よりも小さければ、このエ
レメントが白であると推定する。この段階で、新しいア
レイを生成する(図10)。このアレイは、元の“x”
幅のディジタル・イメージにおける黒から白への遷移の
数に等しい大きさを有する。このアレイ内のそれぞれの
エレメントの値は、同じ色を持つペルの各ラン・レング
スを表す(図10参照)。
【0031】5.次に、これらのランを、処理中の特定
のバーコード規格に特有の規則に従って正規化する。9
者択3コードの場合、各バーコード文字ごとに9個のエ
レメントと、文字分離記号とがある。また、有効な各バ
ーコードを区切る1個の開始文字と、1個の終了文字も
ある。9者択3コードの正規化プロセスは、前のステッ
プで生成したラン・レングスを表すアレイからの最初の
黒のランで開始して、最初の10個のエレメントの値を
合計する。もし、個々のエレメントの値が、呼び出し環
境で定義した値(24)の範囲外にあれば、これらのラ
ンは有効なバーコードのイメージを表さない。一方、こ
れらの10個のエレメントの値の和が、呼び出し環境で
定義したスレッショルド値(1*16,6*16)の範
囲内にない場合も、これらのランは有効なバーコードを
表さない。これらのテストに合格する和を、処理中のバ
ーコードのスペース・エレメント(実際のエレメントで
はない)の総数に関係する値、例えば16によって除算
する。(9者択3コードの場合、16個のスペース・エ
レメント、すなわち7個のシングル幅と3個のトリプル
幅がある。)この被除数は、このバーコード中に存在す
る各スペース・エレメントのペル幅を表す。この例で
は、この計算結果は(2.5を丸めた)3である。
のバーコード規格に特有の規則に従って正規化する。9
者択3コードの場合、各バーコード文字ごとに9個のエ
レメントと、文字分離記号とがある。また、有効な各バ
ーコードを区切る1個の開始文字と、1個の終了文字も
ある。9者択3コードの正規化プロセスは、前のステッ
プで生成したラン・レングスを表すアレイからの最初の
黒のランで開始して、最初の10個のエレメントの値を
合計する。もし、個々のエレメントの値が、呼び出し環
境で定義した値(24)の範囲外にあれば、これらのラ
ンは有効なバーコードのイメージを表さない。一方、こ
れらの10個のエレメントの値の和が、呼び出し環境で
定義したスレッショルド値(1*16,6*16)の範
囲内にない場合も、これらのランは有効なバーコードを
表さない。これらのテストに合格する和を、処理中のバ
ーコードのスペース・エレメント(実際のエレメントで
はない)の総数に関係する値、例えば16によって除算
する。(9者択3コードの場合、16個のスペース・エ
レメント、すなわち7個のシングル幅と3個のトリプル
幅がある。)この被除数は、このバーコード中に存在す
る各スペース・エレメントのペル幅を表す。この例で
は、この計算結果は(2.5を丸めた)3である。
【0032】6.この被除数から、正規化プロセスに使
用する、狭幅/広幅を判定するための2つのスレッショ
ルド値を計算する。かかるスレッショルド値の計算は、
認識中のバーコードのタイプに依存する。この例では、
かかる2つのスレッショルド値が、3及び5として計算
される。
用する、狭幅/広幅を判定するための2つのスレッショ
ルド値を計算する。かかるスレッショルド値の計算は、
認識中のバーコードのタイプに依存する。この例では、
かかる2つのスレッショルド値が、3及び5として計算
される。
【0033】7.正規化プロセスの最後の部分は、ラン
・レングスを表す前記アレイと同じ大きさを有する新し
いアレイを生成することである。このアレイ中の各エレ
メントは、狭幅か広幅かを表す0又は1として計算され
る。黒又は白のスレッショルド値を使用して、各ラン・
レングスが黒又は白のランのどちらを表すかを判定す
る。もし、一のラン・レングスが白のランに相当し且つ
その長さが3以上であれば、これを広幅の白とみなし、
3未満であれば、狭幅の白とみなす。一方、一のラン・
レングスが黒のランに相当し且つその長さが5以上であ
れば、これを広幅の黒とみなし、5未満であれば、狭幅
の黒とみなす。図10は、図5のバーコード部分につい
ての結果を示している。これと同様に、図11は、図6
の過度にスキューされたバーコード部分についての結果
を示している。黒と白のスレッショルド値の差は、スキ
ュー及び印刷の不鮮明に対する許容度を与える。
・レングスを表す前記アレイと同じ大きさを有する新し
いアレイを生成することである。このアレイ中の各エレ
メントは、狭幅か広幅かを表す0又は1として計算され
る。黒又は白のスレッショルド値を使用して、各ラン・
レングスが黒又は白のランのどちらを表すかを判定す
る。もし、一のラン・レングスが白のランに相当し且つ
その長さが3以上であれば、これを広幅の白とみなし、
3未満であれば、狭幅の白とみなす。一方、一のラン・
レングスが黒のランに相当し且つその長さが5以上であ
れば、これを広幅の黒とみなし、5未満であれば、狭幅
の黒とみなす。図10は、図5のバーコード部分につい
ての結果を示している。これと同様に、図11は、図6
の過度にスキューされたバーコード部分についての結果
を示している。黒と白のスレッショルド値の差は、スキ
ュー及び印刷の不鮮明に対する許容度を与える。
【0034】8.最後のプロセスは、正規化済みの
“m”エレメントの表示を構成する16ビット・ワード
内に、一の索引値を生成することを含んでいる。ここ
で、“m”は、各バーコード文字中の物理的なエレメン
トの数(10)である。実際には、これは、9個のエレ
メントと狭幅の文字間ギャップとから成る。次に、この
索引値を、当該バーコードのタイプに関連する有効な値
の表と突き合わせる。この例では、9者択3バーコード
表中の文字“*”に対応する、16進値(0128)を
生成する。もし、有効な値が見つかれば、このプロセス
は、次のセットのエレメントについて反復する。一方、
有効な値が見つからなければ、この正規化プロセスを、
ラン・アレイにおける次の黒のラン・エレメントの箇所
で再開し、そして完全に有効なバーコードが見つかるか
又は当該イメージ・アレイが完全に処理されるまで、正
規化プロセスを反復する。
“m”エレメントの表示を構成する16ビット・ワード
内に、一の索引値を生成することを含んでいる。ここ
で、“m”は、各バーコード文字中の物理的なエレメン
トの数(10)である。実際には、これは、9個のエレ
メントと狭幅の文字間ギャップとから成る。次に、この
索引値を、当該バーコードのタイプに関連する有効な値
の表と突き合わせる。この例では、9者択3バーコード
表中の文字“*”に対応する、16進値(0128)を
生成する。もし、有効な値が見つかれば、このプロセス
は、次のセットのエレメントについて反復する。一方、
有効な値が見つからなければ、この正規化プロセスを、
ラン・アレイにおける次の黒のラン・エレメントの箇所
で再開し、そして完全に有効なバーコードが見つかるか
又は当該イメージ・アレイが完全に処理されるまで、正
規化プロセスを反復する。
【0035】もし、有効な開始文字が見つかっても、当
該コード中の以後の文字を見つける際に誤りが検出され
るならば、このルーチンは、追加セットの行を既に合計
されたものと合計する(この例では、10個の行の値を
使用する)。こうすると、多くの場合、ノイズを除去す
ることができる。これを2ステップで実行することによ
り、高い品質のイメージを非常に速やかに認識すること
ができる。追加の処理を必要とするのは、低い品質のイ
メージだけである。
該コード中の以後の文字を見つける際に誤りが検出され
るならば、このルーチンは、追加セットの行を既に合計
されたものと合計する(この例では、10個の行の値を
使用する)。こうすると、多くの場合、ノイズを除去す
ることができる。これを2ステップで実行することによ
り、高い品質のイメージを非常に速やかに認識すること
ができる。追加の処理を必要とするのは、低い品質のイ
メージだけである。
【0036】プロセスAの説明(図12) ステップ20は、圧縮済みのイメージから1ラスタ・ラ
インを獲得して、これを図7に示すようなラン・エンド
のアレイへ圧縮解除する。もし、当該イメージの終わり
が処理済みであれば、圧縮解除ルーチンは状況コードを
戻す。
インを獲得して、これを図7に示すようなラン・エンド
のアレイへ圧縮解除する。もし、当該イメージの終わり
が処理済みであれば、圧縮解除ルーチンは状況コードを
戻す。
【0037】ステップ22は、この標識を検査してイメ
ージの終わりを検出すると、このルーチンを“未発見”
標識で以て終了させる。
ージの終わりを検出すると、このルーチンを“未発見”
標識で以て終了させる。
【0038】ステップ24は、圧縮解除したばかりの行
(ライン)の数を検査する。もし、これが“m”番目の
ラインであれば、ステップ26に進み、さもなければ、
このラインを無視して次のラインを圧縮解除する(ステ
ップ20)。但し、m=(スキップすべきライン数)*
(整数)である。
(ライン)の数を検査する。もし、これが“m”番目の
ラインであれば、ステップ26に進み、さもなければ、
このラインを無視して次のラインを圧縮解除する(ステ
ップ20)。但し、m=(スキップすべきライン数)*
(整数)である。
【0039】ステップ26は、このイメージ行で検出し
たラン・エンドの数に関係する値を保持する、ラン・エ
ンド・バッファの最初の記憶ワードを検査する。もし、
この値が、(最小の文字数)*(文字当たりのエレメン
ト数)として計算された一のスレッショルド値よりも小
さければ、このラインを破棄して次のラインを圧縮解除
する(ステップ20)。一方、この値が当該スレッショ
ルド値よりも大きければ、ステップ28に進む。この例
では、行−10は10個のラン・エンドを有するに過ぎ
ないから、4個のコード化文字を表すべき4*10個の
ラン・エンドを有するという最小限の要件を満足してい
ない。
たラン・エンドの数に関係する値を保持する、ラン・エ
ンド・バッファの最初の記憶ワードを検査する。もし、
この値が、(最小の文字数)*(文字当たりのエレメン
ト数)として計算された一のスレッショルド値よりも小
さければ、このラインを破棄して次のラインを圧縮解除
する(ステップ20)。一方、この値が当該スレッショ
ルド値よりも大きければ、ステップ28に進む。この例
では、行−10は10個のラン・エンドを有するに過ぎ
ないから、4個のコード化文字を表すべき4*10個の
ラン・エンドを有するという最小限の要件を満足してい
ない。
【0040】次に、ステップ28は、前記スレッショル
ド値に等しい数のラン・エンドにより分離され且つ白の
ラン・エンド(黒の開始)で開始する処の、2つのラン
・エンドの間の差を検査して、この差が、有効なバーコ
ードの最小のスレッショルド値と最大のスレッショルド
値との間にあるか否かを判定する。この例では、もしラ
ン・エンド1とラン・エンド40との間の差が64と3
84の間にあれば、この差はテストに合格する。もし、
この差がテストに合格しなければ、ラン・エンドのアレ
イが使い尽くされるまで、ラン・エンド3とラン・エン
ド42の間の差や、これと同様の差について、このテス
トを反復する。もし、その行全体がこのテストに合格し
なければ、次のラインを圧縮解除する(ステップ2
0)。一方、このラインがテストに合格すれば、このラ
インは、(図13の)ステップ30でプロセスBに渡さ
れる。
ド値に等しい数のラン・エンドにより分離され且つ白の
ラン・エンド(黒の開始)で開始する処の、2つのラン
・エンドの間の差を検査して、この差が、有効なバーコ
ードの最小のスレッショルド値と最大のスレッショルド
値との間にあるか否かを判定する。この例では、もしラ
ン・エンド1とラン・エンド40との間の差が64と3
84の間にあれば、この差はテストに合格する。もし、
この差がテストに合格しなければ、ラン・エンドのアレ
イが使い尽くされるまで、ラン・エンド3とラン・エン
ド42の間の差や、これと同様の差について、このテス
トを反復する。もし、その行全体がこのテストに合格し
なければ、次のラインを圧縮解除する(ステップ2
0)。一方、このラインがテストに合格すれば、このラ
インは、(図13の)ステップ30でプロセスBに渡さ
れる。
【0041】プロセスBの説明(図13) ステップ30は、複数の作業アレイをゼロにクリアす
る。
る。
【0042】ステップ32では、プロセスAから渡され
た行を新しいアレイdに合計する。アレイdは、一のイ
メージ行におけるペルの数eに等しい大きさを有する。
た行を新しいアレイdに合計する。アレイdは、一のイ
メージ行におけるペルの数eに等しい大きさを有する。
【0043】この合計プロセスは、当該イメージ行中の
黒のペルに対応するアレイdの各エレメントに1を加え
ることを含んでいる。例えば、もし101番目のペルが
黒であれば、アレイdの101番目のエレメントを1だ
け増加(インクレメント)する。この合計プロセスを次
のc−1行について実行し、これらの行をラン・エンド
へ部分的に圧縮解除して、c行の合計操作を完了させ
る。この結果、アレイdのe個のエレメントは、それぞ
れ0(純然たる白)とc(純然たる黒)との間の値を有
することになる。
黒のペルに対応するアレイdの各エレメントに1を加え
ることを含んでいる。例えば、もし101番目のペルが
黒であれば、アレイdの101番目のエレメントを1だ
け増加(インクレメント)する。この合計プロセスを次
のc−1行について実行し、これらの行をラン・エンド
へ部分的に圧縮解除して、c行の合計操作を完了させ
る。この結果、アレイdのe個のエレメントは、それぞ
れ0(純然たる白)とc(純然たる黒)との間の値を有
することになる。
【0044】ステップ34及び36は、このアレイdを
処理して、新しいアレイfを生成する。新しいアレイf
の各エレメントは、アレイdで見つけられた黒又は白の
ランのラン・レングスをそれぞれ表す。このラン・レン
グスは、c/2よりも小さいか又はそれに等しい
(白)、或いはc/2よりも大きい(黒)、連続するエ
レメントの数を表す。アレイfは、ノイズとドロップア
ウトを考慮した後の、正規化済みイメージの表示を保持
する。
処理して、新しいアレイfを生成する。新しいアレイf
の各エレメントは、アレイdで見つけられた黒又は白の
ランのラン・レングスをそれぞれ表す。このラン・レン
グスは、c/2よりも小さいか又はそれに等しい
(白)、或いはc/2よりも大きい(黒)、連続するエ
レメントの数を表す。アレイfは、ノイズとドロップア
ウトを考慮した後の、正規化済みイメージの表示を保持
する。
【0045】ステップ42は、アレイfの最初の10個
(バーコード文字中のエレメントの数)のエレメントの
値を合計し、この和が2つのスレッショルド値の間にあ
るか否かを検査する。もし、この和がこれらのスレッシ
ョルド値の間にあれば、ステップ46に進み、さもなけ
れば、ステップ44に進む。
(バーコード文字中のエレメントの数)のエレメントの
値を合計し、この和が2つのスレッショルド値の間にあ
るか否かを検査する。もし、この和がこれらのスレッシ
ョルド値の間にあれば、ステップ46に進み、さもなけ
れば、ステップ44に進む。
【0046】ステップ44は、アレイfのポインタを増
加して、次の黒のラン・レングスをステップ42の“最
初”として指定する。アレイfの終わりでなければ、ス
テップ42の操作を継続する。一方、アレイfの終わり
であれば、プロセスAに戻って終了する。
加して、次の黒のラン・レングスをステップ42の“最
初”として指定する。アレイfの終わりでなければ、ス
テップ42の操作を継続する。一方、アレイfの終わり
であれば、プロセスAに戻って終了する。
【0047】ステップ46は、アレイfから新しいアレ
イgを計算する。アレイgのエレメントは、アレイfの
エレメントと1対1で対応する。この関係を計算するた
め、ステップ42からの和を取り、これをバーコード文
字中のスペース・エレメントの数で除算する。認識中の
バーコードのタイプに依存して、アレイf中のラン・レ
ングスに対応する白/黒及び広幅/狭幅のエレメントを
判定するための、スレッショルド値を計算する。かく
て、アレイg中のエレメントは、広幅/狭幅の標識を保
持する。
イgを計算する。アレイgのエレメントは、アレイfの
エレメントと1対1で対応する。この関係を計算するた
め、ステップ42からの和を取り、これをバーコード文
字中のスペース・エレメントの数で除算する。認識中の
バーコードのタイプに依存して、アレイf中のラン・レ
ングスに対応する白/黒及び広幅/狭幅のエレメントを
判定するための、スレッショルド値を計算する。かく
て、アレイg中のエレメントは、広幅/狭幅の標識を保
持する。
【0048】ステップ48は、(バーコードのタイプに
依存して)10個の広幅/狭幅の標識を組み合わせるこ
とにより、バーコードのタイプに依存する表内の文字コ
ードを索引するのに使用する10ビット値を生成する。
もし、有効なコードが見つからなければ、ステップ50
を実行する。一方、有効なコードが見つかれば、ステッ
プ54を実行する。
依存して)10個の広幅/狭幅の標識を組み合わせるこ
とにより、バーコードのタイプに依存する表内の文字コ
ードを索引するのに使用する10ビット値を生成する。
もし、有効なコードが見つからなければ、ステップ50
を実行する。一方、有効なコードが見つかれば、ステッ
プ54を実行する。
【0049】ステップ50は、既に有効なコードが見つ
かっているか否かを検査する。もし、見つかっていれ
ば、処理中のイメージは損傷している蓋然性が高いの
で、(追加の行を合計する)追加の処理を実行して、良
好なバーコードを識別できるようにする。もし、かかる
追加の合計がまだ行われていなければ、呼び出しオプシ
ョンとして供給される次の和の値に等しくなるようにc
をセットし、ステップ32でそれ以上の行を処理すると
ともに、ステップ32−48を反復する。一方、かかる
追加の処理が既に行われていれば、ステップ44を実行
して、当該イメージ行について同様の処理を試みる。
かっているか否かを検査する。もし、見つかっていれ
ば、処理中のイメージは損傷している蓋然性が高いの
で、(追加の行を合計する)追加の処理を実行して、良
好なバーコードを識別できるようにする。もし、かかる
追加の合計がまだ行われていなければ、呼び出しオプシ
ョンとして供給される次の和の値に等しくなるようにc
をセットし、ステップ32でそれ以上の行を処理すると
ともに、ステップ32−48を反復する。一方、かかる
追加の処理が既に行われていれば、ステップ44を実行
して、当該イメージ行について同様の処理を試みる。
【0050】ステップ54は、有効なバーコード文字が
見つかった場合に開始する。もし、当該イメージが左端
の箇所で下方にスキューされていれば、開始文字を解読
する前に、有効な文字が見つかることもある。ステップ
54は、開始コードが見つかったか否かを検査する。も
し、見つかっていなければ、当該文字は文脈上は有効で
はないので、ステップ44を実行する。
見つかった場合に開始する。もし、当該イメージが左端
の箇所で下方にスキューされていれば、開始文字を解読
する前に、有効な文字が見つかることもある。ステップ
54は、開始コードが見つかったか否かを検査する。も
し、見つかっていなければ、当該文字は文脈上は有効で
はないので、ステップ44を実行する。
【0051】ステップ56が開始するのは、現在の文字
が有効であり且つ開始文字が解読されている場合であ
る。もし、当該コードが終了文字でなければ、これは有
効コードとみなされ、ステップ58に進む。一方、これ
が終了文字であれば、ステップ60に進む。
が有効であり且つ開始文字が解読されている場合であ
る。もし、当該コードが終了文字でなければ、これは有
効コードとみなされ、ステップ58に進む。一方、これ
が終了文字であれば、ステップ60に進む。
【0052】ステップ58では、有効な文字が見つかっ
ているから、これを出力バッファにセットし、ステップ
44を経由して解読プロセスに進む。
ているから、これを出力バッファにセットし、ステップ
44を経由して解読プロセスに進む。
【0053】ステップ60が開始するのは、開始文字、
終了文字及び幾つかのデータ文字が解読されている場合
である。指定した最小数の文字が見つかったか否かを検
査する。もし、見つかっていれば、良好なバーコードが
見つかっているので、呼び出し元に対し、成功を表す状
況コードを戻すことができる。さもなければ、ステップ
62に進む。
終了文字及び幾つかのデータ文字が解読されている場合
である。指定した最小数の文字が見つかったか否かを検
査する。もし、見つかっていれば、良好なバーコードが
見つかっているので、呼び出し元に対し、成功を表す状
況コードを戻すことができる。さもなければ、ステップ
62に進む。
【0054】ステップ62は、バーコードが最小限の要
件を満足しなかったという理由で、出力バッファをクリ
アした後に、ステップ44に進む。
件を満足しなかったという理由で、出力バッファをクリ
アした後に、ステップ44に進む。
【0055】呼び出し環境 認識プロセスのこの部分は、ディジタル・イメージ・フ
ァイルを見つけて、カーネル・ルーチンに渡すために圧
縮済みの2レベルのイメージ・データのバッファを用意
する。
ァイルを見つけて、カーネル・ルーチンに渡すために圧
縮済みの2レベルのイメージ・データのバッファを用意
する。
【0056】幾つかのアプリケーションは、イメージ・
ページ全体の中でバーコードが見つかりそうな場所を知
っているので、かかる矩形の座標に関する情報をカーネ
ルに渡すことができる。こうすると、潜在的なバーコー
ドについてのカーネルの探索を、圧縮解除済みの行の或
る範囲に限定することができる(開始行に達するまで探
索を始めなくてもよく、しかも最大の垂直エクステント
に達すると、直ちに終了することができる)。他のアプ
リケーションは、バーコードがイメージ内のどこかに現
われることだけを知っているに過ぎない。この呼び出し
環境は、バーコード探索用の戦略を制御するものであ
る。この戦略は、特に以下の事項に依存する。
ページ全体の中でバーコードが見つかりそうな場所を知
っているので、かかる矩形の座標に関する情報をカーネ
ルに渡すことができる。こうすると、潜在的なバーコー
ドについてのカーネルの探索を、圧縮解除済みの行の或
る範囲に限定することができる(開始行に達するまで探
索を始めなくてもよく、しかも最大の垂直エクステント
に達すると、直ちに終了することができる)。他のアプ
リケーションは、バーコードがイメージ内のどこかに現
われることだけを知っているに過ぎない。この呼び出し
環境は、バーコード探索用の戦略を制御するものであ
る。この戦略は、特に以下の事項に依存する。
【0057】* バーコードの高さ * バーコードのスキューの予想最大レベル * 黒と白を識別するための走査機構のコントラストの
セッティング−これはカーネルに渡すべきスレッショル
ド値のセッティングを決定する * バーコードが存在する確度が高い位置(探索を行う
順序に配列) * バーコードが(例えば、走査対象の文書ページ上に
ある手書き注釈によって)汚れている確率。
セッティング−これはカーネルに渡すべきスレッショル
ド値のセッティングを決定する * バーコードが存在する確度が高い位置(探索を行う
順序に配列) * バーコードが(例えば、走査対象の文書ページ上に
ある手書き注釈によって)汚れている確率。
【0058】カーネルに渡される重要なパラメータは、
次の通りである。 * 処理すべき圧縮済みのイメージ・データを指定する
ポインタ * スレッショルド値。
次の通りである。 * 処理すべき圧縮済みのイメージ・データを指定する
ポインタ * スレッショルド値。
【0059】バーコードの明瞭なイメージを処理すると
いう第1の前提事項と、失敗の表示が得られる場合に
は、(実際のイメージ処理で生ずる)ノイズ、スキュー
及びその他の無関係の情報を識別するために、同じイメ
ージ矩形を一層綿密に処理するという第2の前提事項を
基礎として、これらの2つの機能を分離すると、各ルー
チンの処理速度を最適化することが可能である。
いう第1の前提事項と、失敗の表示が得られる場合に
は、(実際のイメージ処理で生ずる)ノイズ、スキュー
及びその他の無関係の情報を識別するために、同じイメ
ージ矩形を一層綿密に処理するという第2の前提事項を
基礎として、これらの2つの機能を分離すると、各ルー
チンの処理速度を最適化することが可能である。
【0060】
【発明の効果】本発明の方法によれば、良好なラスタ・
イメージを高速で解読することができるだけでなく、低
い品質の不明瞭なイメージであっても、これを若干長い
処理時間を要するだけで処理することができる。更に、
アプリケーションや、認識すべきバーコードのタイプ
や、処理対象とする文書イメージに従って、識別パラメ
ータをセットすることができる。本発明は、イメージの
走査分解能とは無関係であるばかりでなく、バーコード
の幾何的形状(例えば、バーの絶対幅)とも無関係であ
る。
イメージを高速で解読することができるだけでなく、低
い品質の不明瞭なイメージであっても、これを若干長い
処理時間を要するだけで処理することができる。更に、
アプリケーションや、認識すべきバーコードのタイプ
や、処理対象とする文書イメージに従って、識別パラメ
ータをセットすることができる。本発明は、イメージの
走査分解能とは無関係であるばかりでなく、バーコード
の幾何的形状(例えば、バーの絶対幅)とも無関係であ
る。
【図1】文書ラインに垂直なバーコード・エレメントを
持つ完全なバーコードを示す図である。
持つ完全なバーコードを示す図である。
【図2】図1のバーコードをディジタル・イメージの形
式で表す図である。
式で表す図である。
【図3】バーコードのディジタル・イメージ・データが
損傷している実際の例を示す図である。
損傷している実際の例を示す図である。
【図4】本発明を説明するために使用する解読制約表の
内容を示す図である。
内容を示す図である。
【図5】不明瞭なバーコードにおけるペルの拡大図であ
る。
る。
【図6】スキューの存在によって図5のバーコードがど
のように見えるかを示す図である。
のように見えるかを示す図である。
【図7】走査済みの行をラン・エンドへ部分的に圧縮解
除することから得られる表の内容を示す図である。
除することから得られる表の内容を示す図である。
【図8】行1−6をペル列140まで部分的に圧縮解除
することから得られる表の内容を示す図である。
することから得られる表の内容を示す図である。
【図9】行1−6の和アレイが図8の表からどのように
生成されるかを示す図である。
生成されるかを示す図である。
【図10】新しいアレイがどのように生成されるを示す
図である。
図である。
【図11】図6のスキューされたイメージから得られる
和アレイを示す図である。
和アレイを示す図である。
【図12】ラスタ・ラインを最初に評価するための、バ
ーコード認識方法の第1の段階を示す流れ図である。
ーコード認識方法の第1の段階を示す流れ図である。
【図13】図12の流れ図から続く、バーコード認識方
法の第2の段階を示す流れ図である。
法の第2の段階を示す流れ図である。
フロントページの続き (56)参考文献 特開 平1−156885(JP,A) 特開 平2−76087(JP,A) 特開 昭58−189773(JP,A)
Claims (5)
- 【請求項1】 次の各ステップからなる、ディジタル・
イメージを表すデータに含まれるバーコードを認識する
方法。 (a)長さxのNラスタ・ラインのディジタル・イメー
ジを表すデータをバッファするステップ。但し、xとN
はいずれも2より大きい正の整数である。 (b)前記Nラスタ・ラインのバッファ・データから、
長さがxで高さがNラインに相当する当該ディジタル・
イメージの矩形2値イメージ入力アレイにおける1ビッ
トを各ペル列ごとに合計することにより、x個の和を有
する第1のアレイを生成するステップ。 (c)前記和の各々を、第1のスレッショルド値と比較
し、当該和が第1のスレッショルド値よりも大きけれ
ば、当該和に関連するペル列が黒の領域を表すものと判
定し、当該和が第1のスレッショルド値よりも小さけれ
ば、当該和に関連するペル列が白の領域を表すものと判
定するステップ。 (d)前記黒の領域と前記白の領域のラン・レングスを
それぞれ表す一連のレングス・データ・エレメントを有
する第2のアレイを生成するステップ。 (e)前記黒の領域と前記白の領域を正規化するため、
前記第2のアレイのレングス・データ・エレメントのう
ち処理中のバーコードのタイプに従って定められた個数
のレングス・データ・エレメントを合計するステップ。 (f)前記ステップ(e)から得られた一の和を、処理
中のバーコードのタイプに従って定められたスペース・
エレメントの総数に関係する一の値によって除算するス
テップ。 (g)前記除算結果に応じて計算された第2のスレッシ
ョルド値と、前記定められた個数のレングス・データ・
エレメントを比較することにより、前記黒の領域と前記
白の領域のラン・レングスを広幅又は狭幅としてそれぞ
れ特徴づけるための標識データ・エレメントを生成する
ステップ。 (h)前記標識データ・エレメントに応答して、一のバ
ーコード文字を解読し且つ前記バーコードによって表さ
れる一の文字ストリングを生成するステップ。 - 【請求項2】 次の各ステップからなる、ディジタル・
イメージを表すデータに含まれるバーコードを認識する
方法。 (a)ディジタル・イメージのMラスタ・ラインを表す
データを入力するステップ。但し、Mは、2より大きい
正の整数である。 (b)前記Mラスタ・ラインのうち一のラスタ・ライン
が有効なバーコードを含むか否かを判定するステップ。 (c)前記一のラスタ・ラインを、前記ディジタル・イ
メージの複数のペル列の2値状態を表すための複数のエ
レメントを有する、一のラン・エンド・アレイに変換す
るステップ。 (d)前記一のラスタ・ラインに関連する前記ラン・エ
ンド・アレイ内に、少なくともNエレメントがあるか否
かを判定するステップ。但し、Nは、処理中のバーコー
ドのタイプによって定まる、2より大きい正の整数であ
る。 (e)前記Mラスタ・ラインのうち前記一のラスタ・ラ
インを除く残りのラスタ・ラインについて、前記ステッ
プ(b)ないし(d)を反復するステップ。 (f)前記Mラスタ・ラインに関連するM個の前記ラン
・エンド・アレイ内の前記複数のペル列の2値状態を、
各ペル列ごとに合計するステップ。 (g)前記ステップ(f)から得られた和の各々を、M
の一の算術関数値である第1のスレッショルド値と比較
し、当該和が第1のスレッショルド値よりも大きけれ
ば、当該和に関連するペル列を黒と判定するステップ。 (h)前記複数のペル列のうち黒と判定されたペル列の
ラン・レングスをそれぞれ表すレングス・データ・エレ
メントを計算するステップ。 (i)前記計算されたレングス・データ・エレメントの
うち、処理中のバーコードのタイプに従って定められた
個数のレングス・データ・エレメントを合計するステッ
プ。 (j)前記ステップ(i)から得られた一の和を、処理
中のバーコードのタイプに従って定められたスペース・
エレメントの総数に関係する一の値によって除算するス
テップ。 (k)前記除算結果に応じて計算された第2のスレッシ
ョルド値と、前記定められた個数のレングス・データ・
エレメントを比較することにより、黒と判定されたペル
列のラン・レングスを広幅又は狭幅としてそれぞれ特徴
づけるための標識データ・エレメントを生成するステッ
プ。 (l)前記標識データ・エレメントに応答して、一のバ
ーコード文字を解読し且つ前記バーコードによって表さ
れる一の文字ストリングを生成するステップ。 - 【請求項3】 前記ステップ(b)が、前記一のラスタ
・ラインに少なくとも処理中のバーコードのタイプに従
って定められた所定数のラン・エンドが生ずるか否かを
判定することを含む、請求項2記載のバーコードを認識
する方法。 - 【請求項4】 前記ステップ(a)が、処理中のバーコ
ードの予想された高さに基づいて、Mの値を選択するこ
とを含む、請求項2記載のバーコードを認識する方法。 - 【請求項5】 前記ステップ(a)が、処理中のバーコ
ードの予想された最大レベルのスキューに基づいて、M
の値を選択することを含む、請求項2記載のバーコード
を認識する方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US500980 | 1990-03-29 | ||
| US07/500,980 US4992650A (en) | 1990-03-29 | 1990-03-29 | Method and apparatus for barcode recognition in a digital image |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04225485A JPH04225485A (ja) | 1992-08-14 |
| JPH0812681B2 true JPH0812681B2 (ja) | 1996-02-07 |
Family
ID=23991664
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3060763A Expired - Fee Related JPH0812681B2 (ja) | 1990-03-29 | 1991-02-12 | バーコードを認識する方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US4992650A (ja) |
| EP (1) | EP0448945A3 (ja) |
| JP (1) | JPH0812681B2 (ja) |
Families Citing this family (73)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5124537A (en) * | 1990-10-29 | 1992-06-23 | Omniplanar, Inc. | Omnidirectional bar code reader using virtual scan of video raster scan memory |
| US5262625A (en) * | 1991-11-15 | 1993-11-16 | Ncr Corporation | Multiple bar code decoding system and method |
| US5251273A (en) * | 1992-04-15 | 1993-10-05 | International Business Machines Corporation | Data processing system and method for sequentially repairing character recognition errors for scanned images of document forms |
| US5438636A (en) * | 1992-05-14 | 1995-08-01 | United Parcel Service Of America, Inc. | Apparatus for simultaneously convolving multiple digital binary images using a single convolver with a binary mask to determine pixel densities |
| US5487115A (en) * | 1992-05-14 | 1996-01-23 | United Parcel Service | Method and apparatus for determining the fine angular orientation of bar code symbols in two-dimensional CCD images |
| US5276315A (en) * | 1992-05-14 | 1994-01-04 | United Parcel Service Of America, Inc. | Method and apparatus for processing low resolution images of degraded bar code symbols |
| US5748804A (en) * | 1992-05-14 | 1998-05-05 | United Parcel Service Of America, Inc. | Method and apparatus for processing images with symbols with dense edges |
| US5311000A (en) * | 1992-07-31 | 1994-05-10 | Spectra-Physics Scanning Systems, Inc. | Bar code scanner and method of scanning |
| US6021283A (en) * | 1992-07-31 | 2000-02-01 | Fuji Photo Film Co., Ltd. | Photographic film cartridge with bar code disc and bar code reader for use therewith |
| 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 |
| US5418862A (en) * | 1992-08-10 | 1995-05-23 | United Parcel Service Of America | Method and apparatus for detecting artifact corners in two-dimensional 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 |
| US5493108A (en) * | 1992-10-14 | 1996-02-20 | Spectra-Physics Scanning Systems, Inc. | Method and apparatus for recognizing and assembling optical code information from partially scanned segments |
| US5412197A (en) * | 1993-01-29 | 1995-05-02 | United Parcel Service Of America, Inc. | Method and apparatus for decoding bar code symbols using gradient signals |
| US5352878A (en) * | 1993-01-29 | 1994-10-04 | United Parcel Service Of America, Inc. | Method and apparatus for decoding bar code symbols using independent bar and space analysis |
| US5384451A (en) * | 1993-01-29 | 1995-01-24 | United Parcel Service Of America, Inc. | Method and apparatus for decoding bar code symbols using composite signals |
| US5404003A (en) * | 1993-02-01 | 1995-04-04 | United Parcel Service Of America, Inc. | Method and apparatus for decoding bar code symbols using byte-based searching |
| WO1994020925A1 (en) * | 1993-03-01 | 1994-09-15 | United Parcel Service Of America, Inc. | Method and apparatus for locating a two-dimensional symbol using a double template |
| DE4323293C2 (de) * | 1993-07-12 | 1996-07-25 | Sick Optik Elektronik Erwin | Verfahren und Abtastanordnung zur Identifizierung eines aus aufeinanderfolgenden hellen und dunklen Feldern bestehenden Codes |
| US5428694A (en) * | 1993-10-14 | 1995-06-27 | International Business Machines Corporation | Data processing system and method for forms definition, recognition and verification of scanned images of document forms |
| US5438188A (en) * | 1994-04-01 | 1995-08-01 | United Parcel Service Of America, Inc. | Method and apparatus for decoding bar code images using information from previous scan lines |
| US5412196A (en) * | 1994-04-01 | 1995-05-02 | United Parcel Service Of America, Inc. | Method and apparatus for decoding bar code images using multi-order feature vectors |
| US5468946A (en) * | 1994-04-29 | 1995-11-21 | Eastman Kodak Company | Method and apparatus for decoding multi-level bar codes or bi-level bar codes |
| GB2296120A (en) * | 1994-12-13 | 1996-06-19 | Ibm | Barcode decoding |
| US5701591A (en) * | 1995-04-07 | 1997-12-23 | Telecommunications Equipment Corporation | Multi-function interactive communications system with circularly/elliptically polarized signal transmission and reception |
| US6460766B1 (en) | 1996-10-28 | 2002-10-08 | Francis Olschafskie | Graphic symbols and method and system for identification of same |
| US6454168B1 (en) | 1998-09-14 | 2002-09-24 | Psc Scanning, Inc. | Correlation and stitching techniques in a bar code scanning system |
| US6513714B1 (en) | 1998-09-14 | 2003-02-04 | Psc Scanning, Inc. | Character reconstruction and element level processing in bar code scanning system |
| US6494376B1 (en) | 1998-09-14 | 2002-12-17 | Psc Scanning, Inc. | Compensation for scan line variations in a bar code scanner system |
| US6585157B2 (en) | 1998-09-14 | 2003-07-01 | Psc Scanning, Inc. | Symbology determination to aid decoding in a bar code scanning system |
| KR100310832B1 (ko) * | 1998-11-12 | 2001-12-28 | 오길록 | 4상태3바코드장치및그장치의제어방법 |
| JP4073120B2 (ja) * | 1999-06-03 | 2008-04-09 | 富士通株式会社 | 情報処理装置 |
| JP4202101B2 (ja) * | 2002-10-10 | 2008-12-24 | 富士通株式会社 | バーコード認識方法、および認識用デコード処理装置 |
| US7025269B2 (en) * | 2003-04-24 | 2006-04-11 | Watson Label Products Corp. | Barcodes including embedded security features and space saving interleaved text |
| WO2004097714A2 (en) * | 2003-04-24 | 2004-11-11 | Watson Label Products Corp. | Barcodes including embedded security features and space saving interleaved text |
| US7379562B2 (en) | 2004-03-31 | 2008-05-27 | Microsoft Corporation | Determining connectedness and offset of 3D objects relative to an interactive surface |
| US7204428B2 (en) * | 2004-03-31 | 2007-04-17 | Microsoft Corporation | Identification of object on interactive display surface by identifying coded pattern |
| US7394459B2 (en) | 2004-04-29 | 2008-07-01 | Microsoft Corporation | Interaction between objects and a virtual environment display |
| US7397464B1 (en) | 2004-04-30 | 2008-07-08 | Microsoft Corporation | Associating application states with a physical object |
| US7134756B2 (en) * | 2004-05-04 | 2006-11-14 | Microsoft Corporation | Selectable projector and imaging modes of display table |
| US7467380B2 (en) * | 2004-05-05 | 2008-12-16 | Microsoft Corporation | Invoking applications with virtual objects on an interactive display |
| US20050259845A1 (en) * | 2004-05-24 | 2005-11-24 | Microsoft Corporation | Restricting the display of information with a physical object |
| US7787706B2 (en) * | 2004-06-14 | 2010-08-31 | Microsoft Corporation | Method for controlling an intensity of an infrared source used to detect objects adjacent to an interactive display surface |
| US7358962B2 (en) * | 2004-06-15 | 2008-04-15 | Microsoft Corporation | Manipulating association of data with a physical object |
| US7432917B2 (en) * | 2004-06-16 | 2008-10-07 | Microsoft Corporation | Calibration of an interactive display system |
| US7593593B2 (en) | 2004-06-16 | 2009-09-22 | Microsoft Corporation | Method and system for reducing effects of undesired signals in an infrared imaging system |
| US7254665B2 (en) | 2004-06-16 | 2007-08-07 | Microsoft Corporation | Method and system for reducing latency in transferring captured image data by utilizing burst transfer after threshold is reached |
| US7168813B2 (en) * | 2004-06-17 | 2007-01-30 | Microsoft Corporation | Mediacube |
| US7259758B2 (en) * | 2004-06-21 | 2007-08-21 | Microsoft Corporation | System and method for reducing latency in display of computer-generated graphics |
| US7511703B2 (en) * | 2004-06-28 | 2009-03-31 | Microsoft Corporation | Using size and shape of a physical object to manipulate output in an interactive display application |
| US7466308B2 (en) | 2004-06-28 | 2008-12-16 | Microsoft Corporation | Disposing identifying codes on a user's hand to provide input to an interactive display application |
| US7535481B2 (en) * | 2004-06-28 | 2009-05-19 | Microsoft Corporation | Orienting information presented to users located at different sides of a display surface |
| US7519223B2 (en) | 2004-06-28 | 2009-04-14 | Microsoft Corporation | Recognizing gestures and using gestures for interacting with software applications |
| US7379047B2 (en) | 2004-06-30 | 2008-05-27 | Microsoft Corporation | Using a physical object to control an attribute of an interactive display application |
| US7743348B2 (en) | 2004-06-30 | 2010-06-22 | Microsoft Corporation | Using physical objects to adjust attributes of an interactive display application |
| US7407106B2 (en) | 2004-09-28 | 2008-08-05 | Microsoft Corporation | Method and system for hiding visible infrared markings |
| US7576725B2 (en) * | 2004-10-19 | 2009-08-18 | Microsoft Corporation | Using clear-coded, see-through objects to manipulate virtual objects |
| US7359564B2 (en) * | 2004-10-29 | 2008-04-15 | Microsoft Corporation | Method and system for cancellation of ambient light using light frequency |
| US7925996B2 (en) * | 2004-11-18 | 2011-04-12 | Microsoft Corporation | Method and system for providing multiple input connecting user interface |
| US7570249B2 (en) | 2005-03-30 | 2009-08-04 | Microsoft Corporation | Responding to change of state of control on device disposed on an interactive display surface |
| US7499027B2 (en) * | 2005-04-29 | 2009-03-03 | Microsoft Corporation | Using a light pointer for input on an interactive display surface |
| US7535463B2 (en) | 2005-06-15 | 2009-05-19 | Microsoft Corporation | Optical flow-based manipulation of graphical objects |
| KR100742756B1 (ko) | 2005-06-21 | 2007-07-25 | 인사이드테크윈(주) | 다종의 2차원 코드 복호방법과 이 방법이 수록되어컴퓨터로 읽을 수 있는 기록매체 |
| US7525538B2 (en) * | 2005-06-28 | 2009-04-28 | Microsoft Corporation | Using same optics to image, illuminate, and project |
| US7911444B2 (en) | 2005-08-31 | 2011-03-22 | Microsoft Corporation | Input method for surface of interactive display |
| WO2007052957A1 (en) * | 2005-11-05 | 2007-05-10 | Colorzip Media, Inc. | Device and method of classifying an image |
| US8060840B2 (en) | 2005-12-29 | 2011-11-15 | Microsoft Corporation | Orientation free user interface |
| US7515143B2 (en) * | 2006-02-28 | 2009-04-07 | Microsoft Corporation | Uniform illumination of interactive display panel |
| WO2008086498A2 (en) * | 2007-01-11 | 2008-07-17 | Datalogic Scanning, Inc. | Methods and systems for optical code reading using virtual scan lines |
| US8212857B2 (en) * | 2007-01-26 | 2012-07-03 | Microsoft Corporation | Alternating light sources to reduce specular reflection |
| CN103793903B (zh) * | 2012-10-29 | 2018-07-27 | 方正国际软件(北京)有限公司 | 一种利用条形码识别的图像分割方法及系统 |
| US9511276B2 (en) | 2012-11-30 | 2016-12-06 | Michael S. Caffrey | Gaming system using gaming surface having computer readable indicia and method of using same |
| US9412087B2 (en) | 2014-03-03 | 2016-08-09 | Aesynt Incorporated | System, method, and apparatus for mapping product identification to medication identification |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS53132225A (en) * | 1977-04-22 | 1978-11-17 | Shinko Electric Co Ltd | Method of identifying read value in label reader |
| US4125765A (en) * | 1977-06-27 | 1978-11-14 | International Business Machines Corporation | Label find method and circuit |
| US4438327A (en) * | 1982-04-21 | 1984-03-20 | Burr-Brown Research Corporation | Bar code reading system and method |
| JPS6011973A (ja) * | 1983-07-01 | 1985-01-22 | Nec Corp | バ−コ−ド読取装置 |
| FR2569022B1 (fr) * | 1984-08-10 | 1986-11-21 | Thomson Csf | Procede de detection de codes-barres et dispositif pour la mise en oeuvre du procede |
| JPH0731714B2 (ja) * | 1986-05-29 | 1995-04-10 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 文字成分切出し方法 |
| US4748316A (en) * | 1986-06-13 | 1988-05-31 | International Business Machines Corporation | Optical scanner for reading bar codes detected within a large depth of field |
| JPS6459574A (en) * | 1987-08-31 | 1989-03-07 | Matsushita Electric Industrial Co Ltd | Bar code detecting device |
| FR2622992B1 (fr) * | 1987-11-06 | 1990-02-09 | Thomson Semiconducteurs | Procede de lecture de codes a barres |
| US4873426A (en) * | 1988-08-03 | 1989-10-10 | Image Business Systems Corporation | Technique for reading bar codes |
-
1990
- 1990-03-29 US US07/500,980 patent/US4992650A/en not_active Expired - Lifetime
-
1991
- 1991-02-11 EP EP19910102002 patent/EP0448945A3/en not_active Withdrawn
- 1991-02-12 JP JP3060763A patent/JPH0812681B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH04225485A (ja) | 1992-08-14 |
| EP0448945A3 (en) | 1992-10-21 |
| EP0448945A2 (en) | 1991-10-02 |
| US4992650A (en) | 1991-02-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0812681B2 (ja) | バーコードを認識する方法 | |
| US5818965A (en) | Consolidation of equivalence classes of scanned symbols | |
| JP2940496B2 (ja) | パタンマッチング符号化装置及び方法 | |
| US5805740A (en) | Bar-code field detecting apparatus performing differential process and bar-code reading apparatus | |
| JPH0420226B2 (ja) | ||
| JPH07505024A (ja) | イメージ圧縮の方法および装置 | |
| JP2001351066A (ja) | 文書認識処理のための装置、方法及び記録媒体 | |
| US7277584B2 (en) | Form recognition system, form recognition method, program and storage medium | |
| US20050271275A1 (en) | Text character identification system and method thereof | |
| US6701022B2 (en) | Pattern matching coding device and method thereof | |
| JP4392907B2 (ja) | 文字切出し方法 | |
| JPH0731714B2 (ja) | 文字成分切出し方法 | |
| IL98293A (en) | A method for distinguishing between text and graphics | |
| JPH0792820B2 (ja) | 文字認識方法 | |
| JP2002015280A (ja) | 画像認識装置、画像認識方法および画像認識プログラムを記録したコンピュータ読取可能な記録媒体 | |
| US5854860A (en) | Image filing apparatus having a character recognition function | |
| JPH0430070B2 (ja) | ||
| US20030123730A1 (en) | Document recognition system and method using vertical line adjacency graphs | |
| JP3268552B2 (ja) | 領域抽出方法、宛名領域抽出方法、宛名領域抽出装置、及び画像処理装置 | |
| JPS6141029B2 (ja) | ||
| Aparna et al. | A complete OCR system development of Tamil magazine documents | |
| JPS6325391B2 (ja) | ||
| JP2714012B2 (ja) | 宛名領域検出装置 | |
| KR930012142B1 (ko) | 문서인식장치의 개별문자 절출방법 | |
| JP2582611B2 (ja) | マルチフオント辞書の作成法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080207 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090207 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100207 Year of fee payment: 14 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110207 Year of fee payment: 15 |
|
| LAPS | Cancellation because of no payment of annual fees |