JPH0632076B2 - 簡易手書き文字認識装置 - Google Patents
簡易手書き文字認識装置Info
- Publication number
- JPH0632076B2 JPH0632076B2 JP60219491A JP21949185A JPH0632076B2 JP H0632076 B2 JPH0632076 B2 JP H0632076B2 JP 60219491 A JP60219491 A JP 60219491A JP 21949185 A JP21949185 A JP 21949185A JP H0632076 B2 JPH0632076 B2 JP H0632076B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- character
- line
- run length
- marker
- 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
Links
Landscapes
- Character Input (AREA)
- Character Discrimination (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は文字認識装置に係り、特に線順次で画情報を読
み取るファクシミリ等の如き装置に好適な簡易手書き文
字認識装置に関する。
み取るファクシミリ等の如き装置に好適な簡易手書き文
字認識装置に関する。
従来のこの種の文字認識装置は、特開昭59−1230
0号公報に記載のように、入力された画像データをビッ
トごとに処理していた。このようなビット処理方式の概
念的構成を第23図に示す。
0号公報に記載のように、入力された画像データをビッ
トごとに処理していた。このようなビット処理方式の概
念的構成を第23図に示す。
第23図に示す方式では、画像データ201から1バイ
ト(Byte)のデータをレジスタ202に転送し、レジス
タ202のデータを1ビットづつシフトし、そのキャリ
ーフラグ203を参照して黒画素であるか、白画画素で
あるかを判定し、黒画素数をカウントする範囲を指定す
るカウントブロック指定部204の出力と処理している
データのアドレスとから、文字枠内の必要ブロックの黒
画素数をブロック内黒画素数計測部205で計測して各
ブロックに書き込みがあるかどうかを示す認識テーブル
206を作成し、どのブロックに書き込みがありどのブ
ロックに書き込みがないかによって何という文字である
かの認識処理を行っていた。しかしながら、かかるビッ
ト処理方式は、処理するデータ量が多いため処理速度が
遅く、この点についての配慮がなされていなかった。た
とえば、特開昭58−22476号公報には、数字記入
枠を7つのセグメントに分け、各セグメント内の記入線
分長を検出して文字を認識する技術が開示されている
が、線分長の検出には、ドットごとの処理が行われてい
た。
ト(Byte)のデータをレジスタ202に転送し、レジス
タ202のデータを1ビットづつシフトし、そのキャリ
ーフラグ203を参照して黒画素であるか、白画画素で
あるかを判定し、黒画素数をカウントする範囲を指定す
るカウントブロック指定部204の出力と処理している
データのアドレスとから、文字枠内の必要ブロックの黒
画素数をブロック内黒画素数計測部205で計測して各
ブロックに書き込みがあるかどうかを示す認識テーブル
206を作成し、どのブロックに書き込みがありどのブ
ロックに書き込みがないかによって何という文字である
かの認識処理を行っていた。しかしながら、かかるビッ
ト処理方式は、処理するデータ量が多いため処理速度が
遅く、この点についての配慮がなされていなかった。た
とえば、特開昭58−22476号公報には、数字記入
枠を7つのセグメントに分け、各セグメント内の記入線
分長を検出して文字を認識する技術が開示されている
が、線分長の検出には、ドットごとの処理が行われてい
た。
本発明の目的は、手書き文字を正確に判断すると共に、
これを高速に処理のできる簡易な文字認識装置を提供す
ることにある。
これを高速に処理のできる簡易な文字認識装置を提供す
ることにある。
本発明の概要は、ラン長データに変換するとデータ量が
従来のものに対して約10分の1に削減できる点、及び
このラン長データの加減算によりビット処理と同様の処
理を行えるという点に着目し、黒画素数を計測するのに
ラン長データと計測する範囲とを比較し、高速に黒画素
数を計測できるようにしたものである。
従来のものに対して約10分の1に削減できる点、及び
このラン長データの加減算によりビット処理と同様の処
理を行えるという点に着目し、黒画素数を計測するのに
ラン長データと計測する範囲とを比較し、高速に黒画素
数を計測できるようにしたものである。
以下、本発明の一実施例を図面により説明する。
第1図は本発明に使用する入力用紙の一例を示す説明図
である。302a及び302bは傾斜検出マーカ、30
5a〜305tは文字記入枠、304a〜304tは文
字記入枠上方の帯である。文字記入枠上方の帯が文字切
り出し用マーカをなしている。傾斜検出マーカ302a
及び302b、帯304a〜304tはファクシミリ読
み取り部で検知される色で印刷されている。
である。302a及び302bは傾斜検出マーカ、30
5a〜305tは文字記入枠、304a〜304tは文
字記入枠上方の帯である。文字記入枠上方の帯が文字切
り出し用マーカをなしている。傾斜検出マーカ302a
及び302b、帯304a〜304tはファクシミリ読
み取り部で検知される色で印刷されている。
第2図は帯304a〜304t及び文字枠305a〜3
05tの詳細図である。305は文字枠,401A及び
401Bは文字枠305内の書き込み禁止領域で、40
2が文字記入部である。文字枠305及び、書き込み禁
止領域401A,Bはファクシミリ読み取り部で検知さ
れない色ドロップアウトカラーで印刷されている。
05tの詳細図である。305は文字枠,401A及び
401Bは文字枠305内の書き込み禁止領域で、40
2が文字記入部である。文字枠305及び、書き込み禁
止領域401A,Bはファクシミリ読み取り部で検知さ
れない色ドロップアウトカラーで印刷されている。
本実施例は、文字記入部402に記入された文字(8字
型の枠に一字だけ記入される)を認識する装置に関する
ものである。文字認識にあたり、文字記入部402を複
数のブロック、例えば第13図に示されるように150
1〜1515、に分け、書き込みがあるブロックを検出
する。予めどのブロックとどのブロックに書き込みがあ
れば何という文字であるかを規定する認識テーブルが作
成されており、検出された書き込みブロックと認識テー
ブルが対比されて、何という文字であるかが判定され
る。従来、記入された文字を白画素と黒画素からなる画
像データとして読み取り、前記各ブロックに黒画素が何
個あるかを計数し、得られたブロックごとの黒画素の個
数に基づいて当該ブロックへの書き込みの有無が判断さ
れていた。本発明は先に述べたように、各ブロックに黒
画素が何個あるかを計数する際に、読み込まれた画像デ
ータをラン長データに変換し、このラン長データを用い
て前記各ブロックごとの黒素数を計数するようにしたも
のである。
型の枠に一字だけ記入される)を認識する装置に関する
ものである。文字認識にあたり、文字記入部402を複
数のブロック、例えば第13図に示されるように150
1〜1515、に分け、書き込みがあるブロックを検出
する。予めどのブロックとどのブロックに書き込みがあ
れば何という文字であるかを規定する認識テーブルが作
成されており、検出された書き込みブロックと認識テー
ブルが対比されて、何という文字であるかが判定され
る。従来、記入された文字を白画素と黒画素からなる画
像データとして読み取り、前記各ブロックに黒画素が何
個あるかを計数し、得られたブロックごとの黒画素の個
数に基づいて当該ブロックへの書き込みの有無が判断さ
れていた。本発明は先に述べたように、各ブロックに黒
画素が何個あるかを計数する際に、読み込まれた画像デ
ータをラン長データに変換し、このラン長データを用い
て前記各ブロックごとの黒素数を計数するようにしたも
のである。
第3図は本発明の概略構成を示す図である。501はマ
ーカ検出部、502は帯検出部、503は黒画素数計測
部である。
ーカ検出部、502は帯検出部、503は黒画素数計測
部である。
上記実施例の作用を以下説明する。
ファクシミリで入力された画像データは、1ラインごと
にラン長データ作成部102へ転送される。
にラン長データ作成部102へ転送される。
ラン長データ作成部10では1ライン分のデータをビッ
トごとに処理し黒画素、及び白画素がそれぞれ何ビット
連続しているかを示すラン長データを作成する。
トごとに処理し黒画素、及び白画素がそれぞれ何ビット
連続しているかを示すラン長データを作成する。
マーカ検出部501はラン長データを参照して傾斜検出
マーカ302を検出し、副走査1ラインに対する主走査
側の平均ビットずれを算出する。ここでいう主走査側の
平均ビットずれは、第8図(a)に示すように、入力デ
ータが傾斜している場合、主走査方向の走査ラインとブ
ロック境界線の交点位置が、走査ラインが副走査方向に
変わったとき、1ラインあたり、何ビットずれるかを示
すものである。
マーカ302を検出し、副走査1ラインに対する主走査
側の平均ビットずれを算出する。ここでいう主走査側の
平均ビットずれは、第8図(a)に示すように、入力デ
ータが傾斜している場合、主走査方向の走査ラインとブ
ロック境界線の交点位置が、走査ラインが副走査方向に
変わったとき、1ラインあたり、何ビットずれるかを示
すものである。
帯検出部502は、マーカ検出部501で検出された傾
斜検出マーカ302の位置と、ラン長データとを参照
し、各文字枠305上の帯304を検出し、帯304の
中心点を算出することにより各文字枠305の基準とな
るカウントエリア、及びカウントラインを決定する。カ
ウントエリアは黒画素を計数する領域、カウントライン
は黒画素を計数するときの基準となる線である。
斜検出マーカ302の位置と、ラン長データとを参照
し、各文字枠305上の帯304を検出し、帯304の
中心点を算出することにより各文字枠305の基準とな
るカウントエリア、及びカウントラインを決定する。カ
ウントエリアは黒画素を計数する領域、カウントライン
は黒画素を計数するときの基準となる線である。
黒画素計測部503は、帯検出部502で決定された基
礎となるカウントエリア、及びマーカ検出部で算出され
た副走査1ラインに対する主走査側の平均ビットずれに
より各ラインのカウントエリアのスタートアドレス、エ
ンドアドレスを決定し、カウントエリアのアドレス及び
黒ラン長のスタートアドレス、エンドアドレスによりカ
ウントエリア内の黒ラン長のスタートアドレスとエンド
アドレスとを決定してエリア内の黒画素数を計測し、カ
ウントラインによる各文字枠305内の各ブロック内の
黒画素数を計測する。
礎となるカウントエリア、及びマーカ検出部で算出され
た副走査1ラインに対する主走査側の平均ビットずれに
より各ラインのカウントエリアのスタートアドレス、エ
ンドアドレスを決定し、カウントエリアのアドレス及び
黒ラン長のスタートアドレス、エンドアドレスによりカ
ウントエリア内の黒ラン長のスタートアドレスとエンド
アドレスとを決定してエリア内の黒画素数を計測し、カ
ウントラインによる各文字枠305内の各ブロック内の
黒画素数を計測する。
認識部109は黒画素計測部503で計測された各ブロ
ック内の黒画素数より各ブロック内の書き込みの有・無
を決定し、その組み合せにより文字コードを出力する。
ック内の黒画素数より各ブロック内の書き込みの有・無
を決定し、その組み合せにより文字コードを出力する。
以下、上記第3図に示す実施例の各要素の詳細を説明す
る。
る。
第4図はラン長データ作成部102の概念図である。6
01は生データテーブル,602はレジスタ,603は
キャリーフラグ,604はカウンタ,605は変化点検
出部,606はラン長データデーブルである。画像デー
タからラン長データを作成するには、まず、生データテ
ーブル601に格納されている1ライン分のデータのう
ちから1Byteのデータをレジスタ602へ転送する。レ
ジスタ602ではデータを1ビットシフトしキャリーフ
ラグ603を参照することにより、シフトされた1ビッ
トのデータが“1”か“0”かによって黒画素であるか
白画素であるかをカウンタ604、及び変化点検出部6
05へ転送する。変化点検出部605には前ビットのデ
ータが白画素であるか黒画素であるかが格納されており
現ビットのデータと一致しなければ変化点としカウンタ
604にカウントされている値をラン長データとして、
ラン長データテーブル606に格納する。又、ラン長デ
ータテーブル606の最初の行には白画素のラン長デー
タが格納され、以下順次黒画素、白画素の順に格納され
る。
01は生データテーブル,602はレジスタ,603は
キャリーフラグ,604はカウンタ,605は変化点検
出部,606はラン長データデーブルである。画像デー
タからラン長データを作成するには、まず、生データテ
ーブル601に格納されている1ライン分のデータのう
ちから1Byteのデータをレジスタ602へ転送する。レ
ジスタ602ではデータを1ビットシフトしキャリーフ
ラグ603を参照することにより、シフトされた1ビッ
トのデータが“1”か“0”かによって黒画素であるか
白画素であるかをカウンタ604、及び変化点検出部6
05へ転送する。変化点検出部605には前ビットのデ
ータが白画素であるか黒画素であるかが格納されており
現ビットのデータと一致しなければ変化点としカウンタ
604にカウントされている値をラン長データとして、
ラン長データテーブル606に格納する。又、ラン長デ
ータテーブル606の最初の行には白画素のラン長デー
タが格納され、以下順次黒画素、白画素の順に格納され
る。
上記回路の詳細な動作について第5図に示すフローチャ
ートを参照して説明する。
ートを参照して説明する。
第5図はラン長データ作成部102の動作のフローチャ
ートである。第5図において701は初期値設定ステッ
プ,702は1Byteのデータ転送指令ステップ,703
はビットシフト指令ステップ,704はキャリーフラグ
参照ステップ,705および706は変化点検出ステッ
プ,707および708,709,710はカウンタ指
示ステップ、711および712はカウントさせるステ
ップ,713はシフト終了判断ステップ,714は1ラ
イン分のデータの処理が終了したかどうかを判断する判
断ステップである。
ートである。第5図において701は初期値設定ステッ
プ,702は1Byteのデータ転送指令ステップ,703
はビットシフト指令ステップ,704はキャリーフラグ
参照ステップ,705および706は変化点検出ステッ
プ,707および708,709,710はカウンタ指
示ステップ、711および712はカウントさせるステ
ップ,713はシフト終了判断ステップ,714は1ラ
イン分のデータの処理が終了したかどうかを判断する判
断ステップである。
初期値設定ステップ701では、カウンタ604および
ラン長データテーブル606,変化点検出部605の初
期設定を行う。先に述べたように白画素のラン長より作
成していく為、変化点検出部605には“0”が初期値
として格納され、カウンタ604には0が設定される。
ラン長データテーブル606は初期化される。次に、1
Byteデータ転送指令ステップ702によって生データテ
ーブル601中の1Byteの生データ(画像データ)が、
レジスタ602に転送され、ビットシフト指令ステップ
703でビットシフトが行われる。シフトされたデータ
は、キャリーフラグ参照ステップ704でキャリーフラ
グ内のデータが“0”が“1”かを判断され、得られた
結果が白を示す“0”であればステップ705に進み、
黒を示す“1”であればステップ706に進む。ステッ
プ705では変化点検出部605に格納されている値と
“0”が比較され、最初の白かどうか、つまり変化点検
出部605に格納されている値が“1”か“0”かが判
断される。最初の白である場合(つまり現在変化点検出
部605に格納されている値が“1”の場合)は、ステ
ップ707に進み、現在のカウンタ604内の値がラン
長データテーブル606に格納されて次のステップ70
8に進む。ステップ708ではカウンタ604に“1”
がセットされるとともに変化点検出部605に白を示す
“0”がセットされ、ステップ713に進む。また、最
初の白でない場合(つまり現在変化点検出部605に格
納されている値が“0”の場合)は、ステップ711へ
進み、カウンタ604の値に1が加えられたのち、ステ
ップ713に進む。
ラン長データテーブル606,変化点検出部605の初
期設定を行う。先に述べたように白画素のラン長より作
成していく為、変化点検出部605には“0”が初期値
として格納され、カウンタ604には0が設定される。
ラン長データテーブル606は初期化される。次に、1
Byteデータ転送指令ステップ702によって生データテ
ーブル601中の1Byteの生データ(画像データ)が、
レジスタ602に転送され、ビットシフト指令ステップ
703でビットシフトが行われる。シフトされたデータ
は、キャリーフラグ参照ステップ704でキャリーフラ
グ内のデータが“0”が“1”かを判断され、得られた
結果が白を示す“0”であればステップ705に進み、
黒を示す“1”であればステップ706に進む。ステッ
プ705では変化点検出部605に格納されている値と
“0”が比較され、最初の白かどうか、つまり変化点検
出部605に格納されている値が“1”か“0”かが判
断される。最初の白である場合(つまり現在変化点検出
部605に格納されている値が“1”の場合)は、ステ
ップ707に進み、現在のカウンタ604内の値がラン
長データテーブル606に格納されて次のステップ70
8に進む。ステップ708ではカウンタ604に“1”
がセットされるとともに変化点検出部605に白を示す
“0”がセットされ、ステップ713に進む。また、最
初の白でない場合(つまり現在変化点検出部605に格
納されている値が“0”の場合)は、ステップ711へ
進み、カウンタ604の値に1が加えられたのち、ステ
ップ713に進む。
ステップ706では、変化点検出部605に格納されて
いる値と“1”が比較され、最初の黒かどうか、つまり
変化点検出部605に格納されている値が“1”か
“0”かが判断される。最初の黒である場合(つまり現
在変化点検出部605に格納されている値が“0”の場
合)は、ステップ709に進み、現在のカウンタ604
内の値がラン長データテーブル606に格納されて次の
ステップ710に進む。ステップ710ではカウンタ6
04に“1”がセットされるとともに変化点検出部60
5に黒を示す“1”がセットされ、ステップ713に進
む。また、最初の黒でない場合(つまり現在変化点検出
部605に格納されている値が“1”の場合)は、ステ
ップ712へ進み、カウンタ604の値に1が加えられ
たのち、ステップ713に進む。
いる値と“1”が比較され、最初の黒かどうか、つまり
変化点検出部605に格納されている値が“1”か
“0”かが判断される。最初の黒である場合(つまり現
在変化点検出部605に格納されている値が“0”の場
合)は、ステップ709に進み、現在のカウンタ604
内の値がラン長データテーブル606に格納されて次の
ステップ710に進む。ステップ710ではカウンタ6
04に“1”がセットされるとともに変化点検出部60
5に黒を示す“1”がセットされ、ステップ713に進
む。また、最初の黒でない場合(つまり現在変化点検出
部605に格納されている値が“1”の場合)は、ステ
ップ712へ進み、カウンタ604の値に1が加えられ
たのち、ステップ713に進む。
シフト終了判断ステップ713では、レジスタ602の
データを8回シフトしたかどうかを判断し、シフトが終
了していなければステップ703に戻ってこれまでの手
順が繰り返される。8回のシフトが終わっていれば、ス
テップ714に進み、1ライン分のデータの処理が終了
したかどうかが判断される。1ライン分のデータの処理
が終了していなければ、次の1Byteのデータがレジスタ
602に転送され、1ライン分のデータ処理が終了する
まで上記手順が繰り返される。
データを8回シフトしたかどうかを判断し、シフトが終
了していなければステップ703に戻ってこれまでの手
順が繰り返される。8回のシフトが終わっていれば、ス
テップ714に進み、1ライン分のデータの処理が終了
したかどうかが判断される。1ライン分のデータの処理
が終了していなければ、次の1Byteのデータがレジスタ
602に転送され、1ライン分のデータ処理が終了する
まで上記手順が繰り返される。
第6図はラン長データ作成部102の処理を高速に行う
為のLSIの一つの例を示すブロック図である。
為のLSIの一つの例を示すブロック図である。
このLSIの概要については、高速なビット処理を必要
とする変化点検出部と画信号復元部をハードウエア化
し、符号表の参照や演算をマイクロプログラムにより柔
軟かつ高速化したものである。このLSIの詳細につい
ては特願昭57−174623号及び特願昭58−10
71号に記載されている。
とする変化点検出部と画信号復元部をハードウエア化
し、符号表の参照や演算をマイクロプログラムにより柔
軟かつ高速化したものである。このLSIの詳細につい
ては特願昭57−174623号及び特願昭58−10
71号に記載されている。
次に第3図のマーカ検出部501で行われる傾斜検出方
式について説明する。
式について説明する。
第7図は傾斜補正の概念を示す図である。
第7図(a)は入力データを示す。このようなデータを
入力した場合に、傾斜補正を行わなければ実際に切出さ
れた文字は第7図(b)のようになり、参照すべきブロ
ック(図では15ブロックに区分されている)がずれて
しまう。そこで副走査方向のみを補正したたとすれば、
第7図(c)のようになり、主走査方向のブロックずれ
がある。また、主走査方向のみを補正したとすれば、第
7図(d)のようになってしまうが、副走査方向にずれ
はあるものの参照ブロック内の黒画素数にそれほど変化
はない。したがって、主走査および副走査方向を補正す
れば、第7図(e)のように、適正なものになる。これ
より主走査および副走査方向を補正するのがよいことが
わかる。コスト,プログラム容量、処理速度等から主走
査方向のみを補正するだけとする。
入力した場合に、傾斜補正を行わなければ実際に切出さ
れた文字は第7図(b)のようになり、参照すべきブロ
ック(図では15ブロックに区分されている)がずれて
しまう。そこで副走査方向のみを補正したたとすれば、
第7図(c)のようになり、主走査方向のブロックずれ
がある。また、主走査方向のみを補正したとすれば、第
7図(d)のようになってしまうが、副走査方向にずれ
はあるものの参照ブロック内の黒画素数にそれほど変化
はない。したがって、主走査および副走査方向を補正す
れば、第7図(e)のように、適正なものになる。これ
より主走査および副走査方向を補正するのがよいことが
わかる。コスト,プログラム容量、処理速度等から主走
査方向のみを補正するだけとする。
次に、マーカ検出について第8図を参照して説明する。
入力用紙の横方向の線が主走査方向に対して平行な状態
で画像データの読み込みが行われた場合は、文字記入枠
305の縦の線は主走査方向に対して垂直であり、先に
第13図を参照して説明した文字認識のためのブロック
分けをしている文字記入枠305の縦の境界線の位置
は、副走査方向に走査ラインが進行しても変わることは
ない。しかし、第8図に示すように、入力用紙の横方向
の線が主走査方向に対して平行でない場合は、副走査方
向に走査ラインが進行するにつれて、境界線の位置が左
もしくは右に動くことになる。第8図の場合、副走査方
向に走査ラインが進行するにつれて、境界線の位置が左
に動く。入力用紙301上の左右の傾斜検出マーカ30
2a及び302bの出現するライン数の差ΔY及び左右
の傾斜検出マーカ302a及び302bのスタートアド
レスの差Lドットより1ライン当たりの主走査側の平均
ビットずれΔXは、 ΔX=ΔY/L となる。
で画像データの読み込みが行われた場合は、文字記入枠
305の縦の線は主走査方向に対して垂直であり、先に
第13図を参照して説明した文字認識のためのブロック
分けをしている文字記入枠305の縦の境界線の位置
は、副走査方向に走査ラインが進行しても変わることは
ない。しかし、第8図に示すように、入力用紙の横方向
の線が主走査方向に対して平行でない場合は、副走査方
向に走査ラインが進行するにつれて、境界線の位置が左
もしくは右に動くことになる。第8図の場合、副走査方
向に走査ラインが進行するにつれて、境界線の位置が左
に動く。入力用紙301上の左右の傾斜検出マーカ30
2a及び302bの出現するライン数の差ΔY及び左右
の傾斜検出マーカ302a及び302bのスタートアド
レスの差Lドットより1ライン当たりの主走査側の平均
ビットずれΔXは、 ΔX=ΔY/L となる。
マーカ検出部501の動作を第9図のフローチャートを
用いて説明する。
用いて説明する。
まず、各ステップの名称を説明すると、1101はライ
ン数カウントステップ,1102はマーカ幅判断ステッ
プ,1103及び1109は位置判断ステップ,110
4及び1110は初マーカ判断ステップ,1105及び
1112はマーカスタート検出ステップ,1106及び
1111はマーカ長さカウントステップ,1107及び
1113はマーカ長さ判断ステップ,1108及び11
14,1115はマーカ判断ステップである。ここでい
うマーカ長さは副走査方向に数えたライン数、マーカ幅
は主走査方向のマーカーの寸法である。
ン数カウントステップ,1102はマーカ幅判断ステッ
プ,1103及び1109は位置判断ステップ,110
4及び1110は初マーカ判断ステップ,1105及び
1112はマーカスタート検出ステップ,1106及び
1111はマーカ長さカウントステップ,1107及び
1113はマーカ長さ判断ステップ,1108及び11
14,1115はマーカ判断ステップである。ここでい
うマーカ長さは副走査方向に数えたライン数、マーカ幅
は主走査方向のマーカーの寸法である。
マーカ幅判断ステップ1102では1ライン分のラン長
データテーブル606のデータを参照し、その中の黒ラ
ン長を読みだしてマーカ幅があったかどうかを判断し、
あった場合は位置判断ステップ1103及び1109で
右のマーカであるか左のマーカであるかノイズであるか
を判断する。シートの右のマーカも左のマーカでもない
場合はノイズと判断してステップ1101に戻る。
データテーブル606のデータを参照し、その中の黒ラ
ン長を読みだしてマーカ幅があったかどうかを判断し、
あった場合は位置判断ステップ1103及び1109で
右のマーカであるか左のマーカであるかノイズであるか
を判断する。シートの右のマーカも左のマーカでもない
場合はノイズと判断してステップ1101に戻る。
左側の傾斜検出マーカ302aである場合には初マーカ
判断ステップ1104で最初のマーカ幅かどうかを判断
し、最初のマーカである場合はマーカスタート検出ステ
ップ1105で主走査方向のスタートアドレス及び副走
査側出現ライン数のテーブルを作成し、マーカ長さ(出
現ライン数)を1とし、ステップ1107に進む。最初
のマーカ幅でなかった場合は、マーカ長さカウントステ
ップ1106でマーカ長さをカウント(マーカ長さ=出
現ライン数を1増加)し、ステップ1107に進む。ス
テップ1107では、マーカ長さのデータが規定の値あ
ったかどうかを判断し、規定の値あった場合はマーカ判
断ステップ1108に進んで、左側のマーカをありとす
る。マーカ長さのデータが規定の値なかった場合は、ス
テップ1101に戻ってこれまでの手順を繰り返す。
判断ステップ1104で最初のマーカ幅かどうかを判断
し、最初のマーカである場合はマーカスタート検出ステ
ップ1105で主走査方向のスタートアドレス及び副走
査側出現ライン数のテーブルを作成し、マーカ長さ(出
現ライン数)を1とし、ステップ1107に進む。最初
のマーカ幅でなかった場合は、マーカ長さカウントステ
ップ1106でマーカ長さをカウント(マーカ長さ=出
現ライン数を1増加)し、ステップ1107に進む。ス
テップ1107では、マーカ長さのデータが規定の値あ
ったかどうかを判断し、規定の値あった場合はマーカ判
断ステップ1108に進んで、左側のマーカをありとす
る。マーカ長さのデータが規定の値なかった場合は、ス
テップ1101に戻ってこれまでの手順を繰り返す。
ステップ1109で右側のマーカであると判断された場
合も同様の手順がステップ1110〜1114で繰り返
される。ステップ1114で右側のマーカありと判断さ
れたらステップ1115に進み、左右両方のマーカがあ
ったかどうかが判断される。両方のマーカがあった場合
は、1ライン当たりの主走査側の平均ビットずれΔX
を、ステップ1105で作成された左側のマーカの主走
査方向のスタートアドレス及び副走査側出現ライン数の
テーブルとステップ1112で作成された右側のマーカ
の主走査方向のスタートアドレス及び副走査側出現ライ
ン数のテーブルを参照して算出する。左側のマーカの主
走査方向のスタートアドレスと右側のマーカの主走査方
向のスタートアドレスの差をL、左側のマーカの副走査
側出現ライン数と右側のマーカーの副走査側出現ライン
数の差をΔYとして、さきに述べた式を用いて、平均ビ
ットずれΔXを求める。このΔXの算出は、後述するス
テップ1301で実行される。
合も同様の手順がステップ1110〜1114で繰り返
される。ステップ1114で右側のマーカありと判断さ
れたらステップ1115に進み、左右両方のマーカがあ
ったかどうかが判断される。両方のマーカがあった場合
は、1ライン当たりの主走査側の平均ビットずれΔX
を、ステップ1105で作成された左側のマーカの主走
査方向のスタートアドレス及び副走査側出現ライン数の
テーブルとステップ1112で作成された右側のマーカ
の主走査方向のスタートアドレス及び副走査側出現ライ
ン数のテーブルを参照して算出する。左側のマーカの主
走査方向のスタートアドレスと右側のマーカの主走査方
向のスタートアドレスの差をL、左側のマーカの副走査
側出現ライン数と右側のマーカーの副走査側出現ライン
数の差をΔYとして、さきに述べた式を用いて、平均ビ
ットずれΔXを求める。このΔXの算出は、後述するス
テップ1301で実行される。
次に、帯検出部の動作について第11図に示すフローチ
ャートを参照して説明する。まず、各ステップの名称を
説明すると、12201は帯長さ判断ステップ,120
2は初帯判断ステップ,1203は初期値設定ステッ
プ,1204及び1205は帯スタート決定ステップ,
1206及び1207は帯エンド決定ステップ,120
8は帯幅カウントステップ,1209は帯幅判断ステッ
プ、1211は帯中心算出ステップ,1210はライン
カウントステップである。ここでいう帯長さは主走査方
向の帯の長さをいい、帯幅は副走査方向に数えた帯部分
のライン数をいう。
ャートを参照して説明する。まず、各ステップの名称を
説明すると、12201は帯長さ判断ステップ,120
2は初帯判断ステップ,1203は初期値設定ステッ
プ,1204及び1205は帯スタート決定ステップ,
1206及び1207は帯エンド決定ステップ,120
8は帯幅カウントステップ,1209は帯幅判断ステッ
プ、1211は帯中心算出ステップ,1210はライン
カウントステップである。ここでいう帯長さは主走査方
向の帯の長さをいい、帯幅は副走査方向に数えた帯部分
のライン数をいう。
帯長さ判断ステップ1201はラン長データテーブル6
06のデータを読み出し、帯長さの有無を判断する。読
みだしたラン長データに、帯長さに相当する黒ラン長が
あった場合には、左の傾斜検出マーカ302aのスター
トアドレスにより文字記入枠305a〜305tのどの
上の帯長さであるかを判断し、初帯判断ステップ120
2により最初の帯かどうかを判断する。最初の帯であっ
た場合には初期値設定ステップ1203に進んで、当該
黒ラン長のスタートアドレスを帯のスタートアドレス
に、当該黒ラン長のエンドアドレスを帯のエンドアドレ
スにそれぞれセットし、当該黒ラン長のライン数に4を
加えて副走査側の帯の中心ライン数のテーブルを作成
し、帯幅を1にセットする。ここでいう帯幅は、副走査
側の帯の出現ライン数である。
06のデータを読み出し、帯長さの有無を判断する。読
みだしたラン長データに、帯長さに相当する黒ラン長が
あった場合には、左の傾斜検出マーカ302aのスター
トアドレスにより文字記入枠305a〜305tのどの
上の帯長さであるかを判断し、初帯判断ステップ120
2により最初の帯かどうかを判断する。最初の帯であっ
た場合には初期値設定ステップ1203に進んで、当該
黒ラン長のスタートアドレスを帯のスタートアドレス
に、当該黒ラン長のエンドアドレスを帯のエンドアドレ
スにそれぞれセットし、当該黒ラン長のライン数に4を
加えて副走査側の帯の中心ライン数のテーブルを作成
し、帯幅を1にセットする。ここでいう帯幅は、副走査
側の帯の出現ライン数である。
ステップ1202で最初の帯でなかったと判断された場
合は、帯スタート決定ステップ1204で帯のスタート
アドレスのテーブルの値と黒ラン長の値を比較し、小さ
い値をスタートアドレスのテーブルに格納する。また、
帯エンド決定ステップ1206,1207も同様にして
大きい値をエンドアドレスのテーブルに格納する。つま
り、帯を示すいくつかの黒ラン長のなかで一番左側にな
るスタートアドレスを帯のスタートアドレスとし、一番
右側になるエンドアドレスを帯のエンドアドレスとし
て、帯の主走査方向の最大の長さ(範囲)を検出する。
合は、帯スタート決定ステップ1204で帯のスタート
アドレスのテーブルの値と黒ラン長の値を比較し、小さ
い値をスタートアドレスのテーブルに格納する。また、
帯エンド決定ステップ1206,1207も同様にして
大きい値をエンドアドレスのテーブルに格納する。つま
り、帯を示すいくつかの黒ラン長のなかで一番左側にな
るスタートアドレスを帯のスタートアドレスとし、一番
右側になるエンドアドレスを帯のエンドアドレスとし
て、帯の主走査方向の最大の長さ(範囲)を検出する。
帯幅カウントステップ1208では、帯幅がカウント
(出現ライン数が1プラス)される。帯幅判断ステップ
1209では帯幅カウントステップ1208でカウント
された値によって帯幅が規定の値あるかどうかが判断さ
れ、有りの場合(つまり帯に相当する部分のラインのチ
ェックが終了したと見做される場合)は帯中心算出ステ
ップ1211で帯のスタートアドレス及びエンドアドレ
スのテーブルより主走査側の帯の中心が算出され、無い
場合はステップ1210が実行される。ステップ121
0ではラインカウントが1増加され、このラインカウン
トはラン長データテーブル606から読みだされたデー
タのラインン数を示している。ステップ1210でライ
ンカウントが1増加されたら、再びステップ1201に
戻り、ラン長データテーブル606のデータが読み出さ
れ、上述の手順が繰り返される。
(出現ライン数が1プラス)される。帯幅判断ステップ
1209では帯幅カウントステップ1208でカウント
された値によって帯幅が規定の値あるかどうかが判断さ
れ、有りの場合(つまり帯に相当する部分のラインのチ
ェックが終了したと見做される場合)は帯中心算出ステ
ップ1211で帯のスタートアドレス及びエンドアドレ
スのテーブルより主走査側の帯の中心が算出され、無い
場合はステップ1210が実行される。ステップ121
0ではラインカウントが1増加され、このラインカウン
トはラン長データテーブル606から読みだされたデー
タのラインン数を示している。ステップ1210でライ
ンカウントが1増加されたら、再びステップ1201に
戻り、ラン長データテーブル606のデータが読み出さ
れ、上述の手順が繰り返される。
次に、傾斜補正の作用について第11図のフローチャー
トを用いて説明する。この傾斜補正は、マーカ検出部5
01で算出される平均ビットずれΔXを用いて、文字記
入枠402の各ブロックの境界線の位置を補正し、入力
用紙の傾斜が各ブロックの黒画素数に影響するのを防ぐ
ものである。
トを用いて説明する。この傾斜補正は、マーカ検出部5
01で算出される平均ビットずれΔXを用いて、文字記
入枠402の各ブロックの境界線の位置を補正し、入力
用紙の傾斜が各ブロックの黒画素数に影響するのを防ぐ
ものである。
まず、各ステップの名称を説明する。1301は平均ビ
ットずれ算出ステップ、1302はライン数カウントス
テップ、1303はライン送り判断ステップ、1304
はビットずれ算出ステップ、1305はビットずれ判定
ステップ、1306及び1307は補正ステップ、13
08及び1309は後処理ステップ、1310は黒画素
計測ステップ、そして1311は文字枠終了判定ステッ
プである。
ットずれ算出ステップ、1302はライン数カウントス
テップ、1303はライン送り判断ステップ、1304
はビットずれ算出ステップ、1305はビットずれ判定
ステップ、1306及び1307は補正ステップ、13
08及び1309は後処理ステップ、1310は黒画素
計測ステップ、そして1311は文字枠終了判定ステッ
プである。
この動作について説明する。平均ビットずれ算出ステッ
プ1301で平均ビットずれΔXが算出され、ライン数
カウントステップ1302で現在走査されているライン
数がカウントされる。ライン送り判断ステップ1303
は帯304を検出後文字記入部402までライン送りを
する為その判断(何ライン分送るかの判断)をする。ビ
ットずれ算出ステップ1304で現在走査されているラ
インのビットずれ量Aが、前記ΔXとステップ1302
でカウントされるライン数をもとに算出される。また、
ビットずれ判定ステップ1305ではビットずれ算出ス
テップ1304で算出された値Aが1以上か−1以下の
場合には1ドット送りを行う指示をする。A≧1であれ
ば補正ステップ1306で右方向に1ドット送り、−1
以下であれば補正ステップ1307で左方向に1ドット
送る。補正を行った後は後処理ステップ1308でビッ
トずれ量を−1し、または後処理ステップ1309で+
1し、黒画素数計測ステップ1310で黒画素数を計測
し、終了判定する(ステップ1311)。
プ1301で平均ビットずれΔXが算出され、ライン数
カウントステップ1302で現在走査されているライン
数がカウントされる。ライン送り判断ステップ1303
は帯304を検出後文字記入部402までライン送りを
する為その判断(何ライン分送るかの判断)をする。ビ
ットずれ算出ステップ1304で現在走査されているラ
インのビットずれ量Aが、前記ΔXとステップ1302
でカウントされるライン数をもとに算出される。また、
ビットずれ判定ステップ1305ではビットずれ算出ス
テップ1304で算出された値Aが1以上か−1以下の
場合には1ドット送りを行う指示をする。A≧1であれ
ば補正ステップ1306で右方向に1ドット送り、−1
以下であれば補正ステップ1307で左方向に1ドット
送る。補正を行った後は後処理ステップ1308でビッ
トずれ量を−1し、または後処理ステップ1309で+
1し、黒画素数計測ステップ1310で黒画素数を計測
し、終了判定する(ステップ1311)。
次に、上記フローチャートを用いて実際に補正を行った
例を第12図を参照しながら説明する。
例を第12図を参照しながら説明する。
第12図は傾斜補正方法を実際にラインのビットずれ算
出に適用した例を示したものである。第12図(a)は
1ラインあたりのΔXが0.25の場合の補正例であり、
第13図(b)はΔXが0.3の場合の補正例である。図
中の線1401及び1402はカウントエリアの境界で
ある。
出に適用した例を示したものである。第12図(a)は
1ラインあたりのΔXが0.25の場合の補正例であり、
第13図(b)はΔXが0.3の場合の補正例である。図
中の線1401及び1402はカウントエリアの境界で
ある。
ΔXが0.25の場合は、1ラインの走査ごとに0.25個
のビットずれが生ずるから、4ライン走査ごとにビット
ずれAが0.25×4=1となる。最上列のラインと2番
目の列の間で0.25のビットずれAが生じ、3番目の列
でA=0.5に、4番目の列でA=0.75に、順次累積さ
れ、5番目の列でA=1となる為、境界1401を右に
1ドット分ずらす。このドットのずらしで5番目の列の
ビットずれはA=1−1=0となり、6番目の列のビッ
トずれAは再び1ライン分増えて0.25となる。7番目
の列で0.5、8番目の列で0.75、9番目の列で再びA
=1となり、境界1401を再び右に1ドット分ずら
す。このようにビットずれ累積値Aが1以上になつたラ
インで順次境界1401を1ドット右にずらし、同時に
ビットずれの累積値をAからA−1にする。そして次の
ラインから1ラインごとにΔX(この例では0.25)を
A−1に加えていき、累積値が1以上になったら境界1
401を1ドット右にずらすのである。
のビットずれが生ずるから、4ライン走査ごとにビット
ずれAが0.25×4=1となる。最上列のラインと2番
目の列の間で0.25のビットずれAが生じ、3番目の列
でA=0.5に、4番目の列でA=0.75に、順次累積さ
れ、5番目の列でA=1となる為、境界1401を右に
1ドット分ずらす。このドットのずらしで5番目の列の
ビットずれはA=1−1=0となり、6番目の列のビッ
トずれAは再び1ライン分増えて0.25となる。7番目
の列で0.5、8番目の列で0.75、9番目の列で再びA
=1となり、境界1401を再び右に1ドット分ずら
す。このようにビットずれ累積値Aが1以上になつたラ
インで順次境界1401を1ドット右にずらし、同時に
ビットずれの累積値をAからA−1にする。そして次の
ラインから1ラインごとにΔX(この例では0.25)を
A−1に加えていき、累積値が1以上になったら境界1
401を1ドット右にずらすのである。
ΔXが0.3の場合は、最初のラインはA=0、2番目の
ラインでA=0.3、3番目のラインでA=0.6、4番目の
ラインでA=0.9、5番目のラインでA=1.2となり、1
以上となる。したがって5番目のラインで境界1402
を1ドット右にずらし、後処理部1308の処理により
Aを1.2−1=0.2とする。6番目のラインで再び0.3を
加えてA=0.5、7番目のラインでA=0.8、8番目のラ
インでA=1.1となって再び右に1ドットずらし、A=
0.1とする。このようにしてカウントエリア補正が行わ
れる。
ラインでA=0.3、3番目のラインでA=0.6、4番目の
ラインでA=0.9、5番目のラインでA=1.2となり、1
以上となる。したがって5番目のラインで境界1402
を1ドット右にずらし、後処理部1308の処理により
Aを1.2−1=0.2とする。6番目のラインで再び0.3を
加えてA=0.5、7番目のラインでA=0.8、8番目のラ
インでA=1.1となって再び右に1ドットずらし、A=
0.1とする。このようにしてカウントエリア補正が行わ
れる。
次に黒画素数計測部503の動作を説明する。
第13図は黒画素数計測時の文字記入枠305をブロッ
クに分割した一例である。この分割は、読み込んだ画像
データから文字認識のポイントになる部分を抜き出すた
めに行われる。各ブロックの名称を説明する。1501
はメインブロック1,1502はメインブロック2,1
503はメインブロック3,1504はメインブロック
4,1505はメインブロック5,1506はメインブ
ロック6,1507はメインブロック7である。150
8はサブブロック1,1509はサブブロック2,15
10はサブブロック3,1511はサブブロック4,1
512はサブブロック5,1513はサブブロック6,
1514はサブブロック7,1515はサブブロック8
である。1516,1517,1518,1519,1
520,1521はカウントエリアの境界、1522,
1523,1524,1525,1526,1527,
1528,1529はカウントラインの境界である。カ
ウントエリアの境界1516,1517,1518,1
519,1520,1521の位置は傾斜補正が行われ
る。カウントエリアの境界は、主走査方向の前記ブロッ
クの境界を、カウントラインの境界は副走査方向の前記
ブロックの境界を、それぞれ表す。
クに分割した一例である。この分割は、読み込んだ画像
データから文字認識のポイントになる部分を抜き出すた
めに行われる。各ブロックの名称を説明する。1501
はメインブロック1,1502はメインブロック2,1
503はメインブロック3,1504はメインブロック
4,1505はメインブロック5,1506はメインブ
ロック6,1507はメインブロック7である。150
8はサブブロック1,1509はサブブロック2,15
10はサブブロック3,1511はサブブロック4,1
512はサブブロック5,1513はサブブロック6,
1514はサブブロック7,1515はサブブロック8
である。1516,1517,1518,1519,1
520,1521はカウントエリアの境界、1522,
1523,1524,1525,1526,1527,
1528,1529はカウントラインの境界である。カ
ウントエリアの境界1516,1517,1518,1
519,1520,1521の位置は傾斜補正が行われ
る。カウントエリアの境界は、主走査方向の前記ブロッ
クの境界を、カウントラインの境界は副走査方向の前記
ブロックの境界を、それぞれ表す。
傾斜補正後のカウントエリア内の黒画素数の計測方法
を、第14〜17図によって説明する。
を、第14〜17図によって説明する。
第14図は書き込みのある文字記入枠305のブロック
分割の一例である。第14図では、上下方向の線151
6〜1521で区切られた区画(ブロック)のうち、左
から主走査方向のアドレス1〜21の範囲を1,アドレ
ス22〜25の範囲を2,アドレス26〜31の範囲を
3,アドレス32〜35の範囲を4,アドレス36〜5
6の範囲を5と付番し、横方向の線で区切られた横方向
区画を上から、副走査方向のライン数Yが1〜18の範
囲を1,ライン数Yが19〜24の範囲を2,というよ
うに順次7まで付番してある。1601は書き込まれた
黒画素のラン長,1602はブロック基準点である。
分割の一例である。第14図では、上下方向の線151
6〜1521で区切られた区画(ブロック)のうち、左
から主走査方向のアドレス1〜21の範囲を1,アドレ
ス22〜25の範囲を2,アドレス26〜31の範囲を
3,アドレス32〜35の範囲を4,アドレス36〜5
6の範囲を5と付番し、横方向の線で区切られた横方向
区画を上から、副走査方向のライン数Yが1〜18の範
囲を1,ライン数Yが19〜24の範囲を2,というよ
うに順次7まで付番してある。1601は書き込まれた
黒画素のラン長,1602はブロック基準点である。
黒画素のラン長1601のブロック基準点1602から
の主走査側のスタートアドレスXs及びエンドアドレス
Xeから、第16図に示すアドレス変換テーブルにより
主走査側のスタートブロック番号(Xsがあるブロック
番号、第14図の例では3)Is,及びエンドブロック
番号(Xeがあるブロック番号、14図の例では5)I
Eが算出される。また黒画素のラン長1601のブロッ
ク基準点1602からの副走査側の位置Yと第17図に
示すライン変換テーブルにより副走査側のブロック番号
JJが算出される。
の主走査側のスタートアドレスXs及びエンドアドレス
Xeから、第16図に示すアドレス変換テーブルにより
主走査側のスタートブロック番号(Xsがあるブロック
番号、第14図の例では3)Is,及びエンドブロック
番号(Xeがあるブロック番号、14図の例では5)I
Eが算出される。また黒画素のラン長1601のブロッ
ク基準点1602からの副走査側の位置Yと第17図に
示すライン変換テーブルにより副走査側のブロック番号
JJが算出される。
ラン長1601について、このラン長1601が存在す
るブロック(この例では副走査側のブロックJJが3で
主走査側の番号がIs(3)〜IE(5)のブロック)
をカウントエリアとして、ブロックごとに黒画素の計数
が行われる。計数対象のブロックは符号IIで表現され
る。
るブロック(この例では副走査側のブロックJJが3で
主走査側の番号がIs(3)〜IE(5)のブロック)
をカウントエリアとして、ブロックごとに黒画素の計数
が行われる。計数対象のブロックは符号IIで表現され
る。
算出されたIs〜IEのブロックが順次計数対象ブロッ
クとなる。Isがまず計数対象ブロックとなり、このと
き、ブロックII(=Is)の境界1518,1519
のアドレスは、ブロックII(第14図の例ではブロッ
ク3)のスタートアドレスX(II)及びエンドアドレ
スX(II+1)に代入され、黒画素のラン長1601
のスタートアドレスXsおよびエンドアドレスXEと比
較して当該黒ラン長のブロックIIにおける計数範囲が
設定され、カウントエリア内の黒画素数が計測される。
クとなる。Isがまず計数対象ブロックとなり、このと
き、ブロックII(=Is)の境界1518,1519
のアドレスは、ブロックII(第14図の例ではブロッ
ク3)のスタートアドレスX(II)及びエンドアドレ
スX(II+1)に代入され、黒画素のラン長1601
のスタートアドレスXsおよびエンドアドレスXEと比
較して当該黒ラン長のブロックIIにおける計数範囲が
設定され、カウントエリア内の黒画素数が計測される。
第15図は黒画素数計数の詳細図である。1701は白
画画素,1702は黒画素を示す。まずカウントエリア
(ブロックII)のスタートアドレスX(II)と、黒
画素1702のラン長のスタートアドレスXsとを比較
し、大きい方をカウントエリア内の黒画素1702のラ
ン長のスタートアドレスとする。第14図ではXsであ
る。次にカウントエリアのエンドアドレスX(II+
1)と黒画素1702のラン長のエンドアドレスXEと
を比較し、小さい方をカウントエリア内の黒画素170
2のラン長のエンドアドレスとする。第15図ではX
(II+1)である。これよりカウントエリア内の黒画
素数はX(II+1)−Xsとなり、主走査側II,副
走査側JJのブロック内の黒画素数としてカウントされ
る。
画画素,1702は黒画素を示す。まずカウントエリア
(ブロックII)のスタートアドレスX(II)と、黒
画素1702のラン長のスタートアドレスXsとを比較
し、大きい方をカウントエリア内の黒画素1702のラ
ン長のスタートアドレスとする。第14図ではXsであ
る。次にカウントエリアのエンドアドレスX(II+
1)と黒画素1702のラン長のエンドアドレスXEと
を比較し、小さい方をカウントエリア内の黒画素170
2のラン長のエンドアドレスとする。第15図ではX
(II+1)である。これよりカウントエリア内の黒画
素数はX(II+1)−Xsとなり、主走査側II,副
走査側JJのブロック内の黒画素数としてカウントされ
る。
第16図はアドレス変換テーブルである。黒画素170
2のラン長の主走査側のアドレスXsおよびXEを入力
することにより主走査側のブロック番号IsおよびIE
が出力される。
2のラン長の主走査側のアドレスXsおよびXEを入力
することにより主走査側のブロック番号IsおよびIE
が出力される。
第17図はライン変換テーブルである。黒画素1702
のラン長の副走査側のライン数Yを入力することにより
副走査側のブロック番号JJが出力される。
のラン長の副走査側のライン数Yを入力することにより
副走査側のブロック番号JJが出力される。
第18図は黒画素数計測部503のカウントエリア内黒
画素数計測を第15,16図を用いて説明した手順を記
したフローチャートである。各ステップの各称を説明す
ると、2001はブロック番号決定ステップ,2002
は走査ブロック指定ステップ,2003はカウントエリ
ア内スタートアドレス判定ステップ,2004及び20
05はカウントエリア内スタートアドレス指定ステッ
プ,2006はカウントエリア内エンドアドレス判定ス
テップ,2007及び2008はカウントエリア内エン
ドアドレス指定ステップ,2009はエリア内黒画素数
計算ステップ,2010は走査ブロック変化ステップ,
2011は走査ブロック終了判定ステップである。
画素数計測を第15,16図を用いて説明した手順を記
したフローチャートである。各ステップの各称を説明す
ると、2001はブロック番号決定ステップ,2002
は走査ブロック指定ステップ,2003はカウントエリ
ア内スタートアドレス判定ステップ,2004及び20
05はカウントエリア内スタートアドレス指定ステッ
プ,2006はカウントエリア内エンドアドレス判定ス
テップ,2007及び2008はカウントエリア内エン
ドアドレス指定ステップ,2009はエリア内黒画素数
計算ステップ,2010は走査ブロック変化ステップ,
2011は走査ブロック終了判定ステップである。
ブロック番号指定ステップ2001では、黒ラン長デー
タの初めブロックIs,黒ラン長データの終わりブロッ
クIe,黒ラン長データのラインのブロックJJをテー
ブルより作成する。次いでブロック指定ステップ200
2では、初めのブロックIsがカウンタIIに与えられ
る。カウントエリア内スタートアドレス判定ステップ2
003では、カウンタIIに与えられたブロックの初め
(スタートアドレスX(II)がラン長データの初めX
sより大きいかどうかが判定され、X(II)>Xsの
ときはカウントエリア内スタートアドレス指定ステップ
2004でブロック内の黒の初めにブロックの初めX
(II)を指定し、これをスタートアドレスZsと指定
する。X(II)<Xsのときはカウントエリア内スタ
ートアドレス指定ステップ2005でブロック内の黒の
初めにラン長データの初めXsを設定してこれをスター
トアドレスZsと指定する。
タの初めブロックIs,黒ラン長データの終わりブロッ
クIe,黒ラン長データのラインのブロックJJをテー
ブルより作成する。次いでブロック指定ステップ200
2では、初めのブロックIsがカウンタIIに与えられ
る。カウントエリア内スタートアドレス判定ステップ2
003では、カウンタIIに与えられたブロックの初め
(スタートアドレスX(II)がラン長データの初めX
sより大きいかどうかが判定され、X(II)>Xsの
ときはカウントエリア内スタートアドレス指定ステップ
2004でブロック内の黒の初めにブロックの初めX
(II)を指定し、これをスタートアドレスZsと指定
する。X(II)<Xsのときはカウントエリア内スタ
ートアドレス指定ステップ2005でブロック内の黒の
初めにラン長データの初めXsを設定してこれをスター
トアドレスZsと指定する。
次いで、カウントエリア内エンドアドレス判定ステップ
で、ブロックの終わりX(II+1)がラン長データの
終わりXeより大きいか否かを判断し、X(II+1)
>Xeであればカウントエリア内エンドアドレス指定ス
テップ2007でブロック内黒の終わりにラン長データ
の終わりXeを設定してこれをエンドアドレスZeと指
定し、X(II+1)<Xeであればカウントエリア内
エンドアドレス指定ステップ2008でブロック内黒の
終わりにブロックの終わりX(II+1)を設定してこ
れをエンドアドレスZeと指定する。
で、ブロックの終わりX(II+1)がラン長データの
終わりXeより大きいか否かを判断し、X(II+1)
>Xeであればカウントエリア内エンドアドレス指定ス
テップ2007でブロック内黒の終わりにラン長データ
の終わりXeを設定してこれをエンドアドレスZeと指
定し、X(II+1)<Xeであればカウントエリア内
エンドアドレス指定ステップ2008でブロック内黒の
終わりにブロックの終わりX(II+1)を設定してこ
れをエンドアドレスZeと指定する。
そして、エリア内黒画素数計数ステップ2009でエリ
ア内黒画素数=Ze−Zsを計算する。次いで、走査ブ
ロック変化ステップ2010でカウンタIIに+1して計
数対象ブロックを右に一つずらし、次いで走査ブロック
終了判定ステップ2011で当該黒ラン長に対し全ブロ
ック終了か(第14図の例で3,4,5)を判定し、終
了でなければステップ2003に戻る。
ア内黒画素数=Ze−Zsを計算する。次いで、走査ブ
ロック変化ステップ2010でカウンタIIに+1して計
数対象ブロックを右に一つずらし、次いで走査ブロック
終了判定ステップ2011で当該黒ラン長に対し全ブロ
ック終了か(第14図の例で3,4,5)を判定し、終
了でなければステップ2003に戻る。
以上のステップを1回くり返すと1ラインの処理が終了
したことになり、これを必要ライン数くり返すことによ
り、文字枠305内の各ブロック内の黒画素数が計測で
きる。また、上記処理を高速化する場合にはハードウエ
ア化すればよい。
したことになり、これを必要ライン数くり返すことによ
り、文字枠305内の各ブロック内の黒画素数が計測で
きる。また、上記処理を高速化する場合にはハードウエ
ア化すればよい。
第19図は黒画素数計測部503をハードウエア構成と
した場合の構成例である。2101はラン長データ格納
レジスタ,2102はアドレス発生器,2103は黒ラ
ン長スタートアドレスXsを格納する黒ラン長スタート
アドレス格納レジスタ,2104は黒ラン長エンドアド
レスXeを格納する黒ラン長エンドアドレス格納レジス
タ,2105は第16図に示すアドレス変換テーブル,
2106はスタートブロック番号Isを格納するスター
トブロック番号格納レジスタ,2107はエンドブロッ
ク番号Ieを格納するエンドブロック番号格納レジス
タ,2108は2107の出力と2106の出力を比較
し両者に差があるときに信号出力するコンパレータ,2
109は2108の信号出力を受けて2106の出力を
1増やすインクリメンタ,2110は2106の出力を
受けて該当ブロックのエリアスタートアドレスX(I
I)とエリアエンドアドレスX(II+1)を出力する
分割テーブル,2111はエリアスタートアドレス格納
レジスタ,2112はエリアエンドアドレス格納レジス
タ,2113はZsを出力するエリア内黒画素スタート
アドレス発生器,2114はZeを出力するエリア内黒
画素エンドアドレス発生器,2115はZe−Zsを計
算するエリア内黒画素数計測器,2116はライン番号
を入力として副走査ブロック番号JJを出力する第17
図のライン交換テーブル,2117はライン交換テーブ
ルから出力されるブロック番号JJとカウンタIIから出
力されるブロック番号IIできまるメインブロックもし
くはサブブロックの番号を指定するブロックポインタ,
2118はエリア内黒画素数計測器2115の出力とブ
ロック内黒画素数テーブル2119の出力を加算して再
びブロック内黒画素数テーブル2119の該当位置に格
納するブロック内黒画素数計測器,2119はメインブ
ロック,サブブロックごとの黒画素数を格納し、ブロッ
クポインタで指定されたメインブロックもしくはサブブ
ロックの黒画素数をブロック内黒画素数計測器2118
に出力するブロック内黒画素数テーブルである。
した場合の構成例である。2101はラン長データ格納
レジスタ,2102はアドレス発生器,2103は黒ラ
ン長スタートアドレスXsを格納する黒ラン長スタート
アドレス格納レジスタ,2104は黒ラン長エンドアド
レスXeを格納する黒ラン長エンドアドレス格納レジス
タ,2105は第16図に示すアドレス変換テーブル,
2106はスタートブロック番号Isを格納するスター
トブロック番号格納レジスタ,2107はエンドブロッ
ク番号Ieを格納するエンドブロック番号格納レジス
タ,2108は2107の出力と2106の出力を比較
し両者に差があるときに信号出力するコンパレータ,2
109は2108の信号出力を受けて2106の出力を
1増やすインクリメンタ,2110は2106の出力を
受けて該当ブロックのエリアスタートアドレスX(I
I)とエリアエンドアドレスX(II+1)を出力する
分割テーブル,2111はエリアスタートアドレス格納
レジスタ,2112はエリアエンドアドレス格納レジス
タ,2113はZsを出力するエリア内黒画素スタート
アドレス発生器,2114はZeを出力するエリア内黒
画素エンドアドレス発生器,2115はZe−Zsを計
算するエリア内黒画素数計測器,2116はライン番号
を入力として副走査ブロック番号JJを出力する第17
図のライン交換テーブル,2117はライン交換テーブ
ルから出力されるブロック番号JJとカウンタIIから出
力されるブロック番号IIできまるメインブロックもし
くはサブブロックの番号を指定するブロックポインタ,
2118はエリア内黒画素数計測器2115の出力とブ
ロック内黒画素数テーブル2119の出力を加算して再
びブロック内黒画素数テーブル2119の該当位置に格
納するブロック内黒画素数計測器,2119はメインブ
ロック,サブブロックごとの黒画素数を格納し、ブロッ
クポインタで指定されたメインブロックもしくはサブブ
ロックの黒画素数をブロック内黒画素数計測器2118
に出力するブロック内黒画素数テーブルである。
インクリメンタ2109は、計数対象のブロックをIs
から順に右に移して行く役目をする。コンパレータ21
08は、計数対象のブロックがIeになったら、当該黒
ラン長の計数が終了したと判断する役目をする。
から順に右に移して行く役目をする。コンパレータ21
08は、計数対象のブロックがIeになったら、当該黒
ラン長の計数が終了したと判断する役目をする。
認識部109の作用を説明する。
第20図は認識部109の概念を説明するために示す図
である。2201はメインブロックレジスタ,2202
はサブブロックレジスタ,2203は認識テーブルであ
る。認識部109は、黒画素数計測部503によって計
測された文字記入枠305内の各ブロック内の黒画素数
と判定値により各ブロック内の書き込みの有無を判定
し、メインブロックレジスタ2201とサブブロックレ
ジスタ2202を作成する。ここでいう判定値は、各ブ
ロックにつき、黒画素数が何個以上あると、当該ブロッ
クに書き込みがあったとするかのしきい値であり、メイ
ンブロックレジスタ2201とサブブロックレジスタ2
202には、それぞれのブロックへの書き込みの有無の
みが記録され、黒画画素数自体は記録されない。認識部
109は、作成したメインブロックレジスタ2201と
サブブロックレジスタ2202及び予め作成されている
認識テーブル2203を参照することによりなんという
文字であるかを判断し文字コードを出力する。認識テー
ブル2203は、ある文字の文字コードとその文字に対
応するサブブロックテーブルとメインブロックテーブル
とからなり、一つの文字に対し、3行分のメモリが与え
られている。
である。2201はメインブロックレジスタ,2202
はサブブロックレジスタ,2203は認識テーブルであ
る。認識部109は、黒画素数計測部503によって計
測された文字記入枠305内の各ブロック内の黒画素数
と判定値により各ブロック内の書き込みの有無を判定
し、メインブロックレジスタ2201とサブブロックレ
ジスタ2202を作成する。ここでいう判定値は、各ブ
ロックにつき、黒画素数が何個以上あると、当該ブロッ
クに書き込みがあったとするかのしきい値であり、メイ
ンブロックレジスタ2201とサブブロックレジスタ2
202には、それぞれのブロックへの書き込みの有無の
みが記録され、黒画画素数自体は記録されない。認識部
109は、作成したメインブロックレジスタ2201と
サブブロックレジスタ2202及び予め作成されている
認識テーブル2203を参照することによりなんという
文字であるかを判断し文字コードを出力する。認識テー
ブル2203は、ある文字の文字コードとその文字に対
応するサブブロックテーブルとメインブロックテーブル
とからなり、一つの文字に対し、3行分のメモリが与え
られている。
第21図は認識テーブル22203の一例を説明するた
めに示す説明図である。各ブロック内の書き込みの有無
によって作成されたメインブロックレジスタ2201
と、サブブロックレジスタ2202と、認識テーブル2
203内の認識用メインブロックテーブル値及び認識用
サブブロックテーブル値とを比較し、両者が一致した場
合に文字コードを出力する。
めに示す説明図である。各ブロック内の書き込みの有無
によって作成されたメインブロックレジスタ2201
と、サブブロックレジスタ2202と、認識テーブル2
203内の認識用メインブロックテーブル値及び認識用
サブブロックテーブル値とを比較し、両者が一致した場
合に文字コードを出力する。
認識部109の特作について第22図を用いて詳しく説
明する。第22図は認識部109の動作を説明するため
に示すフローチャートである。各ステップの名称を述べ
ると、2401はテーブル作成ステップ,2402は認
識テーブルサーチオフセット初期設定ステップ,240
3は認識テーブルサーチステップ,2404はリジェク
ト判定ステップ,2405はテーブル比較ステップ,2
406は文字コード出力ステップ,2407はオフセッ
ト変化ステップ,2408はテーブルサーチ終了判定ス
テップである。
明する。第22図は認識部109の動作を説明するため
に示すフローチャートである。各ステップの名称を述べ
ると、2401はテーブル作成ステップ,2402は認
識テーブルサーチオフセット初期設定ステップ,240
3は認識テーブルサーチステップ,2404はリジェク
ト判定ステップ,2405はテーブル比較ステップ,2
406は文字コード出力ステップ,2407はオフセッ
ト変化ステップ,2408はテーブルサーチ終了判定ス
テップである。
テーブル作成ステップ2401でメインブロックレジス
タ2201(TB(J))及びサブブブロックレジスタ22
02(STB(J))を作成する。認識テーブル2203に
は、メモリ上のあるアドレス(先頭アドレス)から、認
識用メインブロックテーブル値及び認識用サブブロック
テーブル値及びそれら値によって表される文字コードの
組み合せが認識用メインブロックテーブル値の値(第2
1図の16進の欄の値)が小さい順に、予め格納されて
いる。
タ2201(TB(J))及びサブブブロックレジスタ22
02(STB(J))を作成する。認識テーブル2203に
は、メモリ上のあるアドレス(先頭アドレス)から、認
識用メインブロックテーブル値及び認識用サブブロック
テーブル値及びそれら値によって表される文字コードの
組み合せが認識用メインブロックテーブル値の値(第2
1図の16進の欄の値)が小さい順に、予め格納されて
いる。
認識テーブルサーチオフセット初期設定ステップ240
2では、認識テーブル2203の先頭アドレスからのオ
フセット値を0にし又、最終アドレスと先頭アドレスの
差を基定値として設定する。認識テーブルサーチステッ
プ2403では、オフセット値で示されるアドレスの認
識用メインブロックテーブル値及び認識用サブブロック
テーブル値をレジスタPTB(J)及びSPTB(J)にセットし、
リジェクト判定ステップ2404ではメインブロックレ
ジスタ2201の値TB(J)と認識用メインブロックテー
ブル値とを比較して認識用メインブロックテーブル値が
大きくなった場合には認識不可能としてリジェクトす
る。
2では、認識テーブル2203の先頭アドレスからのオ
フセット値を0にし又、最終アドレスと先頭アドレスの
差を基定値として設定する。認識テーブルサーチステッ
プ2403では、オフセット値で示されるアドレスの認
識用メインブロックテーブル値及び認識用サブブロック
テーブル値をレジスタPTB(J)及びSPTB(J)にセットし、
リジェクト判定ステップ2404ではメインブロックレ
ジスタ2201の値TB(J)と認識用メインブロックテー
ブル値とを比較して認識用メインブロックテーブル値が
大きくなった場合には認識不可能としてリジェクトす
る。
テーブル比較ステップ2405ではメインブロックレジ
スタ2201(TB(J))と認識用メインブロックテーブ
ル値PTB(J)及びサブブロックレジスタ2202(STB
(J))と認識用サブブロックテーブル値STB(J)をそれぞ
れ比較し、両者が一致した場合は文字コード出力ステッ
プ2406で文字コードを出力し、一致しなかつた場合
は次の文字のデータと比較対照するために、オフセット
変化ステップ2407でオフセットを+3(一つの文字
のデータが3行分、つまりオフセット3つ分を占めてい
るので、比較対照する文字を変えるごとにオフセットを
3つ分ずらす)し、テーブルサーチ終了判定ステップ2
408でオフセットが基定値を越えていないかどうかが
確認される。オフセットが基定値を越えた場合には、認
識テーブルに該当文字なしとしてリジェクトする。オフ
セットが基定値を越えていない場合は、オフセット値で
示されるアドレスの値をテーブルにセットし直して比較
操作が繰り返される。
スタ2201(TB(J))と認識用メインブロックテーブ
ル値PTB(J)及びサブブロックレジスタ2202(STB
(J))と認識用サブブロックテーブル値STB(J)をそれぞ
れ比較し、両者が一致した場合は文字コード出力ステッ
プ2406で文字コードを出力し、一致しなかつた場合
は次の文字のデータと比較対照するために、オフセット
変化ステップ2407でオフセットを+3(一つの文字
のデータが3行分、つまりオフセット3つ分を占めてい
るので、比較対照する文字を変えるごとにオフセットを
3つ分ずらす)し、テーブルサーチ終了判定ステップ2
408でオフセットが基定値を越えていないかどうかが
確認される。オフセットが基定値を越えた場合には、認
識テーブルに該当文字なしとしてリジェクトする。オフ
セットが基定値を越えていない場合は、オフセット値で
示されるアドレスの値をテーブルにセットし直して比較
操作が繰り返される。
本発明によれば入力用紙上に手書きで記入された文字を
高速にかつ正確に認識できる。
高速にかつ正確に認識できる。
本発明によれば、ラン長データを用いて黒画素計数が行
われるので、1ビットずつ処理をする方式に比べ参照す
るデータ量が約10分の1に削減され、処理時間を約1
0分の1に短縮することができる。
われるので、1ビットずつ処理をする方式に比べ参照す
るデータ量が約10分の1に削減され、処理時間を約1
0分の1に短縮することができる。
第1図は入力用紙の一例を示す説明図、第2図は文字枠
の詳細説明図、第3図は本発明の実施例を示すブロック
図、第4図はラン長データ作成部の概念を説明するため
に示す説明図、第5図はラン長データ作成部の動作の詳
細を示すフローチャート、第6図はラン長データ作成用
LSIの一構成例を示すブロック図、第7図は傾斜補正
の概念を説明するために示す説明図、第8図はマーカ検
出方法を説明するために示す図、第9図はマーカ検出部
の動作を説明するために示すフローチャート、第10図
は帯検出部の動作を説明するために示すフローチャー
ト、第11図傾斜補正の動作を説明するために示すフロ
ーチャート、第12図は傾斜補正例を説明するために示
す図、第13図はブロック分割方式の説明図、第14図
は書き込み例を示す説明図、第15図は書き込み例の詳
細を示す説明図、第16図はアドレス交換テーブルを示
す図、第17図はライン交換テーブルを示す説明図、第
18図は黒画素数計測部の動作を示すフローチャート、
第19図は第18図の動作を実現するためのハードウエ
ア構成例を示すブロック図、第20図は認識部の概念を
示す図、第21図は認識テーブルを示す説明図、第22
図は認識部の動作を示すフローチャート、第23図はビ
ット処理方式の概念を説明するために示す説明図であ
る。 102……ラン長データ作成部、 501……マーカ検出部、 502……帯検出部、 503……黒画素数計測部、 109……認識部。
の詳細説明図、第3図は本発明の実施例を示すブロック
図、第4図はラン長データ作成部の概念を説明するため
に示す説明図、第5図はラン長データ作成部の動作の詳
細を示すフローチャート、第6図はラン長データ作成用
LSIの一構成例を示すブロック図、第7図は傾斜補正
の概念を説明するために示す説明図、第8図はマーカ検
出方法を説明するために示す図、第9図はマーカ検出部
の動作を説明するために示すフローチャート、第10図
は帯検出部の動作を説明するために示すフローチャー
ト、第11図傾斜補正の動作を説明するために示すフロ
ーチャート、第12図は傾斜補正例を説明するために示
す図、第13図はブロック分割方式の説明図、第14図
は書き込み例を示す説明図、第15図は書き込み例の詳
細を示す説明図、第16図はアドレス交換テーブルを示
す図、第17図はライン交換テーブルを示す説明図、第
18図は黒画素数計測部の動作を示すフローチャート、
第19図は第18図の動作を実現するためのハードウエ
ア構成例を示すブロック図、第20図は認識部の概念を
示す図、第21図は認識テーブルを示す説明図、第22
図は認識部の動作を示すフローチャート、第23図はビ
ット処理方式の概念を説明するために示す説明図であ
る。 102……ラン長データ作成部、 501……マーカ検出部、 502……帯検出部、 503……黒画素数計測部、 109……認識部。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 多々内 允晴 茨城県日立市久慈町4026番地 株式会社日 立製作所日立研究所内 (72)発明者 黒須 邦晶 神奈川県横浜市戸塚区戸塚町216番地 株 式会社日立製作所戸塚工場内 (56)参考文献 特開 昭58−22476(JP,A)
Claims (1)
- 【請求項1】1文字単位に文字切り出し用マーカが独立
に設けられたシート上に手書きで記入された英数字・記
号等の簡易な文字情報をファクシミリを用いて読み取る
読み取り手段と、前記切り出し用マーカで指定される文
字領域を複数のカウントブロックに分割し、該カウント
ブロックごとの黒画素数を計数する計数手段と、各カウ
ントブロックへの書き込みの有無を判断して文字を認識
する認識手段とを含んでなる簡易手書き文字認識装置に
おいて、前記計数手段が、ファクシミリで入力された画
像データを1ライン単位でラン長データに変換するラン
長データ作成部と、前記文字切り出し用マーカを検出す
る帯検出部と、カウントエリアを設定し該カウントエリ
ア内の黒画素数を前記ラン長データを用いて計数する黒
画素数計測部とを含んでなることを特徴とする簡易手書
き文字認識装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60219491A JPH0632076B2 (ja) | 1985-10-02 | 1985-10-02 | 簡易手書き文字認識装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60219491A JPH0632076B2 (ja) | 1985-10-02 | 1985-10-02 | 簡易手書き文字認識装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6278688A JPS6278688A (ja) | 1987-04-10 |
| JPH0632076B2 true JPH0632076B2 (ja) | 1994-04-27 |
Family
ID=16736277
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60219491A Expired - Lifetime JPH0632076B2 (ja) | 1985-10-02 | 1985-10-02 | 簡易手書き文字認識装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0632076B2 (ja) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5822476A (ja) * | 1981-08-03 | 1983-02-09 | Nippon Telegr & Teleph Corp <Ntt> | フアクシミリ送信機を用いた数字読取方式 |
| JPS6097482A (ja) * | 1983-10-31 | 1985-05-31 | Meidensha Electric Mfg Co Ltd | パタ−ン認識装置 |
-
1985
- 1985-10-02 JP JP60219491A patent/JPH0632076B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6278688A (ja) | 1987-04-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0157394B2 (ja) | ||
| JPS58103266A (ja) | 文字画像処理装置 | |
| JPS6357831B2 (ja) | ||
| US4083034A (en) | Plural tracker character detection and boundary location system | |
| JPH0632076B2 (ja) | 簡易手書き文字認識装置 | |
| JPH02293989A (ja) | 文字認識装置 | |
| JPH07230525A (ja) | 罫線認識方法及び表処理方法 | |
| JPS59206987A (ja) | 文字認識装置 | |
| JPS61196381A (ja) | 文字切出し方式 | |
| JP2975720B2 (ja) | 光学的文字読取装置 | |
| JP2000224422A (ja) | パターンマッチングを用いた符号化方法および符号化装置 | |
| JPS6394385A (ja) | 印字文字ピツチ検出装置 | |
| JPS6325388B2 (ja) | ||
| JPS62279482A (ja) | 文字認識装置 | |
| JP2954218B2 (ja) | 画像処理方法及び装置 | |
| JPH0557632B2 (ja) | ||
| JPS6343788B2 (ja) | ||
| JP2863671B2 (ja) | 印字フォーマット作成装置 | |
| JPH0433074B2 (ja) | ||
| JPS58166867A (ja) | マ−ク読取方式 | |
| JPS5818773A (ja) | 文字切出し方式 | |
| JP2007249580A (ja) | 画像処理装置、画像処理プログラムおよび画像処理方法 | |
| JPH0340430B2 (ja) | ||
| JPH04239989A (ja) | 電子辞書 | |
| JPH01245376A (ja) | 文字読取装置の文字切出し装置 |