JPH08235312A - 光学式文字認識における文字切り出し方法 - Google Patents
光学式文字認識における文字切り出し方法Info
- Publication number
- JPH08235312A JPH08235312A JP7058212A JP5821295A JPH08235312A JP H08235312 A JPH08235312 A JP H08235312A JP 7058212 A JP7058212 A JP 7058212A JP 5821295 A JP5821295 A JP 5821295A JP H08235312 A JPH08235312 A JP H08235312A
- Authority
- JP
- Japan
- Prior art keywords
- cutout
- column
- row
- character
- width
- 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.)
- Pending
Links
Landscapes
- Character Input (AREA)
Abstract
(57)【要約】
【目的】 文字列が斜体文字、ドット文字であったり文
字間が癒着していても誤りなく文字間で文字を切り出す
ことのできる光学式文字認識における文字切り出し方法
を提供する。 【構成】 文字列が斜体の文字列である場合には、斜体
の勾配と近似した方向で黒画素のデータを集計し、斜体
文字列の文字間の特徴を検出する。黒画素のデータを集
計した配列から1文字の幅PITCHとその両端位置を
示すマーク幅wを検出し、その両端位置を基準として、
PITCH間隔で文字切り出し位置xbを検出するの
で、ドット文字の中間を誤って切り出し位置としたり、
文字間が癒着した文字列であっても複数文字を同時に切
り出したりすることがない。
字間が癒着していても誤りなく文字間で文字を切り出す
ことのできる光学式文字認識における文字切り出し方法
を提供する。 【構成】 文字列が斜体の文字列である場合には、斜体
の勾配と近似した方向で黒画素のデータを集計し、斜体
文字列の文字間の特徴を検出する。黒画素のデータを集
計した配列から1文字の幅PITCHとその両端位置を
示すマーク幅wを検出し、その両端位置を基準として、
PITCH間隔で文字切り出し位置xbを検出するの
で、ドット文字の中間を誤って切り出し位置としたり、
文字間が癒着した文字列であっても複数文字を同時に切
り出したりすることがない。
Description
【0001】
【産業上の利用分野】この発明は、一列に表示された文
字列を光学的に読み取り認識する光学式文字認識におい
て、辞書データと比較するために読み取った文字列から
1文字毎の文字データを抽出する文字切り出し方法に関
する。
字列を光学的に読み取り認識する光学式文字認識におい
て、辞書データと比較するために読み取った文字列から
1文字毎の文字データを抽出する文字切り出し方法に関
する。
【0002】
【従来の技術】光学式文字認識は、プリンターなどの印
字手段若しくは、手書きで用紙に表示された文字列を光
学的に読み取り、認識するもので、ポイントオブセール
ス(POS)における商品タグに印字された商品名、コ
ードの読み取り、プリンターで印字された伝票の自動処
理、料金収納業務などで利用されている。
字手段若しくは、手書きで用紙に表示された文字列を光
学的に読み取り、認識するもので、ポイントオブセール
ス(POS)における商品タグに印字された商品名、コ
ードの読み取り、プリンターで印字された伝票の自動処
理、料金収納業務などで利用されている。
【0003】この光学式文字認識による文字認識の方法
を図15乃至図17で説明する。
を図15乃至図17で説明する。
【0004】図15は、光学式文字認識に係る読み取り
装置1の回路構成を示すもので、同図において光学系イ
メージ入力部2は、光源、ミラー、集光レンズ等から構
成されていて、文字認識しようとする文字列のイメージ
からの反射光を光電変換部8へ導光するものである。
装置1の回路構成を示すもので、同図において光学系イ
メージ入力部2は、光源、ミラー、集光レンズ等から構
成されていて、文字認識しようとする文字列のイメージ
からの反射光を光電変換部8へ導光するものである。
【0005】CCDエリアセンサーで構成される光電変
換部3は、この文字列のイメージを電気信号に変換し、
増幅・2値化回路4へ出力する。
換部3は、この文字列のイメージを電気信号に変換し、
増幅・2値化回路4へ出力する。
【0006】増幅・2値化回路4は、この電気信号を増
幅した後、所定のしきい値で2値化し、CCDエリアセ
ンサーの画素単位で2値データとする。例えば、用紙の
地色(白)から受けた反射光の2値データd0を、
「0」とし、文字列(黒)から受けた反射光の2値デー
タd1を、「1」とする。
幅した後、所定のしきい値で2値化し、CCDエリアセ
ンサーの画素単位で2値データとする。例えば、用紙の
地色(白)から受けた反射光の2値データd0を、
「0」とし、文字列(黒)から受けた反射光の2値デー
タd1を、「1」とする。
【0007】増幅・2値化回路4より出力された各画素
の2値データは、RAMで構成されたイメージデータ記
憶部5に送られ、それぞれ画素の位置に対応する番地に
記憶される。すなわち、イメージデータ記憶部5に記憶
された2値データの集合からなる読み取りデータ10
は、用紙上のイメージの相似形状と近似した形状となる
(図17参照)。
の2値データは、RAMで構成されたイメージデータ記
憶部5に送られ、それぞれ画素の位置に対応する番地に
記憶される。すなわち、イメージデータ記憶部5に記憶
された2値データの集合からなる読み取りデータ10
は、用紙上のイメージの相似形状と近似した形状となる
(図17参照)。
【0008】イメージデータ記憶部5の後段に接続され
たマイクロコンピュータからなる文字認識処理部6は、
辞書データ記憶部7にも接続していて、読み取りデータ
10に含まれる各文字のイメージを文字毎に辞書データ
記憶部7に記憶された辞書データと比較し、その結果を
上位データ処理装置8へ出力する。
たマイクロコンピュータからなる文字認識処理部6は、
辞書データ記憶部7にも接続していて、読み取りデータ
10に含まれる各文字のイメージを文字毎に辞書データ
記憶部7に記憶された辞書データと比較し、その結果を
上位データ処理装置8へ出力する。
【0009】図16は、この文字認識処理部6における
文字認識処理を示したフローチャートである。
文字認識処理を示したフローチャートである。
【0010】始めに、読み取りデータ10において、文
字列に相当するイメージデータが記憶された文字列領域
の外形位置(番地)を検出する(S101)。
字列に相当するイメージデータが記憶された文字列領域
の外形位置(番地)を検出する(S101)。
【0011】この文字列領域の外形位置(番地)は、イ
メージデータ記憶部5において、文字列10による2値
データ「1」の有無をその周囲と比較して検出する。
メージデータ記憶部5において、文字列10による2値
データ「1」の有無をその周囲と比較して検出する。
【0012】すなわち、図17のようにイメージデータ
記憶部5において、文字列10の配列方向をXとして、
X方向の各列毎に各列の黒画素に相当する2値データ
「1」の数を計数しヒストグラムHSUM(X)を作り、
配列YSUM(X)とする。
記憶部5において、文字列10の配列方向をXとして、
X方向の各列毎に各列の黒画素に相当する2値データ
「1」の数を計数しヒストグラムHSUM(X)を作り、
配列YSUM(X)とする。
【0013】又、Xと直交する方向をYとして、Y方向
の各行毎に各行の黒画素に相当する2値データ「1」の
数を計数してヒストグラムHSUM(Y)を作り、配列X
SUM(Y)とすると、文字列10の周囲でYSUM(X)、
XSUM(Y)は、「0」が連続する。
の各行毎に各行の黒画素に相当する2値データ「1」の
数を計数してヒストグラムHSUM(Y)を作り、配列X
SUM(Y)とすると、文字列10の周囲でYSUM(X)、
XSUM(Y)は、「0」が連続する。
【0014】従って、YSUM(X)若しくは、X
SUM(Y)が、一定幅以上「0」となったときに文字列
領域から外れたことを認識することができ、それぞれ
「0」に変化する境界位置を文字列領域の外形位置(M
JST、MJED、LNST、LNED)とする。
SUM(Y)が、一定幅以上「0」となったときに文字列
領域から外れたことを認識することができ、それぞれ
「0」に変化する境界位置を文字列領域の外形位置(M
JST、MJED、LNST、LNED)とする。
【0015】この文字列領域には複数の文字の読み取り
データが含まれている為、ステップS102で、文字列
領域の読み取りデータから1文字単位の読み取りデータ
を切り出す。
データが含まれている為、ステップS102で、文字列
領域の読み取りデータから1文字単位の読み取りデータ
を切り出す。
【0016】1文字毎の切り出しは、図17に示すよう
にYSUM(X)が「0」である列を文字と文字との境界
位置と推定し、この列位置を文字切り出し位置xbとし
て、1文字毎の読み取りデータを切り出す。
にYSUM(X)が「0」である列を文字と文字との境界
位置と推定し、この列位置を文字切り出し位置xbとし
て、1文字毎の読み取りデータを切り出す。
【0017】切り出された読み取りデータは、1文字毎
に辞書データ記憶部7に記憶された文字の辞書データと
比較し易いように正規化され(S103)、その後、切
り出し文字の特徴が抽出される(S104)。
に辞書データ記憶部7に記憶された文字の辞書データと
比較し易いように正規化され(S103)、その後、切
り出し文字の特徴が抽出される(S104)。
【0018】特徴抽出は、例えば正規化された文字につ
いて、連続する黒すなわち「1」の長さ、発生数などで
その構成部分の特徴を分類し、これを抽出するものであ
る。
いて、連続する黒すなわち「1」の長さ、発生数などで
その構成部分の特徴を分類し、これを抽出するものであ
る。
【0019】切り出し文字の各特徴は、辞書データと比
較される(S105)。辞書との照合は、抽出した各部
の特徴毎に比較し、その相違を位置ベクトルで表わす。
較される(S105)。辞書との照合は、抽出した各部
の特徴毎に比較し、その相違を位置ベクトルで表わす。
【0020】この特徴毎の位置ベクトルの総和を合成ベ
クトルとして、辞書データの各文字の中で最も合成ベク
トルの距離が近い文字を選び、その距離が一定値3σ
(辞書データとして記憶されたサンプル文字のばらつ
き)未満の場合にその辞書データの文字を切り出した文
字と認識する(S106)。
クトルとして、辞書データの各文字の中で最も合成ベク
トルの距離が近い文字を選び、その距離が一定値3σ
(辞書データとして記憶されたサンプル文字のばらつ
き)未満の場合にその辞書データの文字を切り出した文
字と認識する(S106)。
【0021】このようにして、文字列の最後の文字まで
認識処理を行い(S107)全ての文字が認識される
と、認識した文字列のデータを文字認識処理部6より上
位データ処理部8へ出力し、文字認識を完了する(S1
08)。
認識処理を行い(S107)全ての文字が認識される
と、認識した文字列のデータを文字認識処理部6より上
位データ処理部8へ出力し、文字認識を完了する(S1
08)。
【0022】また、辞書データとの距離が一定値3σ以
上であった場合には、認識不可のコードを出力し、エラ
ー処理を行う(S109)。
上であった場合には、認識不可のコードを出力し、エラ
ー処理を行う(S109)。
【0023】
【発明が解決しようとする課題】上記のように、1文字
毎の文字切り出しは、列毎に黒画素のデータ数を集計し
たYSUM(X)が「0」である列位置を文字切り出し位
置xbと推定しているが、図18乃至図20に示すよう
に、必ずしもこのYSUM(X)が「0」である列位置と
文字切り出し位置xbが一致しない場合がある。
毎の文字切り出しは、列毎に黒画素のデータ数を集計し
たYSUM(X)が「0」である列位置を文字切り出し位
置xbと推定しているが、図18乃至図20に示すよう
に、必ずしもこのYSUM(X)が「0」である列位置と
文字切り出し位置xbが一致しない場合がある。
【0024】すなわち、文字列が図18のように、斜体
文字列である場合には、文字の右上部分と左隣の文字の
左下部分とが同一の列に位置することがあり、文字間で
YSUM(X)が「0」とならない。
文字列である場合には、文字の右上部分と左隣の文字の
左下部分とが同一の列に位置することがあり、文字間で
YSUM(X)が「0」とならない。
【0025】又、文字列が図19のようにドットで表さ
れている場合には、文字間以外でもYSUM(X)が
「0」となる列位置xが発生することがある。
れている場合には、文字間以外でもYSUM(X)が
「0」となる列位置xが発生することがある。
【0026】更に、図20のように文字と文字が密着し
ている場合にも、文字間でYSUM(X)が「0」となら
ない。
ている場合にも、文字間でYSUM(X)が「0」となら
ない。
【0027】このように、本来文字切り出し位置xbと
なるべき文字と文字間の列位置で、YSUM(X)が
「0」とならない図18、図20の場合には、複数文字
を誤って同時に切り出すことがあり、文字認識エラーの
原因となっていた。
なるべき文字と文字間の列位置で、YSUM(X)が
「0」とならない図18、図20の場合には、複数文字
を誤って同時に切り出すことがあり、文字認識エラーの
原因となっていた。
【0028】一方、文字間以外の列位置で、Y
SUM(X)が「0」となる図19の場合にも、1文字が
複数に分割して切り出され、同様に文字認識ができない
という問題があった。
SUM(X)が「0」となる図19の場合にも、1文字が
複数に分割して切り出され、同様に文字認識ができない
という問題があった。
【0029】従って、光学的に文字認識するためには、
文字列を画一的に用紙に表示する必要があり、このよう
な制約から、光学式文字認識の実用的な利用価値が下が
るといる問題があった。
文字列を画一的に用紙に表示する必要があり、このよう
な制約から、光学式文字認識の実用的な利用価値が下が
るといる問題があった。
【0030】この発明は、以上の問題点を解決するため
になされたもので、用紙に表示した文字列が斜体文字、
ドット文字であったり文字間が密着していても、誤りな
く文字間で文字を切り出すことのできる光学式文字認識
における文字切り出し方法を提供することを目的とす
る。
になされたもので、用紙に表示した文字列が斜体文字、
ドット文字であったり文字間が密着していても、誤りな
く文字間で文字を切り出すことのできる光学式文字認識
における文字切り出し方法を提供することを目的とす
る。
【0031】
【課題を解決するための手段】この発明は、以上の問題
点を解決するために成されたもので、請求項1の光学式
文字認識における文字切り出し方法は、一方向に配列さ
れた文字列を光学的に読み取り、文字列のイメージと対
応する2値データからなる読み取りデータとし、辞書デ
ータと比較するためにメモリーに記憶された読み取りデ
ータから1文字毎の読み取りデータを切り出す光学式文
字認識における文字切り出し方法であって、(1A)
メモリーにおける文字列領域に相当する読み取りデータ
の開始列MJSTと終了列MJEDと開始行LNSTと
終了行LNEDをそれぞれ検出し、(1B) 各列位置
xから集計方向Jに沿って開始行LNSTから終了行L
NEDまで黒画素に相当するデータ数を集計し、開始列
MJST列から終了列MJEDまでの配列YSUM J(x)
とし、(1C) 集計方向Jの平均勾配を異ならせて、
それぞれの集計方向J毎に前記(1B)の集計を繰り返
し、(1D) それぞれの配列YSUM J(x)において、
データ数が1以上で連続するマーク幅wJの数nJを計数
し(1E) マーク幅の数nJが最大となる集計方向J
MAXを真の集計方向とし、その集計方向JMAXによる配列
YSUM(x)において、データ数YSUM(i)が0となる
列位置iを文字切り出し位置xbとしたことを特徴とす
る。
点を解決するために成されたもので、請求項1の光学式
文字認識における文字切り出し方法は、一方向に配列さ
れた文字列を光学的に読み取り、文字列のイメージと対
応する2値データからなる読み取りデータとし、辞書デ
ータと比較するためにメモリーに記憶された読み取りデ
ータから1文字毎の読み取りデータを切り出す光学式文
字認識における文字切り出し方法であって、(1A)
メモリーにおける文字列領域に相当する読み取りデータ
の開始列MJSTと終了列MJEDと開始行LNSTと
終了行LNEDをそれぞれ検出し、(1B) 各列位置
xから集計方向Jに沿って開始行LNSTから終了行L
NEDまで黒画素に相当するデータ数を集計し、開始列
MJST列から終了列MJEDまでの配列YSUM J(x)
とし、(1C) 集計方向Jの平均勾配を異ならせて、
それぞれの集計方向J毎に前記(1B)の集計を繰り返
し、(1D) それぞれの配列YSUM J(x)において、
データ数が1以上で連続するマーク幅wJの数nJを計数
し(1E) マーク幅の数nJが最大となる集計方向J
MAXを真の集計方向とし、その集計方向JMAXによる配列
YSUM(x)において、データ数YSUM(i)が0となる
列位置iを文字切り出し位置xbとしたことを特徴とす
る。
【0032】又、請求項2の発明の光学式文字認識にお
ける文字切り出し方法は、一方向に配列された文字列を
光学的に読み取り、文字列のイメージと対応する2値デ
ータからなる読み取りデータとし、辞書データと比較す
るためにメモリーに記憶された読み取りデータから1文
字毎の読み取りデータを切り出す光学式文字認識におけ
る文字切り出し方法であって、(2A) メモリーにお
ける文字列領域に相当する読み取りデータの開始列MJ
STと終了列MJEDと開始行LNSTと終了行LNE
Dをそれぞれ検出し、(2B) 各列位置x毎に開始行
LNSTから終了行LNEDまで黒画素に相当するデー
タ数を集計し、開始列MJST列から終了列MJEDま
での配列YSUM(x)とし、(2C) 配列YSUM(x)
において、データ数が1以上で連続するマーク幅w1、
w2・・wnを検出し、(2D) マーク幅w1、w2・・
wnの内、限界文字幅wP未満で最大幅のマーク幅wMAX
を基準ピッチ幅PITCHとし、(2E) 配列YSUM
(x)において、マーク幅wMAXの一端の列位置xを切
り出し検出位置iとし、(2F) 切り出し検出位置i
におけるデータ数YSUM(i)が、切り出ししきい値Y
SNOIS以下である場合に該切り出し検出位置iを仮切り
出し位置ibとして記憶し、(2G) 前記切り出し検
出位置iからマーク幅wMAXと反対方向にピッチ幅PI
TCH離れた列位置xを新たな切り出し検出位置iと
し、(2H) 前記(2F)(2G)を繰り返し、新た
な切り出し検出位置iが開始列MJST若しくは終了列
MJEDを限界折り返し幅MJLIM以上越えるときに、
マーク幅wMAXの他端の列位置xを新たな切り出し検出
位置iとして、前記前記(2F)(2G)を繰り返し、
(2I) 新たな切り出し検出位置iが開始列MJST
若しくは終了列MJEDを限界折り返し幅MJLIM以上
越えるときに、全ての仮切り出し位置ibを文字切り出
し位置xbとしたことを特徴とする。
ける文字切り出し方法は、一方向に配列された文字列を
光学的に読み取り、文字列のイメージと対応する2値デ
ータからなる読み取りデータとし、辞書データと比較す
るためにメモリーに記憶された読み取りデータから1文
字毎の読み取りデータを切り出す光学式文字認識におけ
る文字切り出し方法であって、(2A) メモリーにお
ける文字列領域に相当する読み取りデータの開始列MJ
STと終了列MJEDと開始行LNSTと終了行LNE
Dをそれぞれ検出し、(2B) 各列位置x毎に開始行
LNSTから終了行LNEDまで黒画素に相当するデー
タ数を集計し、開始列MJST列から終了列MJEDま
での配列YSUM(x)とし、(2C) 配列YSUM(x)
において、データ数が1以上で連続するマーク幅w1、
w2・・wnを検出し、(2D) マーク幅w1、w2・・
wnの内、限界文字幅wP未満で最大幅のマーク幅wMAX
を基準ピッチ幅PITCHとし、(2E) 配列YSUM
(x)において、マーク幅wMAXの一端の列位置xを切
り出し検出位置iとし、(2F) 切り出し検出位置i
におけるデータ数YSUM(i)が、切り出ししきい値Y
SNOIS以下である場合に該切り出し検出位置iを仮切り
出し位置ibとして記憶し、(2G) 前記切り出し検
出位置iからマーク幅wMAXと反対方向にピッチ幅PI
TCH離れた列位置xを新たな切り出し検出位置iと
し、(2H) 前記(2F)(2G)を繰り返し、新た
な切り出し検出位置iが開始列MJST若しくは終了列
MJEDを限界折り返し幅MJLIM以上越えるときに、
マーク幅wMAXの他端の列位置xを新たな切り出し検出
位置iとして、前記前記(2F)(2G)を繰り返し、
(2I) 新たな切り出し検出位置iが開始列MJST
若しくは終了列MJEDを限界折り返し幅MJLIM以上
越えるときに、全ての仮切り出し位置ibを文字切り出
し位置xbとしたことを特徴とする。
【0033】更に、請求項3の発明は、配列Y
SUM(x)において、いずれのマーク幅w1、w2・・wn
も限界文字幅wPを越える場合に、(3A) 各列位置
x毎に開始行LNSTから終了行LNEDまで黒画素に
相当するデータを検出してそのデータの始点行と終点行
との間隔Lを求め、開始列MJST列から終了列MJE
Dまでの配列YLNG(x)とし、(3B) 配列Y
LNG(x)において、間隔Lが間隔しきい値LP以上で連
続する疑似マーク幅w´1、w´2・・w´mを検出し、
(3C) 疑似マーク幅w´1、w´2・・w´mの内、
限界文字幅wP未満で最大幅の疑似マーク幅w´MAXを基
準ピッチ幅PITCHとし、(3D) 配列Y
LNG(x)において、疑似マーク幅w´MAXの一端の列位
置xを切り出し検出位置iとし、(3E) 切り出し検
出位置iにおける間隔YLNG(i)が、切り出し間隔し
きい値YLNOIS以下である場合に該切り出し検出位置i
を仮切り出し位置ibとして記憶し、(3F) 前記切
り出し検出位置iから疑似マーク幅w´MAXと反対方向
にピッチ幅PITCH離れた列位置xを新たな切り出し
検出位置iとし、(3G) 前記(3E)(3F)を繰
り返し、新たな切り出し検出位置iが開始列MJST若
しくは終了列MJEDを限界折り返し幅MJLIM以上越
えるときに、疑似マーク幅w´MAXの他端の列位置xを
新たな切り出し検出位置iとして、前記前記(3E)
(3F)を繰り返し、(3G) 新たな切り出し検出位
置iが開始列MJST若しくは終了列MJEDを限界折
り返し幅MJLIM以上越えるときに、全ての仮切り出し
位置ibを文字切り出し位置xbとしたことを特徴とす
る。
SUM(x)において、いずれのマーク幅w1、w2・・wn
も限界文字幅wPを越える場合に、(3A) 各列位置
x毎に開始行LNSTから終了行LNEDまで黒画素に
相当するデータを検出してそのデータの始点行と終点行
との間隔Lを求め、開始列MJST列から終了列MJE
Dまでの配列YLNG(x)とし、(3B) 配列Y
LNG(x)において、間隔Lが間隔しきい値LP以上で連
続する疑似マーク幅w´1、w´2・・w´mを検出し、
(3C) 疑似マーク幅w´1、w´2・・w´mの内、
限界文字幅wP未満で最大幅の疑似マーク幅w´MAXを基
準ピッチ幅PITCHとし、(3D) 配列Y
LNG(x)において、疑似マーク幅w´MAXの一端の列位
置xを切り出し検出位置iとし、(3E) 切り出し検
出位置iにおける間隔YLNG(i)が、切り出し間隔し
きい値YLNOIS以下である場合に該切り出し検出位置i
を仮切り出し位置ibとして記憶し、(3F) 前記切
り出し検出位置iから疑似マーク幅w´MAXと反対方向
にピッチ幅PITCH離れた列位置xを新たな切り出し
検出位置iとし、(3G) 前記(3E)(3F)を繰
り返し、新たな切り出し検出位置iが開始列MJST若
しくは終了列MJEDを限界折り返し幅MJLIM以上越
えるときに、疑似マーク幅w´MAXの他端の列位置xを
新たな切り出し検出位置iとして、前記前記(3E)
(3F)を繰り返し、(3G) 新たな切り出し検出位
置iが開始列MJST若しくは終了列MJEDを限界折
り返し幅MJLIM以上越えるときに、全ての仮切り出し
位置ibを文字切り出し位置xbとしたことを特徴とす
る。
【0034】更に、請求項4の発明は、(4A) マー
ク幅w1、w2・・wnの内、限界文字幅wP以上の幅を有
するマーク幅wUを検出し、(4B) マーク幅wUが存
在する各列位置xに癒着フラッグUを表し、開始列MJ
STから終了列MJEDまでの配列YFLG(x)とし、
(4C) 各列位置x毎に開始行LNSTから終了行L
NEDまで黒画素に相当するデータを検出してそのデー
タの始点行と終点行との間隔Lを求め、開始列MJST
列から終了列MJEDまでの配列YLNG(x)とし、
(4D) 切り出し検出位置iにおいて、配列Y
FLG(i)が癒着フラッグUを示す場合に、切り出し検
出位置iにおける間隔YLNG(i)と切り出し間隔しき
い値YLNOISを比較し、(4E) 間隔YLNG(i)が切
り出し間隔しきい値YLNOIS以下である場合に、前記切
り出し検出位置iにおけるデータ数YSUM(i)を切り
出ししきい値YSNOIS以下とみなすことを特徴とする。
ク幅w1、w2・・wnの内、限界文字幅wP以上の幅を有
するマーク幅wUを検出し、(4B) マーク幅wUが存
在する各列位置xに癒着フラッグUを表し、開始列MJ
STから終了列MJEDまでの配列YFLG(x)とし、
(4C) 各列位置x毎に開始行LNSTから終了行L
NEDまで黒画素に相当するデータを検出してそのデー
タの始点行と終点行との間隔Lを求め、開始列MJST
列から終了列MJEDまでの配列YLNG(x)とし、
(4D) 切り出し検出位置iにおいて、配列Y
FLG(i)が癒着フラッグUを示す場合に、切り出し検
出位置iにおける間隔YLNG(i)と切り出し間隔しき
い値YLNOISを比較し、(4E) 間隔YLNG(i)が切
り出し間隔しきい値YLNOIS以下である場合に、前記切
り出し検出位置iにおけるデータ数YSUM(i)を切り
出ししきい値YSNOIS以下とみなすことを特徴とする。
【0035】更に、請求項5の発明は、切り出し検出位
置iにおけるデータ数YSUM(i)が、切り出ししきい
値YSNOISを越えた場合に、既に記憶した仮切り出し位
置ibを全て無効とし、基準ピッチ幅PITCHを変更
して新たな切り出し検出位置iを設定し直したことを特
徴とする。
置iにおけるデータ数YSUM(i)が、切り出ししきい
値YSNOISを越えた場合に、既に記憶した仮切り出し位
置ibを全て無効とし、基準ピッチ幅PITCHを変更
して新たな切り出し検出位置iを設定し直したことを特
徴とする。
【0036】更に、請求項6の発明は、切り出し検出位
置iにおけるデータ数YSUM(i)が、切り出ししきい
値YSNOISを越える場合に、(6A) 該切り出し検出
位置iを二次検出初期位置pとし、(6B) 二次検出
初期位置pから配列YSUM(x)におけるデータ数が減
少する方向へ順に、各列位置x毎に配列YSUM(x)に
よるデータ数と切り出ししきい値YSNOISを比較し、
(6C) データ数が切り出ししきい値YSNOIS以下と
なった列位置p´に、切り出し検出位置iを変更したこ
とを特徴とする。
置iにおけるデータ数YSUM(i)が、切り出ししきい
値YSNOISを越える場合に、(6A) 該切り出し検出
位置iを二次検出初期位置pとし、(6B) 二次検出
初期位置pから配列YSUM(x)におけるデータ数が減
少する方向へ順に、各列位置x毎に配列YSUM(x)に
よるデータ数と切り出ししきい値YSNOISを比較し、
(6C) データ数が切り出ししきい値YSNOIS以下と
なった列位置p´に、切り出し検出位置iを変更したこ
とを特徴とする。
【0037】更に、請求項7の発明は、二次検出初期位
置pから配列YSUM(x)におけるデータ数が減少する
方向へ順に、各列位置x毎に配列YSUM(x)によるデ
ータ数と切り出ししきい値YNOISを比較し、Y
SUM(x)の極小値を超えてもデータ数が切り出ししき
い値YSNOIS以下とならない場合に、既に記憶した仮切
り出し位置ibを全て無効とし、基準ピッチ幅PITC
Hを変更して新たな切り出し検出位置iを設定し直した
ことを特徴とする。
置pから配列YSUM(x)におけるデータ数が減少する
方向へ順に、各列位置x毎に配列YSUM(x)によるデ
ータ数と切り出ししきい値YNOISを比較し、Y
SUM(x)の極小値を超えてもデータ数が切り出ししき
い値YSNOIS以下とならない場合に、既に記憶した仮切
り出し位置ibを全て無効とし、基準ピッチ幅PITC
Hを変更して新たな切り出し検出位置iを設定し直した
ことを特徴とする。
【0038】又、請求項8の発明の光学式文字認識にお
ける文字切り出し方法は、一方向に配列された文字列を
光学的に読み取り、文字列のイメージと対応する2値デ
ータからなる読み取りデータとし、辞書データと比較す
るためにメモリーに記憶された読み取りデータから1文
字毎の読み取りデータを切り出す光学式文字認識におけ
る文字切り出し方法であって、(8A) メモリーにお
ける文字列領域に相当する読み取りデータの開始列MJ
STと終了列MJEDと開始行LNSTと終了行LNE
Dをそれぞれ検出し、(8B) 各列位置x毎に開始行
LNSTから終了行LNEDまで黒画素に相当するデー
タを検出してそのデータの始点行と終点行との間隔Lを
求め、開始列MJST列から終了列MJEDまでの配列
YLNG(x)とし、(8C) 配列YLNG(x)におい
て、間隔Lが間隔しきい値LP以上で連続する疑似マー
ク幅w´1、w´2・・w´mを検出し、(8D) 疑似
マーク幅w´1、w´2・・w´mの内、限界文字幅wP未
満で最大幅のマーク幅w´MAXを基準ピッチ幅PITC
Hとし、(8E) 配列YLNG(x)において、疑似マ
ーク幅w´MAXの一端の列位置xを切り出し検出位置i
とし、(8F) 切り出し検出位置iにおける間隔Y
LNG(i)が、切り出し間隔しきい値YLNOIS以下である
場合に該切り出し検出位置iを仮切り出し位置ibとし
て記憶し、(8G) 前記切り出し検出位置iから疑似
マーク幅w´MAXと反対方向にピッチ幅PITCH離れ
た列位置xを新たな切り出し検出位置iとし、(8H)
前記(8F)(8G)を繰り返し、新たな切り出し検
出位置iが開始列MJST若しくは終了列MJEDを限
界折り返し幅MJLIM以上越えるときに、疑似マーク幅
w´MAXの他端の列位置xを新たな切り出し検出位置i
として、前記(8F)(8G)を繰り返し、(8I)
新たな切り出し検出位置iが開始列MJST若しくは終
了列MJEDを限界折り返し幅MJLIM以上越えるとき
に、全ての仮切り出し位置ibを文字切り出し位置xbと
したことを特徴とする。
ける文字切り出し方法は、一方向に配列された文字列を
光学的に読み取り、文字列のイメージと対応する2値デ
ータからなる読み取りデータとし、辞書データと比較す
るためにメモリーに記憶された読み取りデータから1文
字毎の読み取りデータを切り出す光学式文字認識におけ
る文字切り出し方法であって、(8A) メモリーにお
ける文字列領域に相当する読み取りデータの開始列MJ
STと終了列MJEDと開始行LNSTと終了行LNE
Dをそれぞれ検出し、(8B) 各列位置x毎に開始行
LNSTから終了行LNEDまで黒画素に相当するデー
タを検出してそのデータの始点行と終点行との間隔Lを
求め、開始列MJST列から終了列MJEDまでの配列
YLNG(x)とし、(8C) 配列YLNG(x)におい
て、間隔Lが間隔しきい値LP以上で連続する疑似マー
ク幅w´1、w´2・・w´mを検出し、(8D) 疑似
マーク幅w´1、w´2・・w´mの内、限界文字幅wP未
満で最大幅のマーク幅w´MAXを基準ピッチ幅PITC
Hとし、(8E) 配列YLNG(x)において、疑似マ
ーク幅w´MAXの一端の列位置xを切り出し検出位置i
とし、(8F) 切り出し検出位置iにおける間隔Y
LNG(i)が、切り出し間隔しきい値YLNOIS以下である
場合に該切り出し検出位置iを仮切り出し位置ibとし
て記憶し、(8G) 前記切り出し検出位置iから疑似
マーク幅w´MAXと反対方向にピッチ幅PITCH離れ
た列位置xを新たな切り出し検出位置iとし、(8H)
前記(8F)(8G)を繰り返し、新たな切り出し検
出位置iが開始列MJST若しくは終了列MJEDを限
界折り返し幅MJLIM以上越えるときに、疑似マーク幅
w´MAXの他端の列位置xを新たな切り出し検出位置i
として、前記(8F)(8G)を繰り返し、(8I)
新たな切り出し検出位置iが開始列MJST若しくは終
了列MJEDを限界折り返し幅MJLIM以上越えるとき
に、全ての仮切り出し位置ibを文字切り出し位置xbと
したことを特徴とする。
【0039】更に、請求項9の発明は、切り出し検出位
置iにおける間隔YLNG(i)が、切り出し間隔しきい
値YLNOISを越えた場合に、既に記憶した仮切り出し位
置ibを全て無効とし、基準ピッチ幅PITCHを変更
して新たな切り出し検出位置iを設定し直したことを特
徴とする。
置iにおける間隔YLNG(i)が、切り出し間隔しきい
値YLNOISを越えた場合に、既に記憶した仮切り出し位
置ibを全て無効とし、基準ピッチ幅PITCHを変更
して新たな切り出し検出位置iを設定し直したことを特
徴とする。
【0040】更に、請求項10の発明は、切り出し検出
位置iにおける間隔YLNG(i)が、切り出し間隔しき
い値YLNOISを越える場合に、(10A) 該切り出し
検出位置iを二次検出初期位置pとし、(10B) 二
次検出初期位置pから配列YLNG(x)の間隔Lが減少
する方向へ順に、各列位置x毎に配列YLNG(x)によ
る間隔Lと切り出し間隔しきい値YLNOISを比較し、
(10C) YLNG(x)が切り出し間隔しきい値Y
LNOIS以下となった列位置p´に、切り出し検出位置i
を変更したことを特徴とする。
位置iにおける間隔YLNG(i)が、切り出し間隔しき
い値YLNOISを越える場合に、(10A) 該切り出し
検出位置iを二次検出初期位置pとし、(10B) 二
次検出初期位置pから配列YLNG(x)の間隔Lが減少
する方向へ順に、各列位置x毎に配列YLNG(x)によ
る間隔Lと切り出し間隔しきい値YLNOISを比較し、
(10C) YLNG(x)が切り出し間隔しきい値Y
LNOIS以下となった列位置p´に、切り出し検出位置i
を変更したことを特徴とする。
【0041】更に、請求項11の発明は、二次検出初期
位置pから配列YLNG(x)の間隔Lが減少する方向へ
順に、各列位置x毎に配列YLNG(x)による間隔Lと
切り出し間隔しきい値YLNOISを比較し、YLNG(x)の
極小値を超えても間隔Lが切り出し間隔しきい値Y
LNOIS以下とならない場合に、既に記憶した仮切り出し
位置ibを全て無効とし、基準ピッチ幅PITCHを変
更して新たな切り出し検出位置iを設定し直したことを
特徴とする。
位置pから配列YLNG(x)の間隔Lが減少する方向へ
順に、各列位置x毎に配列YLNG(x)による間隔Lと
切り出し間隔しきい値YLNOISを比較し、YLNG(x)の
極小値を超えても間隔Lが切り出し間隔しきい値Y
LNOIS以下とならない場合に、既に記憶した仮切り出し
位置ibを全て無効とし、基準ピッチ幅PITCHを変
更して新たな切り出し検出位置iを設定し直したことを
特徴とする。
【0042】又、請求項12の発明の光学式文字認識に
おける文字切り出し方法は、一方向に配列された文字列
を光学的に読み取り、文字列のイメージと対応する2値
データからなる読み取りデータとし、辞書データと比較
するためにメモリーに記憶された読み取りデータから1
文字毎の読み取りデータを切り出す光学式文字認識にお
ける文字切り出し方法であって、(12A) メモリー
における文字列領域に相当する読み取りデータの開始列
MJSTと終了列MJEDと開始行LNSTと終了行L
NEDをそれぞれ検出し、(12B) 各列位置x毎に
開始行LNSTから終了行LNEDまで黒画素に相当す
るデータ数を集計し、開始列MJST列から終了列MJ
EDまでの配列YSUM(x)とし、(12C) 配列Y
SUM(x)において、データ数が1以上で連続するマー
ク幅w1、w2・・wnを検出し、(12D) マーク幅
w1、w2・・wnの内、限界文字幅wP未満で最大幅のマ
ーク幅wMAXを基準ピッチ幅PITCHとし、(12
E) 配列YSUM(x)において、マーク幅wMAXの一端
の列位置xとその前後q個の列位置xを(2q+1)列
の検出列位置群Iとし、(12F) 検出列位置群Iの
各列位置xでのデータ数を配列YSUM(x)で比較し、
最小となる列位置を切り出し検出位置i、その最小値を
YSUMMINI(i)とし、(12G) 最小値Y
SUMMINI(i)が、切り出ししきい値YSNOIS以下である
場合に該切り出し検出位置iを仮切り出し位置ibとし
て記憶し、(12H) 前記切り出し検出位置iからマ
ーク幅wMAXと反対方向にピッチ幅PITCH離れた列
位置xとその前後q個の列位置xを新たな検出列位置群
Iとし、(12I) 前記(12F)(12G)(12
H)を繰り返し、新たな検出列位置群Iが開始列MJS
T若しくは終了列MJEDを限界折り返し幅MJLIM以
上越えるときに、マーク幅wMAXの他端の列位置xとそ
の前後q個の列位置を新たな検出列位置群Iとして、前
記前記(12F)(12G)(12H)を繰り返し、
(12J) 新たな検出列位置群Iが開始列MJST若
しくは終了列MJEDを限界折り返し幅MJLIM以上越
えるときに、全ての仮切り出し位置ibを文字切り出し
位置xbとしたことを特徴とする。
おける文字切り出し方法は、一方向に配列された文字列
を光学的に読み取り、文字列のイメージと対応する2値
データからなる読み取りデータとし、辞書データと比較
するためにメモリーに記憶された読み取りデータから1
文字毎の読み取りデータを切り出す光学式文字認識にお
ける文字切り出し方法であって、(12A) メモリー
における文字列領域に相当する読み取りデータの開始列
MJSTと終了列MJEDと開始行LNSTと終了行L
NEDをそれぞれ検出し、(12B) 各列位置x毎に
開始行LNSTから終了行LNEDまで黒画素に相当す
るデータ数を集計し、開始列MJST列から終了列MJ
EDまでの配列YSUM(x)とし、(12C) 配列Y
SUM(x)において、データ数が1以上で連続するマー
ク幅w1、w2・・wnを検出し、(12D) マーク幅
w1、w2・・wnの内、限界文字幅wP未満で最大幅のマ
ーク幅wMAXを基準ピッチ幅PITCHとし、(12
E) 配列YSUM(x)において、マーク幅wMAXの一端
の列位置xとその前後q個の列位置xを(2q+1)列
の検出列位置群Iとし、(12F) 検出列位置群Iの
各列位置xでのデータ数を配列YSUM(x)で比較し、
最小となる列位置を切り出し検出位置i、その最小値を
YSUMMINI(i)とし、(12G) 最小値Y
SUMMINI(i)が、切り出ししきい値YSNOIS以下である
場合に該切り出し検出位置iを仮切り出し位置ibとし
て記憶し、(12H) 前記切り出し検出位置iからマ
ーク幅wMAXと反対方向にピッチ幅PITCH離れた列
位置xとその前後q個の列位置xを新たな検出列位置群
Iとし、(12I) 前記(12F)(12G)(12
H)を繰り返し、新たな検出列位置群Iが開始列MJS
T若しくは終了列MJEDを限界折り返し幅MJLIM以
上越えるときに、マーク幅wMAXの他端の列位置xとそ
の前後q個の列位置を新たな検出列位置群Iとして、前
記前記(12F)(12G)(12H)を繰り返し、
(12J) 新たな検出列位置群Iが開始列MJST若
しくは終了列MJEDを限界折り返し幅MJLIM以上越
えるときに、全ての仮切り出し位置ibを文字切り出し
位置xbとしたことを特徴とする。
【0043】更に、請求項13の発明は、配列Y
SUM(x)において、いずれのマーク幅w1、w2・・wn
も限界文字幅wPを越える場合に、(13A) 各列位
置x毎に開始行LNSTから終了行LNEDまで黒画素
に相当するデータを検出してそのデータの始点行と終点
行との間隔Lを求め、開始列MJST列から終了列MJ
EDまでの配列YLNG(x)とし、(13B) 配列Y
LNG(x)において、間隔Lが間隔しきい値LP以上で連
続する疑似マーク幅w´1、w´2・・w´mを検出し、
(13C) 疑似マーク幅w´1、w´2・・w´mの
内、限界文字幅wP未満で最大幅のマーク幅w´MAXを基
準ピッチ幅PITCHとし、(13D) 配列Y
LNG(x)において、疑似マーク幅w´MAXの一端の列位
置xとその前後q個の列位置xを(2q+1)列の検出
列位置群Iとし、(13E) 検出列位置群Iの各列位
置での間隔Lを配列YLNG(x)で比較し、最小となる
列位置を切り出し検出位置i、その間隔最小値をY
LNGMINI(i)とし、(13F) 間隔最小値YLNGMINI
(i)が、切り出し間隔しきい値YLNOIS以下である場
合に該切り出し検出位置iを仮切り出し位置ibとして
記憶し、(13G) 前記位置iからマーク幅wMAXと
反対方向にピッチ幅PITCH離れた列位置xとその前
後q個の列位置xを新たな検出列位置群Iとし、(13
H) 前記(13E)(13F)(13G)を繰り返
し、新たな検出列位置群Iが開始列MJST若しくは終
了列MJEDを限界折り返し幅MJLIM以上越えるとき
に、疑似マーク幅w´MAXの他端の列位置xとその前後
q個の列位置xを新たな検出列位置群Iとして、前記前
記(13E)(13F)(13G)を繰り返し、(13
I) 新たな検出列位置群Iが開始列MJST若しくは
終了列MJEDを限界折り返し幅MJLIM以上越えると
きに、全ての仮切り出し位置ibを文字切り出し位置xb
としたことを特徴とする。
SUM(x)において、いずれのマーク幅w1、w2・・wn
も限界文字幅wPを越える場合に、(13A) 各列位
置x毎に開始行LNSTから終了行LNEDまで黒画素
に相当するデータを検出してそのデータの始点行と終点
行との間隔Lを求め、開始列MJST列から終了列MJ
EDまでの配列YLNG(x)とし、(13B) 配列Y
LNG(x)において、間隔Lが間隔しきい値LP以上で連
続する疑似マーク幅w´1、w´2・・w´mを検出し、
(13C) 疑似マーク幅w´1、w´2・・w´mの
内、限界文字幅wP未満で最大幅のマーク幅w´MAXを基
準ピッチ幅PITCHとし、(13D) 配列Y
LNG(x)において、疑似マーク幅w´MAXの一端の列位
置xとその前後q個の列位置xを(2q+1)列の検出
列位置群Iとし、(13E) 検出列位置群Iの各列位
置での間隔Lを配列YLNG(x)で比較し、最小となる
列位置を切り出し検出位置i、その間隔最小値をY
LNGMINI(i)とし、(13F) 間隔最小値YLNGMINI
(i)が、切り出し間隔しきい値YLNOIS以下である場
合に該切り出し検出位置iを仮切り出し位置ibとして
記憶し、(13G) 前記位置iからマーク幅wMAXと
反対方向にピッチ幅PITCH離れた列位置xとその前
後q個の列位置xを新たな検出列位置群Iとし、(13
H) 前記(13E)(13F)(13G)を繰り返
し、新たな検出列位置群Iが開始列MJST若しくは終
了列MJEDを限界折り返し幅MJLIM以上越えるとき
に、疑似マーク幅w´MAXの他端の列位置xとその前後
q個の列位置xを新たな検出列位置群Iとして、前記前
記(13E)(13F)(13G)を繰り返し、(13
I) 新たな検出列位置群Iが開始列MJST若しくは
終了列MJEDを限界折り返し幅MJLIM以上越えると
きに、全ての仮切り出し位置ibを文字切り出し位置xb
としたことを特徴とする。
【0044】更に、請求項14の発明は、(14A)
マーク幅w1、w2・・wnの内、限界文字幅wP以上の幅
を有するマーク幅wUを検出し、(14B) マーク幅
wUが存在する各列位置xに癒着フラッグUを表し、開
始列MJSTから終了列MJEDまでの配列Y
FLG(x)とし、(14C) 各列位置x毎に開始行L
NSTから終了行LNEDまで黒画素に相当するデータ
を検出してそのデータの始点行と終点行との間隔Lを求
め、開始列MJST列から終了列MJEDまでの配列Y
LNG(x)とし、(14D) 検出列位置群Iの中央の
列位置ICにおいて、配列YFLG(IC)が癒着フラッグ
Uを示す場合に、検出列位置群Iの各列位置xでの間隔
Lを配列YLNG(x)で比較し、間隔Lが最小となる列
位置を切り出し検出位置iL、その間隔最小値をY
LNGMINI(iL)とし、(14E) 間隔最小値Y
LNGMINI(i)が、切り出し間隔しきい値YLNOIS以下で
ある場合に、前記切り出し検出位置iLを検出列位置群
Iの切り出し検出位置iとみなし、その切り出し検出位
置iLにおいて最小値YSUMMINI(i)が切り出ししきい
値YSNOIS以下であるとみなすことを特徴とする。
マーク幅w1、w2・・wnの内、限界文字幅wP以上の幅
を有するマーク幅wUを検出し、(14B) マーク幅
wUが存在する各列位置xに癒着フラッグUを表し、開
始列MJSTから終了列MJEDまでの配列Y
FLG(x)とし、(14C) 各列位置x毎に開始行L
NSTから終了行LNEDまで黒画素に相当するデータ
を検出してそのデータの始点行と終点行との間隔Lを求
め、開始列MJST列から終了列MJEDまでの配列Y
LNG(x)とし、(14D) 検出列位置群Iの中央の
列位置ICにおいて、配列YFLG(IC)が癒着フラッグ
Uを示す場合に、検出列位置群Iの各列位置xでの間隔
Lを配列YLNG(x)で比較し、間隔Lが最小となる列
位置を切り出し検出位置iL、その間隔最小値をY
LNGMINI(iL)とし、(14E) 間隔最小値Y
LNGMINI(i)が、切り出し間隔しきい値YLNOIS以下で
ある場合に、前記切り出し検出位置iLを検出列位置群
Iの切り出し検出位置iとみなし、その切り出し検出位
置iLにおいて最小値YSUMMINI(i)が切り出ししきい
値YSNOIS以下であるとみなすことを特徴とする。
【0045】更に、請求項15の発明は、Y
SUMMINI(i)が、切り出ししきい値YSNOISを越えた場
合に、既に記憶した仮切り出し位置ibを全て無効と
し、基準ピッチ幅PITCHを変更して新たな検出列位
置群Iを設定し直したことを特徴とする。
SUMMINI(i)が、切り出ししきい値YSNOISを越えた場
合に、既に記憶した仮切り出し位置ibを全て無効と
し、基準ピッチ幅PITCHを変更して新たな検出列位
置群Iを設定し直したことを特徴とする。
【0046】更に、請求項16の発明は、検出列位置群
Iにおける切り出し検出位置iのデータ数Y
SUMMINI(i)が、切り出ししきい値YSNOISを越える場
合に、(16A) 該検出列位置群Iを二次検出初期位
置群Pとし、(16B) 検出初期位置群Pから(2q
+1)列毎に区分した二次検出列位置群I´を設定し、
(16C) 二次検出列位置群I´の各列位置xでのデ
ータ数を配列YSUM(x)で比較し、最小となる列位置
を二次切り出し検出位置i´、その最小値をYSUMMINI
(i´)とし、(16D) 検出初期位置群Pから各二
次検出列位置群I´の最小値YSUMMINI(i´)が減少
する方向へ順に、各二次検出列位置群I´毎に最小値Y
SUMMINI(i´)と切り出ししきい値YSNOISを比較し、
(16E) YSUMMINI(i´)が切り出ししきい値Y
SNOIS以下となった二次切り出し検出位置i´に、切り
出し検出位置iを変更したことを特徴とする。
Iにおける切り出し検出位置iのデータ数Y
SUMMINI(i)が、切り出ししきい値YSNOISを越える場
合に、(16A) 該検出列位置群Iを二次検出初期位
置群Pとし、(16B) 検出初期位置群Pから(2q
+1)列毎に区分した二次検出列位置群I´を設定し、
(16C) 二次検出列位置群I´の各列位置xでのデ
ータ数を配列YSUM(x)で比較し、最小となる列位置
を二次切り出し検出位置i´、その最小値をYSUMMINI
(i´)とし、(16D) 検出初期位置群Pから各二
次検出列位置群I´の最小値YSUMMINI(i´)が減少
する方向へ順に、各二次検出列位置群I´毎に最小値Y
SUMMINI(i´)と切り出ししきい値YSNOISを比較し、
(16E) YSUMMINI(i´)が切り出ししきい値Y
SNOIS以下となった二次切り出し検出位置i´に、切り
出し検出位置iを変更したことを特徴とする。
【0047】更に、請求項17の発明は、検出初期位置
群Pからデータ数YSUMMINI(i´)が減少する二次検
出列位置群I´の方向へ順に、各二次検出列位置群I´
毎にデータ数YSUMMINI(i´)と切り出ししきい値Y
SNOISを比較し、YSUMMINI(i´)の極小値を超えても
データ数YSUMMINI(i´)が切り出ししきい値YSNOIS
以下となならない場合に、既に記憶した仮切り出し位置
ibを全て無効とし、基準ピッチ幅PITCHを変更し
て新たな検出列位置群Iを設定し直したことを特徴とす
る。
群Pからデータ数YSUMMINI(i´)が減少する二次検
出列位置群I´の方向へ順に、各二次検出列位置群I´
毎にデータ数YSUMMINI(i´)と切り出ししきい値Y
SNOISを比較し、YSUMMINI(i´)の極小値を超えても
データ数YSUMMINI(i´)が切り出ししきい値YSNOIS
以下となならない場合に、既に記憶した仮切り出し位置
ibを全て無効とし、基準ピッチ幅PITCHを変更し
て新たな検出列位置群Iを設定し直したことを特徴とす
る。
【0048】又、請求項18の発明の光学式文字認識に
おける文字切り出し方法は、一方向に配列された文字列
を光学的に読み取り、文字列のイメージと対応する2値
データからなる読み取りデータとし、辞書データと比較
するためにメモリーに記憶された読み取りデータから1
文字毎の読み取りデータを切り出す光学式文字認識にお
ける文字切り出し方法であって、(18A) メモリー
における文字列領域に相当する読み取りデータの開始列
MJSTと終了列MJEDと開始行LNSTと終了行L
NEDをそれぞれ検出し、(18B) 各列位置x毎に
開始行LNSTから終了行LNEDまで黒画素に相当す
るデータを検出してそのデータの始点行と終点行との間
隔Lを求め、開始列MJST列から終了列MJEDまで
の配列YLNG(x)とし、(18C) 配列YLNG(x)
において、間隔Lが間隔しきい値LP以上で連続する疑
似マーク幅w´1、w´2・・w´mを検出し、(18
D) 疑似マーク幅w´1、w´2・・w´mの内、限界
文字幅wP未満で最大幅のマーク幅w´MAXを基準ピッチ
幅PITCHとし、(18E) 配列YLNG(x)にお
いて、疑似マーク幅w´MAXの一端の列位置xとxの前
後q個の列位置を(2q+1)列の検出列位置群Iと
し、(18F) 検出列位置群Iの各列位置での間隔L
を配列YLNG(x)で比較し、最小となる列位置を切り
出し検出位置i、その間隔最小値をYLNGMINI(i)と
し、(18G) YLNGMINI(i)が、切り出し間隔し
きい値YLNOIS以下である場合に該切り出し検出位置i
を仮切り出し位置ibとして記憶し、(18H) 前記
切り出し検出位置iからマーク幅w´MAXと反対方向に
ピッチ幅PITCH離れた列位置xとその前後q個の列
位置xを新たな検出列位置群Iとし、(18I) 前記
(18F)(18G)(18H)を繰り返し、新たな検
出列位置群Iが開始列MJST若しくは終了列MJED
を限界折り返し幅MJLIM以上越えるときに、疑似マー
ク幅w´MAXの他端の列位置xとその前後q個の列位置
xを新たな検出列位置群Iとして、前記前記(18F)
(18G)(18H)を繰り返し、(18J) 新たな
検出列位置群Iが開始列MJST若しくは終了列MJE
Dを限界折り返し幅MJLIM以上越えるときに、全ての
仮切り出し位置ibを文字切り出し位置xbとしたことを
特徴とする。
おける文字切り出し方法は、一方向に配列された文字列
を光学的に読み取り、文字列のイメージと対応する2値
データからなる読み取りデータとし、辞書データと比較
するためにメモリーに記憶された読み取りデータから1
文字毎の読み取りデータを切り出す光学式文字認識にお
ける文字切り出し方法であって、(18A) メモリー
における文字列領域に相当する読み取りデータの開始列
MJSTと終了列MJEDと開始行LNSTと終了行L
NEDをそれぞれ検出し、(18B) 各列位置x毎に
開始行LNSTから終了行LNEDまで黒画素に相当す
るデータを検出してそのデータの始点行と終点行との間
隔Lを求め、開始列MJST列から終了列MJEDまで
の配列YLNG(x)とし、(18C) 配列YLNG(x)
において、間隔Lが間隔しきい値LP以上で連続する疑
似マーク幅w´1、w´2・・w´mを検出し、(18
D) 疑似マーク幅w´1、w´2・・w´mの内、限界
文字幅wP未満で最大幅のマーク幅w´MAXを基準ピッチ
幅PITCHとし、(18E) 配列YLNG(x)にお
いて、疑似マーク幅w´MAXの一端の列位置xとxの前
後q個の列位置を(2q+1)列の検出列位置群Iと
し、(18F) 検出列位置群Iの各列位置での間隔L
を配列YLNG(x)で比較し、最小となる列位置を切り
出し検出位置i、その間隔最小値をYLNGMINI(i)と
し、(18G) YLNGMINI(i)が、切り出し間隔し
きい値YLNOIS以下である場合に該切り出し検出位置i
を仮切り出し位置ibとして記憶し、(18H) 前記
切り出し検出位置iからマーク幅w´MAXと反対方向に
ピッチ幅PITCH離れた列位置xとその前後q個の列
位置xを新たな検出列位置群Iとし、(18I) 前記
(18F)(18G)(18H)を繰り返し、新たな検
出列位置群Iが開始列MJST若しくは終了列MJED
を限界折り返し幅MJLIM以上越えるときに、疑似マー
ク幅w´MAXの他端の列位置xとその前後q個の列位置
xを新たな検出列位置群Iとして、前記前記(18F)
(18G)(18H)を繰り返し、(18J) 新たな
検出列位置群Iが開始列MJST若しくは終了列MJE
Dを限界折り返し幅MJLIM以上越えるときに、全ての
仮切り出し位置ibを文字切り出し位置xbとしたことを
特徴とする。
【0049】更に、請求項19の発明は、Y
LNGMINI(i)が、切り出し間隔しきい値YLNOISを越え
た場合に、既に記憶した仮切り出し位置ibを全て無効
とし、基準ピッチ幅PITCHを変更して新たな検出列
位置群Iを設定し直したことを特徴とする。
LNGMINI(i)が、切り出し間隔しきい値YLNOISを越え
た場合に、既に記憶した仮切り出し位置ibを全て無効
とし、基準ピッチ幅PITCHを変更して新たな検出列
位置群Iを設定し直したことを特徴とする。
【0050】更に、請求項20の発明は、検出列位置群
Iにおける切り出し検出位置iの間隔YLNGMINI(i)
が、切り出し間隔しきい値YLNOISを越える場合に、
(20A) 該検出列位置群Iを検出初期位置群Pと
し、(20B) 検出初期位置群Pから(2q+1)列
毎に区分した二次検出列位置群I´を設定し、(20
C) 二次検出列位置群I´の各列位置xでの間隔Lを
配列YLNG(x)で比較し、最小となる列位置を二次切
り出し検出i´、その間隔最小値をYLNGMINI(i´)
とし、(20D) 検出初期位置群Pから各二次検出列
位置群I´の間隔最小値YLNGMINI(i´)が減少する
方向へ順に、各二次検出列位置群I´毎に間隔最小値Y
LNGMINI(i´)と切り出し間隔しきい値YLNOISを比較
し、(20E) YLNGMINI(i´)が切り出し間隔し
きい値YLNOIS以下となった二次切り出し検出位置i´
に、切り出し検出位置iを変更したことを特徴とする。
Iにおける切り出し検出位置iの間隔YLNGMINI(i)
が、切り出し間隔しきい値YLNOISを越える場合に、
(20A) 該検出列位置群Iを検出初期位置群Pと
し、(20B) 検出初期位置群Pから(2q+1)列
毎に区分した二次検出列位置群I´を設定し、(20
C) 二次検出列位置群I´の各列位置xでの間隔Lを
配列YLNG(x)で比較し、最小となる列位置を二次切
り出し検出i´、その間隔最小値をYLNGMINI(i´)
とし、(20D) 検出初期位置群Pから各二次検出列
位置群I´の間隔最小値YLNGMINI(i´)が減少する
方向へ順に、各二次検出列位置群I´毎に間隔最小値Y
LNGMINI(i´)と切り出し間隔しきい値YLNOISを比較
し、(20E) YLNGMINI(i´)が切り出し間隔し
きい値YLNOIS以下となった二次切り出し検出位置i´
に、切り出し検出位置iを変更したことを特徴とする。
【0051】更に、請求項21の発明は、検出初期位置
群Pから間隔YLNGMINI(i´)が減少する二次検出列
位置群I´の方向へ順に、各二次検出列位置群I´毎に
間隔YLNGMINI(i´)と切り出し間隔しきい値YLNOIS
を比較し、YLNGMINI(i´)の極小値を超えても間隔
YLNGMINI(i´)が切り出し間隔しきい値YLNOIS以下
となならない場合に、既に記憶した仮切り出し位置ib
を全て無効とし、基準ピッチ幅PITCHを変更して新
たな検出列位置群Iを設定し直したことを特徴とする。
群Pから間隔YLNGMINI(i´)が減少する二次検出列
位置群I´の方向へ順に、各二次検出列位置群I´毎に
間隔YLNGMINI(i´)と切り出し間隔しきい値YLNOIS
を比較し、YLNGMINI(i´)の極小値を超えても間隔
YLNGMINI(i´)が切り出し間隔しきい値YLNOIS以下
となならない場合に、既に記憶した仮切り出し位置ib
を全て無効とし、基準ピッチ幅PITCHを変更して新
たな検出列位置群Iを設定し直したことを特徴とする。
【0052】更に、請求項22の発明は、限界折り返し
幅MJLIMをPITCH÷2としたことを特徴とする。
幅MJLIMをPITCH÷2としたことを特徴とする。
【0053】更に、請求項23の発明は、基準ピッチ変
更回数をC(Cは、1から始まる正の整数)としたとき
に、変更した基準ピッチ幅を、PITCH+(−1)
C-1*Cとしたことを特徴とする。
更回数をC(Cは、1から始まる正の整数)としたとき
に、変更した基準ピッチ幅を、PITCH+(−1)
C-1*Cとしたことを特徴とする。
【0054】更に、請求項24の発明は、間隔しきい値
LPを、開始行LNSTと終了行LNEDとの間隔LN
NOとして、LNNO÷2としたことを特徴とする。
LPを、開始行LNSTと終了行LNEDとの間隔LN
NOとして、LNNO÷2としたことを特徴とする。
【0055】更に、請求項25の発明は、限界文字幅w
Pを開始行LNSTと終了行LNEDとの間隔LNNO
としたことを特徴とする。
Pを開始行LNSTと終了行LNEDとの間隔LNNO
としたことを特徴とする。
【0056】更に請求項26の発明は、切り出ししきい
値YSNOISを、2としたことを特徴とする。
値YSNOISを、2としたことを特徴とする。
【0057】更に、請求項27の発明は、切り出し間隔
しきい値YLNOISを開始行LNSTと終了行LNEDと
の間隔LNNOとして、3LNNO÷4としたことを特
徴とする。
しきい値YLNOISを開始行LNSTと終了行LNEDと
の間隔LNNOとして、3LNNO÷4としたことを特
徴とする。
【0058】更に、請求項28の発明は、qを0とした
ことを特徴とする。
ことを特徴とする。
【0059】更に、請求項29の発明は、(29A)
各列位置xから集計方向Jに沿って開始行LNSTから
終了行LNEDまで黒画素に相当するデータ数を集計
し、開始列MJST列から終了列MJEDまでの配列Y
SUM J(x)とし、(29B) 集計方向Jの平均勾配を
異ならせて、それぞれの集計方向J毎に前記(29C)
の集計を繰り返し、(29D) それぞれの配列YSUM J
(x)において、データ数が1以上で連続するマーク幅
wJの数nJを計数し(29E) マーク幅の数nJが最
大となる集計方向JMAXを真の集計方向とし、その集計
方向JMAXで集計した配列YSUM J(x)を配列Y
SUM(x)としたことを特徴とする。
各列位置xから集計方向Jに沿って開始行LNSTから
終了行LNEDまで黒画素に相当するデータ数を集計
し、開始列MJST列から終了列MJEDまでの配列Y
SUM J(x)とし、(29B) 集計方向Jの平均勾配を
異ならせて、それぞれの集計方向J毎に前記(29C)
の集計を繰り返し、(29D) それぞれの配列YSUM J
(x)において、データ数が1以上で連続するマーク幅
wJの数nJを計数し(29E) マーク幅の数nJが最
大となる集計方向JMAXを真の集計方向とし、その集計
方向JMAXで集計した配列YSUM J(x)を配列Y
SUM(x)としたことを特徴とする。
【0060】更に、請求項30の発明は、開始行LNS
Tと終了行LNEDとの間隔をLNNOとしたときに、
集計方向Jを各列位置xからLNNO÷2J-1行分進む
毎にその列位置xを1列シフトさせ、Jを1から始まる
正の整数として、集計方向Jの平均勾配を異ならせたこ
とを特徴とする。
Tと終了行LNEDとの間隔をLNNOとしたときに、
集計方向Jを各列位置xからLNNO÷2J-1行分進む
毎にその列位置xを1列シフトさせ、Jを1から始まる
正の整数として、集計方向Jの平均勾配を異ならせたこ
とを特徴とする。
【0061】更に、請求項31の発明は、Jを1から3
までの正の整数としたことを特徴とする。
までの正の整数としたことを特徴とする。
【0062】
【作用】請求項1の発明においては、集計方向Jの平均
勾配を異ならせて、それぞれの集計方向に沿って開始行
LNSTから終了行LNEDまで黒画素に相当するデー
タ数を集計すると、集計方向J毎の配列YSUM J(x)が
得られる。
勾配を異ならせて、それぞれの集計方向に沿って開始行
LNSTから終了行LNEDまで黒画素に相当するデー
タ数を集計すると、集計方向J毎の配列YSUM J(x)が
得られる。
【0063】文字列が斜体の文字列である場合には、斜
体の勾配が集計方向Jの平均勾配と一致したときに、文
字間でデータ数が「0」となり、従って配列Y
SUM J(x)においてデータ数が1以上連続するマーク幅
wの数nは最大となる。
体の勾配が集計方向Jの平均勾配と一致したときに、文
字間でデータ数が「0」となり、従って配列Y
SUM J(x)においてデータ数が1以上連続するマーク幅
wの数nは最大となる。
【0064】マーク幅の数nJが最大となる集計方向J
MAXを検出すれば、その集計方向JMAXの平均勾配は、斜
体の勾配に近似し、集計方向JMAXによる配列Y
SUM(x)においてデータ数YSUM(i)が0となる列位
置iは斜体文字の文字間の列位置を表す。
MAXを検出すれば、その集計方向JMAXの平均勾配は、斜
体の勾配に近似し、集計方向JMAXによる配列Y
SUM(x)においてデータ数YSUM(i)が0となる列位
置iは斜体文字の文字間の列位置を表す。
【0065】従って、この列位置iを文字切り出し位置
xbとして、斜体文字列であっても複数文字を同時に切
り出すことがない。
xbとして、斜体文字列であっても複数文字を同時に切
り出すことがない。
【0066】請求項30の発明においては、この集計方
向Jを、Jを1から始まる正の整数とし、開始行LNS
Tと終了行LNEDとの間隔をLNNOとしたときに、
各列位置xからLNNO÷2J-1行分進む毎にその列位
置xを1列シフトさせると、Jの増加に伴い集計方向J
の平均勾配が緩やかに変化する。
向Jを、Jを1から始まる正の整数とし、開始行LNS
Tと終了行LNEDとの間隔をLNNOとしたときに、
各列位置xからLNNO÷2J-1行分進む毎にその列位
置xを1列シフトさせると、Jの増加に伴い集計方向J
の平均勾配が緩やかに変化する。
【0067】請求項31の発明においては、特にこの集
計方向のJの値を1から3までの正の整数とし、集計を
何度も繰り返すことなく、通常用いられる斜体文字から
文字を切り出す。
計方向のJの値を1から3までの正の整数とし、集計を
何度も繰り返すことなく、通常用いられる斜体文字から
文字を切り出す。
【0068】又、請求項2の発明においては、マーク幅
wの内、1文字分の幅として想定できる限界文字幅wP
未満で最大幅のマーク幅wMAXを選択すれば、マーク幅
wMAXは、文字列の内の1文字によるものと推測でき、
そのマーク幅wMAXは文字列における1文字の幅を表す
基準ピッチ幅PITCHと、その両端位置は、文字間の
文字切り出し位置xbと仮定した切り出し検出位置iと
することができる。
wの内、1文字分の幅として想定できる限界文字幅wP
未満で最大幅のマーク幅wMAXを選択すれば、マーク幅
wMAXは、文字列の内の1文字によるものと推測でき、
そのマーク幅wMAXは文字列における1文字の幅を表す
基準ピッチ幅PITCHと、その両端位置は、文字間の
文字切り出し位置xbと仮定した切り出し検出位置iと
することができる。
【0069】この切り出し検出位置iでのデータ数Y
SUM(i)が、切り出ししきい値YSNOIS以下であれば、
仮切り出し位置ibとしてその位置を記憶する。
SUM(i)が、切り出ししきい値YSNOIS以下であれば、
仮切り出し位置ibとしてその位置を記憶する。
【0070】文字列が等間隔で表示されているものとす
れば、マーク幅wMAXの両端位置からそれぞれ基準ピッ
チ幅PITCH離れた位置も、切り出し検出位置iと仮
定することができる。
れば、マーク幅wMAXの両端位置からそれぞれ基準ピッ
チ幅PITCH離れた位置も、切り出し検出位置iと仮
定することができる。
【0071】この切り出し検出位置iにおいても、デー
タ数YSUM(i)が切り出ししきい値YSNOIS以下であれ
ば、仮切り出し位置ibとしてその位置を記憶する。
タ数YSUM(i)が切り出ししきい値YSNOIS以下であれ
ば、仮切り出し位置ibとしてその位置を記憶する。
【0072】従ってこの列位置iが、ノイズによりデー
タ数YSUM(i)が「0」とならなくても、切り出しし
きい値YSNOIS以下であれば、文字切り出し位置xbとす
ることができる。
タ数YSUM(i)が「0」とならなくても、切り出しし
きい値YSNOIS以下であれば、文字切り出し位置xbとす
ることができる。
【0073】一方、基準ピッチ幅PITCH幅内に、デ
ータ数YSUM(x)が「0」の位置があっても、誤って
この位置を仮切り出し位置ibとして文字切り出し位置
xbとすることがない。
ータ数YSUM(x)が「0」の位置があっても、誤って
この位置を仮切り出し位置ibとして文字切り出し位置
xbとすることがない。
【0074】上述と同様の処理を、開始列MJST若し
くは終了列MJED間で繰り返し、全ての仮切り出し位
置ibが検出できれば、これらの仮切り出し位置ibを文
字切り出し位置xbとする。
くは終了列MJED間で繰り返し、全ての仮切り出し位
置ibが検出できれば、これらの仮切り出し位置ibを文
字切り出し位置xbとする。
【0075】このようにして、文字列の全ての文字切り
出し位置xbを検出することができ、複数文字を同時に
切り出したり、1文字を分割して切り出すことがない。
出し位置xbを検出することができ、複数文字を同時に
切り出したり、1文字を分割して切り出すことがない。
【0076】又、請求項8の発明においては、各列位置
x毎に開始行LNSTから終了行LNEDまで黒画素に
相当するデータを検出してそのデータの始点行と終点行
との間隔Lを求め、開始列MJST列から終了列MJE
Dまでの配列YLNG(x)とする。
x毎に開始行LNSTから終了行LNEDまで黒画素に
相当するデータを検出してそのデータの始点行と終点行
との間隔Lを求め、開始列MJST列から終了列MJE
Dまでの配列YLNG(x)とする。
【0077】文字間が癒着していても、文字切り出し位
置xbでの黒画素の始点行と終点行の間隔Lは、周囲の
列の間隔Lより小さいので、配列YLNG(x)を間隔し
きい値LPと比較して得た疑似マーク幅w´1、w´2・
・w´mは、癒着した文字間を区切る目安となる。
置xbでの黒画素の始点行と終点行の間隔Lは、周囲の
列の間隔Lより小さいので、配列YLNG(x)を間隔し
きい値LPと比較して得た疑似マーク幅w´1、w´2・
・w´mは、癒着した文字間を区切る目安となる。
【0078】疑似マーク幅w´1、w´2・・w´mの
内、限界文字幅wP未満で最大幅の疑似マーク幅w´MAX
は、マーク幅wMAXと同様に、文字列の内の1文字によ
るものと推測でき、その疑似マーク幅w´MAXは文字列
における1文字の幅を表す基準ピッチ幅PITCHと、
その両端位置は、文字間の文字切り出し位置xbと仮定
した切り出し検出位置iとすることができる。
内、限界文字幅wP未満で最大幅の疑似マーク幅w´MAX
は、マーク幅wMAXと同様に、文字列の内の1文字によ
るものと推測でき、その疑似マーク幅w´MAXは文字列
における1文字の幅を表す基準ピッチ幅PITCHと、
その両端位置は、文字間の文字切り出し位置xbと仮定
した切り出し検出位置iとすることができる。
【0079】特に、疑似マーク幅w´MAXが左右のバラ
ンスが異なる文字についてのものであっても、配列Y
LNG(x)は、配列YSUM(x)に比べ左右で大きくその
値が異なることがないので、間隔しきい値LPを設定し
てもその両端位置が移動しない。
ンスが異なる文字についてのものであっても、配列Y
LNG(x)は、配列YSUM(x)に比べ左右で大きくその
値が異なることがないので、間隔しきい値LPを設定し
てもその両端位置が移動しない。
【0080】切り出し検出位置iでの間隔YLNG(i)
が、切り出し間隔しきい値YLNOIS以下であれば、仮切
り出し位置ibとしてその位置を記憶する。
が、切り出し間隔しきい値YLNOIS以下であれば、仮切
り出し位置ibとしてその位置を記憶する。
【0081】文字列が等間隔で表示されているものとす
れば、前記仮切り出し位置ibとなった疑似マーク幅w
´MAXの両端位置からそれぞれ基準ピッチ幅PITCH
離れた位置も、切り出し検出位置iと仮定することがで
きる。
れば、前記仮切り出し位置ibとなった疑似マーク幅w
´MAXの両端位置からそれぞれ基準ピッチ幅PITCH
離れた位置も、切り出し検出位置iと仮定することがで
きる。
【0082】マーク幅wMAXの両端位置から基準ピッチ
幅PITCH離れた新たな切り出し検出位置iにおいて
も、間隔YLNG(i)が切り出し間隔しきい値YLNOIS以
下であれば、仮切り出し位置ibとしてその位置を記憶
する。
幅PITCH離れた新たな切り出し検出位置iにおいて
も、間隔YLNG(i)が切り出し間隔しきい値YLNOIS以
下であれば、仮切り出し位置ibとしてその位置を記憶
する。
【0083】従って、この切り出し検出位置iが、文字
と文字が2カ所以上で癒着して間隔YLNG(i)が間隔
しきい値LPを越えても、切り出し間隔しきい値YLNOIS
以下であれば、文字切り出し位置xbとすることができ
る。
と文字が2カ所以上で癒着して間隔YLNG(i)が間隔
しきい値LPを越えても、切り出し間隔しきい値YLNOIS
以下であれば、文字切り出し位置xbとすることができ
る。
【0084】上述と同様の処理を、開始列MJST若し
くは終了列MJED間ので繰り返し、全ての仮切り出し
位置ibが検出できれば、これらの仮切り出し位置ibを
文字切り出し位置xbとする。
くは終了列MJED間ので繰り返し、全ての仮切り出し
位置ibが検出できれば、これらの仮切り出し位置ibを
文字切り出し位置xbとする。
【0085】このようにして、文字列の全て若しくはそ
の一部が癒着していても、文字切り出し位置xbを検出
することができ、複数文字を同時に切り出したり、1文
字を分割して切り出すことがない。
の一部が癒着していても、文字切り出し位置xbを検出
することができ、複数文字を同時に切り出したり、1文
字を分割して切り出すことがない。
【0086】請求項3の発明においては、請求項2の発
明で文字列の全ての文字が互いに癒着している場合に、
いずれのマーク幅w1、w2・・wnも限界文字幅wPを越
えるので、上記疑似マーク幅w´MAXを用いて、文字切
り出し位置xbを検出することができる。
明で文字列の全ての文字が互いに癒着している場合に、
いずれのマーク幅w1、w2・・wnも限界文字幅wPを越
えるので、上記疑似マーク幅w´MAXを用いて、文字切
り出し位置xbを検出することができる。
【0087】更に請求項4の発明においては、請求項2
の発明のマーク幅w1、w2・・wnの内、限界文字幅wP
以上の幅を有するマーク幅wUは、文字が他の文字と癒
着している列位置を示していると推測できる。
の発明のマーク幅w1、w2・・wnの内、限界文字幅wP
以上の幅を有するマーク幅wUは、文字が他の文字と癒
着している列位置を示していると推測できる。
【0088】切り出し検出位置iが文字と文字が癒着し
た部分にあると、データ数YSUM(i)が大きくなるの
で切り出ししきい値YSNOISで判別しにくいが、間隔Y
LNG(i)と切り出し間隔しきい値YLNOISとを比較して
文字切り出し位置xbを判別できる。
た部分にあると、データ数YSUM(i)が大きくなるの
で切り出ししきい値YSNOISで判別しにくいが、間隔Y
LNG(i)と切り出し間隔しきい値YLNOISとを比較して
文字切り出し位置xbを判別できる。
【0089】そこで、切り出し検出位置iにおいて、癒
着フラッグUを示す場合には、そのi列における間隔Y
LNG(i)と切り出し間隔しきい値YLNOISを比較する。
着フラッグUを示す場合には、そのi列における間隔Y
LNG(i)と切り出し間隔しきい値YLNOISを比較する。
【0090】間隔YLNG(i)が切り出し間隔しきい値
YLNOIS以下である場合には、切り出し検出位置iにお
けるデータ数YSUM(i)が切り出ししきい値YSNOIS以
下とみなして請求項2の発明の処理を継続する。
YLNOIS以下である場合には、切り出し検出位置iにお
けるデータ数YSUM(i)が切り出ししきい値YSNOIS以
下とみなして請求項2の発明の処理を継続する。
【0091】請求項5の発明においては、いずれかの切
り出し検出位置iにおけるデータ数YSUM(i)が切り
出ししきい値YSNOISを越えたときには、設定したPI
TCHが文字列の文字ピッチと一致していないと判断
し、既に記憶した仮切り出し位置ibを全て無効とし、
PITCHを設定し直して再度請求項2又は4の発明の
処理を継続する。
り出し検出位置iにおけるデータ数YSUM(i)が切り
出ししきい値YSNOISを越えたときには、設定したPI
TCHが文字列の文字ピッチと一致していないと判断
し、既に記憶した仮切り出し位置ibを全て無効とし、
PITCHを設定し直して再度請求項2又は4の発明の
処理を継続する。
【0092】請求項2又は4の発明において、仮切り出
し位置ibから基準ピッチ幅PITCH離れた位置が、
必ずしも文字切り出し位置xbとならず、文字毎にピッ
チが異なるときにはその周囲の列位置xに移動する。
し位置ibから基準ピッチ幅PITCH離れた位置が、
必ずしも文字切り出し位置xbとならず、文字毎にピッ
チが異なるときにはその周囲の列位置xに移動する。
【0093】そこで、請求項6の発明においては、切り
出し検出位置iにおけるデータ数YSUM(i)が、切り
出ししきい値YSNOISを越える場合に、配列YSUM(x)
におけるデータ数が減少する方向へ順に、各列位置x毎
に配列YSUM(x)によるデータ数と切り出ししきい値
YSNOISを比較する。
出し検出位置iにおけるデータ数YSUM(i)が、切り
出ししきい値YSNOISを越える場合に、配列YSUM(x)
におけるデータ数が減少する方向へ順に、各列位置x毎
に配列YSUM(x)によるデータ数と切り出ししきい値
YSNOISを比較する。
【0094】文字切り出し位置xbがその周囲の列位置
xに移動していれば、ある列位置xでデータ数が切り出
ししきい値YSNOIS以下となるので、切り出ししきい値
YSNOIS以下となったその列位置p´に切り出し検出位
置iを変更する。
xに移動していれば、ある列位置xでデータ数が切り出
ししきい値YSNOIS以下となるので、切り出ししきい値
YSNOIS以下となったその列位置p´に切り出し検出位
置iを変更する。
【0095】従って、文字列のピッチが文字毎に異なる
場合であっても、文字切り出し位置xbを検出すること
ができる。
場合であっても、文字切り出し位置xbを検出すること
ができる。
【0096】請求項7の発明においては、請求項6の発
明でデータ数が切り出ししきい値YSNOIS以下となる前
に、配列YSUM(x)の極小値を超えて、データ数が増
加傾向となった場合には、設定したPITCHが文字列
のピッチと一致していないと判断し、既に記憶した仮切
り出し位置ibを全て無効とし、PITCHを設定し直
す。
明でデータ数が切り出ししきい値YSNOIS以下となる前
に、配列YSUM(x)の極小値を超えて、データ数が増
加傾向となった場合には、設定したPITCHが文字列
のピッチと一致していないと判断し、既に記憶した仮切
り出し位置ibを全て無効とし、PITCHを設定し直
す。
【0097】従って、基準ピッチ幅PITCHが文字列
のピッチと一致していない場合であっても、文字切り出
し位置xbを検出できる。
のピッチと一致していない場合であっても、文字切り出
し位置xbを検出できる。
【0098】請求項9の発明においては、請求項3又は
8の発明において、切り出し検出位置iにおける間隔Y
LNG(i)が切り出し間隔しきい値YLNOISを越えたとき
には、設定したPITCHが文字列のピッチと一致して
いないと判断し、既に記憶した仮切り出し位置ibを全
て無効とし、PITCHを設定し直して再度請求項8の
発明の処理を継続する。
8の発明において、切り出し検出位置iにおける間隔Y
LNG(i)が切り出し間隔しきい値YLNOISを越えたとき
には、設定したPITCHが文字列のピッチと一致して
いないと判断し、既に記憶した仮切り出し位置ibを全
て無効とし、PITCHを設定し直して再度請求項8の
発明の処理を継続する。
【0099】請求項3又は8の発明において、文字列の
ピッチが文字毎に異なる場合には、仮切り出し位置ib
から基準ピッチ幅PITCH離れた位置が、必ずしも文
字切り出し位置xbとならず、その周囲の列位置xに移
動する。
ピッチが文字毎に異なる場合には、仮切り出し位置ib
から基準ピッチ幅PITCH離れた位置が、必ずしも文
字切り出し位置xbとならず、その周囲の列位置xに移
動する。
【0100】そこで、請求項10の発明においては、切
り出し検出位置iにおける間隔YLNG(i)が、切り出
し間隔しきい値YLNOISを越える場合に、配列Y
LNG(x)における間隔Lが減少する方向へ順に、各列
位置x毎に配列YLNG(x)における間隔Lと切り出し
間隔しきい値YLNOISを比較する。
り出し検出位置iにおける間隔YLNG(i)が、切り出
し間隔しきい値YLNOISを越える場合に、配列Y
LNG(x)における間隔Lが減少する方向へ順に、各列
位置x毎に配列YLNG(x)における間隔Lと切り出し
間隔しきい値YLNOISを比較する。
【0101】文字切り出し位置xbがその周囲の列位置
xに移動していれば、ある列位置xで間隔Lが切り出し
間隔しきい値YLNOIS以下となるので、切り出し間隔し
きい値YLNOIS以下となったその列位置p´に切り出し
検出位置iを変更する。
xに移動していれば、ある列位置xで間隔Lが切り出し
間隔しきい値YLNOIS以下となるので、切り出し間隔し
きい値YLNOIS以下となったその列位置p´に切り出し
検出位置iを変更する。
【0102】従って、文字列のピッチが文字毎に異なる
場合であっても、文字切り出し位置xbを検出すること
ができる。
場合であっても、文字切り出し位置xbを検出すること
ができる。
【0103】請求項11の発明においては、請求項10
の発明で間隔Lが切り出し間隔しきい値YLNOIS以下と
なる前に、配列YLNG(x)の極小値を超えて、間隔L
が増加傾向となった場合には、設定したPITCHが文
字列のピッチと一致していないと判断し、既に記憶した
仮切り出し位置ibを全て無効とし、PITCHを設定
し直す。
の発明で間隔Lが切り出し間隔しきい値YLNOIS以下と
なる前に、配列YLNG(x)の極小値を超えて、間隔L
が増加傾向となった場合には、設定したPITCHが文
字列のピッチと一致していないと判断し、既に記憶した
仮切り出し位置ibを全て無効とし、PITCHを設定
し直す。
【0104】従って、基準ピッチ幅PITCHが文字列
のピッチと一致していない場合であっても、文字切り出
し位置xbを検出できる。
のピッチと一致していない場合であっても、文字切り出
し位置xbを検出できる。
【0105】又、請求項12の発明においては、マーク
幅wの内、1文字分の幅として想定できる限界文字幅w
P未満で最大幅のマーク幅wMAXを選択すれば、マーク幅
wMAXは、文字列の内の1文字によるものと推測でき、
そのマーク幅wMAXは、1文字の幅とほぼ等しい基準ピ
ッチ幅PITCHと、その両端の周囲には、文字間の文
字切り出し位置xbが存在すると仮定することができ
る。
幅wの内、1文字分の幅として想定できる限界文字幅w
P未満で最大幅のマーク幅wMAXを選択すれば、マーク幅
wMAXは、文字列の内の1文字によるものと推測でき、
そのマーク幅wMAXは、1文字の幅とほぼ等しい基準ピ
ッチ幅PITCHと、その両端の周囲には、文字間の文
字切り出し位置xbが存在すると仮定することができ
る。
【0106】従って、マーク幅wMAXの一端の列位置x
とその前後qの列位置xを(2q+1)列の検出列位置
群Iとし、検出列位置群Iの各列位置xの内、データ数
が最小の切り出し検出位置iを検出し、この切り出し検
出位置iにおける最小値YSUMMINI(i)を切り出しし
きい値YSNOISと比較し、切り出ししきい値YSNOIS以下
であれば、仮切り出し位置ibとしてその位置を記憶す
る。
とその前後qの列位置xを(2q+1)列の検出列位置
群Iとし、検出列位置群Iの各列位置xの内、データ数
が最小の切り出し検出位置iを検出し、この切り出し検
出位置iにおける最小値YSUMMINI(i)を切り出しし
きい値YSNOISと比較し、切り出ししきい値YSNOIS以下
であれば、仮切り出し位置ibとしてその位置を記憶す
る。
【0107】文字列が等間隔で表示されているものとす
れば、マーク幅wMAXの両端位置からそれぞれ基準ピッ
チ幅PITCH離れた位置の新たな検出列位置群Iにも
文字切り出し位置xbが存在すると仮定することができ
る。
れば、マーク幅wMAXの両端位置からそれぞれ基準ピッ
チ幅PITCH離れた位置の新たな検出列位置群Iにも
文字切り出し位置xbが存在すると仮定することができ
る。
【0108】この新たな検出列位置群Iの切り出し検出
位置iにおいても、最小値YSUMMINI(i)を切り出し
しきい値YSNOISと比較し、切り出ししきい値YSNOIS以
下であれば、仮切り出し位置ibとしてその位置を記憶
する。
位置iにおいても、最小値YSUMMINI(i)を切り出し
しきい値YSNOISと比較し、切り出ししきい値YSNOIS以
下であれば、仮切り出し位置ibとしてその位置を記憶
する。
【0109】従ってこの切り出し検出位置iが、ノイズ
によりデータ数YSUM(i)が「0」とならなくても、
切り出ししきい値YSNOIS以下であれば、文字切り出し
位置xbとすることができる。
によりデータ数YSUM(i)が「0」とならなくても、
切り出ししきい値YSNOIS以下であれば、文字切り出し
位置xbとすることができる。
【0110】一方、基準ピッチ幅PITCH幅内に、デ
ータ数YSUM(x)が「0」の位置があっても、誤って
この位置を仮切り出し位置ibとして文字切り出し位置
xbとすることがない。
ータ数YSUM(x)が「0」の位置があっても、誤って
この位置を仮切り出し位置ibとして文字切り出し位置
xbとすることがない。
【0111】上述と同様の処理を、開始列MJST若し
くは終了列MJED間で繰り返し、全ての仮切り出し位
置ibが検出できれば、これらの仮切り出し位置ibを文
字切り出し位置xbとする。
くは終了列MJED間で繰り返し、全ての仮切り出し位
置ibが検出できれば、これらの仮切り出し位置ibを文
字切り出し位置xbとする。
【0112】このようにして、文字列の全ての文字切り
出し位置xbを検出することができ、複数文字を同時に
切り出したり、1文字を分割して切り出すことがない。
出し位置xbを検出することができ、複数文字を同時に
切り出したり、1文字を分割して切り出すことがない。
【0113】又、請求項18の発明においては、各列位
置x毎に開始行LNSTから終了行LNEDまで黒画素
に相当するデータを検出してそのデータの始点行と終点
行との間隔Lを求め、開始列MJST列から終了列MJ
EDまでの配列YLNG(x)とする。
置x毎に開始行LNSTから終了行LNEDまで黒画素
に相当するデータを検出してそのデータの始点行と終点
行との間隔Lを求め、開始列MJST列から終了列MJ
EDまでの配列YLNG(x)とする。
【0114】文字間が癒着していても、文字切り出し位
置xbでの黒画素の始点行と終点行の間隔Lは、周囲の
列の間隔Lより小さいので、配列YLNG(x)を間隔し
きい値LPと比較して得た疑似マーク幅w´1、w´2・
・w´mは、癒着した文字間を区切る目安となる。
置xbでの黒画素の始点行と終点行の間隔Lは、周囲の
列の間隔Lより小さいので、配列YLNG(x)を間隔し
きい値LPと比較して得た疑似マーク幅w´1、w´2・
・w´mは、癒着した文字間を区切る目安となる。
【0115】疑似マーク幅w´1、w´2・・w´mの
内、1文字分の幅として想定できる限界文字幅wP未満
で最大幅の疑似マーク幅w´MAXを選択すれば、疑似マ
ーク幅w´MAXはマーク幅wMAXと同様に、文字列の内の
1文字によるものと推測でき、その疑似マーク幅w´
MAXは文字列における1文字によるものと推測でき、そ
のマーク幅w´MAXは、1文字の幅とほぼ等しい基準ピ
ッチ幅PITCHと、その両端の周囲には、文字間の文
字切り出し位置xbが存在すると仮定することができ
る。
内、1文字分の幅として想定できる限界文字幅wP未満
で最大幅の疑似マーク幅w´MAXを選択すれば、疑似マ
ーク幅w´MAXはマーク幅wMAXと同様に、文字列の内の
1文字によるものと推測でき、その疑似マーク幅w´
MAXは文字列における1文字によるものと推測でき、そ
のマーク幅w´MAXは、1文字の幅とほぼ等しい基準ピ
ッチ幅PITCHと、その両端の周囲には、文字間の文
字切り出し位置xbが存在すると仮定することができ
る。
【0116】特に、疑似マーク幅w´MAXが左右のバラ
ンスが異なる文字についてのものであっても、配列Y
LNG(x)は、配列YSUM(x)に比べ左右で大きくその
値が異なることがないので、間隔しきい値LPを設定し
てもその両端位置が移動しない。
ンスが異なる文字についてのものであっても、配列Y
LNG(x)は、配列YSUM(x)に比べ左右で大きくその
値が異なることがないので、間隔しきい値LPを設定し
てもその両端位置が移動しない。
【0117】従って、疑似マーク幅w´MAXの一端の列
位置xとその前後qの列位置xを(2q+1)列の検出
列位置群Iとし、検出列位置群Iの各列位置xの内、間
隔Lが最小の切り出し検出位置iを検出し、この切り出
し検出位置iにおける間隔最小値YLNGMINI(i)を切
り出ししきい値YLNOISと比較し、切り出し間隔しきい
値YLNOIS以下であれば、仮切り出し位置ibとしてその
位置を記憶する。
位置xとその前後qの列位置xを(2q+1)列の検出
列位置群Iとし、検出列位置群Iの各列位置xの内、間
隔Lが最小の切り出し検出位置iを検出し、この切り出
し検出位置iにおける間隔最小値YLNGMINI(i)を切
り出ししきい値YLNOISと比較し、切り出し間隔しきい
値YLNOIS以下であれば、仮切り出し位置ibとしてその
位置を記憶する。
【0118】文字列が等間隔で表示されているものとす
れば、疑似マーク幅w´MAXの両端位置からそれぞれ基
準ピッチ幅PITCH離れた位置の新たな検出列位置群
Iにも文字切り出し位置xbが存在すると仮定すること
ができる。
れば、疑似マーク幅w´MAXの両端位置からそれぞれ基
準ピッチ幅PITCH離れた位置の新たな検出列位置群
Iにも文字切り出し位置xbが存在すると仮定すること
ができる。
【0119】この新たな検出列位置群Iの切り出し検出
位置iにおいても、間隔最小値YLNGMINI(i)を切り
出し間隔しきい値YLNOISと比較し、切り出し間隔しき
い値YLNOIS以下であれば、仮切り出し位置ibとしてそ
の位置を記憶する。
位置iにおいても、間隔最小値YLNGMINI(i)を切り
出し間隔しきい値YLNOISと比較し、切り出し間隔しき
い値YLNOIS以下であれば、仮切り出し位置ibとしてそ
の位置を記憶する。
【0120】従って、この切り出し検出位置iが、文字
と文字が2カ所以上で癒着して間隔最小値Y
LNGMINI(i)が間隔しきい値LPを越えていても、切り
出し間隔しきい値YLNOIS以下であれば、文字切り出し
位置xbとすることができる。
と文字が2カ所以上で癒着して間隔最小値Y
LNGMINI(i)が間隔しきい値LPを越えていても、切り
出し間隔しきい値YLNOIS以下であれば、文字切り出し
位置xbとすることができる。
【0121】一方、基準ピッチ幅PITCH幅内に、間
隔最小値YLNGMINI(i)が間隔しきい値LP以下の位置
があっても、誤ってこの位置を仮切り出し位置ibとし
て文字切り出し位置xbとすることがない。
隔最小値YLNGMINI(i)が間隔しきい値LP以下の位置
があっても、誤ってこの位置を仮切り出し位置ibとし
て文字切り出し位置xbとすることがない。
【0122】上述と同様の処理を、開始列MJST若し
くは終了列MJED間で繰り返し、全ての仮切り出し位
置ibが検出できれば、これらの仮切り出し位置ibを文
字切り出し位置xbとする。
くは終了列MJED間で繰り返し、全ての仮切り出し位
置ibが検出できれば、これらの仮切り出し位置ibを文
字切り出し位置xbとする。
【0123】このようにして、文字列の全ての文字切り
出し位置xbを検出することができ、複数文字を同時に
切り出したり、1文字を分割して切り出すことがない。
出し位置xbを検出することができ、複数文字を同時に
切り出したり、1文字を分割して切り出すことがない。
【0124】請求項13の発明においては、請求項12
の発明で文字列の全ての文字が互いに癒着している場合
に、いずれのマーク幅w1、w2・・wnも限界文字幅wP
を越えるので、上記疑似マーク幅w´MAXを用いて、文
字切り出し位置xbを検出することができる。
の発明で文字列の全ての文字が互いに癒着している場合
に、いずれのマーク幅w1、w2・・wnも限界文字幅wP
を越えるので、上記疑似マーク幅w´MAXを用いて、文
字切り出し位置xbを検出することができる。
【0125】更に請求項14の発明においては、請求項
12の発明のマーク幅w1、w2・・wnの内、限界文字
幅wP以上の幅を有するマーク幅wUは、文字が他の文字
と癒着している列位置を示していると推測できる。
12の発明のマーク幅w1、w2・・wnの内、限界文字
幅wP以上の幅を有するマーク幅wUは、文字が他の文字
と癒着している列位置を示していると推測できる。
【0126】切り出し検出位置iが文字と文字が癒着し
た部分にあると、最小値YSUMMINI(i)が大きくなる
ので切り出ししきい値YSNOISで判別しにくいが、間隔
最小値YLNGMINI(i)と切り出し間隔しきい値YLNOIS
とを比較して文字切り出し位置xbを判別できる。
た部分にあると、最小値YSUMMINI(i)が大きくなる
ので切り出ししきい値YSNOISで判別しにくいが、間隔
最小値YLNGMINI(i)と切り出し間隔しきい値YLNOIS
とを比較して文字切り出し位置xbを判別できる。
【0127】そこで、検出列位置群Iの中央列位置iC
において、癒着フラッグUを示す場合には、その検出列
位置群Iの切り出し検出位置iにおける間隔Y
LNG(i)と切り出し間隔しきい値YLNOISを比較する。
において、癒着フラッグUを示す場合には、その検出列
位置群Iの切り出し検出位置iにおける間隔Y
LNG(i)と切り出し間隔しきい値YLNOISを比較する。
【0128】間隔最小値YLNGMINI(i)が切り出し間
隔しきい値YLNOIS以下である場合には、切り出し検出
位置iにおける最小値YSUMMINI(i)が切り出ししき
い値YSNOIS以下とみなして請求項12の発明の処理を
継続する。
隔しきい値YLNOIS以下である場合には、切り出し検出
位置iにおける最小値YSUMMINI(i)が切り出ししき
い値YSNOIS以下とみなして請求項12の発明の処理を
継続する。
【0129】請求項15の発明においては、いずれかの
切り出し検出位置iにおける最小値YSUMMINI(i)が
切り出ししきい値YSNOISを越えたときには、設定した
PITCHが文字列の文字ピッチと一致していないと判
断し、既に記憶した仮切り出し位置ibを全て無効と
し、PITCHを設定し直して再度請求項12又は14
の発明の処理を継続する。
切り出し検出位置iにおける最小値YSUMMINI(i)が
切り出ししきい値YSNOISを越えたときには、設定した
PITCHが文字列の文字ピッチと一致していないと判
断し、既に記憶した仮切り出し位置ibを全て無効と
し、PITCHを設定し直して再度請求項12又は14
の発明の処理を継続する。
【0130】請求項12又は14の発明において、仮切
り出し位置ibから基準ピッチ幅PITCH離れた位置
が、必ずしも文字切り出し位置xbとならず、文字毎に
ピッチが異なるときにはその周囲の列位置xに移動す
る。
り出し位置ibから基準ピッチ幅PITCH離れた位置
が、必ずしも文字切り出し位置xbとならず、文字毎に
ピッチが異なるときにはその周囲の列位置xに移動す
る。
【0131】そこで、請求項16の発明においては、切
り出し検出位置iにおける最小値YSUMMINI(i)が、
切り出ししきい値YSNOISを越える場合に、検出初期位
置群Pから(2q+1)列毎に区分した二次検出列位置
群I´を設定し、二次検出列位置群I´のデータ数が最
小となる列位置を二次切り出し検出位置i´、その最小
値をYSUMMINI(i´)とし、隣り合う二次検出列位置
群I´間の最小値YSUMMINI(i´)を比較する。
り出し検出位置iにおける最小値YSUMMINI(i)が、
切り出ししきい値YSNOISを越える場合に、検出初期位
置群Pから(2q+1)列毎に区分した二次検出列位置
群I´を設定し、二次検出列位置群I´のデータ数が最
小となる列位置を二次切り出し検出位置i´、その最小
値をYSUMMINI(i´)とし、隣り合う二次検出列位置
群I´間の最小値YSUMMINI(i´)を比較する。
【0132】各二次検出列位置群I´の最小値Y
SUMMINI(i´)が減少する方向へ順に、各二次検出列
位置群I´毎に最小値YSUMMINI(i´)と切り出しし
きい値YSNOISを比較し、YSUMMINI(i´)が切り出し
しきい値YSNOIS以下となった二次切り出し検出位置i
´があれば、その位置は移動した文字切り出し位置xb
と推測できる。
SUMMINI(i´)が減少する方向へ順に、各二次検出列
位置群I´毎に最小値YSUMMINI(i´)と切り出しし
きい値YSNOISを比較し、YSUMMINI(i´)が切り出し
しきい値YSNOIS以下となった二次切り出し検出位置i
´があれば、その位置は移動した文字切り出し位置xb
と推測できる。
【0133】従って、この二次切り出し検出位置i´に
切り出し検出位置iを変更すれば、文字毎に大きくピッ
チが異なっても、文字切り出し位置xbを検出できる。
切り出し検出位置iを変更すれば、文字毎に大きくピッ
チが異なっても、文字切り出し位置xbを検出できる。
【0134】請求項17の発明においては、請求項16
の発明で最小値YSUMMINI(i´)が切り出ししきい値
YSNOIS以下となる前に、YSUMMINI(i´)の極小値を
超えて、最小値が増加傾向となった場合には、設定した
PITCHが文字列のピッチと一致していないと判断
し、既に記憶した仮切り出し位置ibを全て無効とし、
PITCHを設定し直す。
の発明で最小値YSUMMINI(i´)が切り出ししきい値
YSNOIS以下となる前に、YSUMMINI(i´)の極小値を
超えて、最小値が増加傾向となった場合には、設定した
PITCHが文字列のピッチと一致していないと判断
し、既に記憶した仮切り出し位置ibを全て無効とし、
PITCHを設定し直す。
【0135】従って、基準ピッチ幅PITCHが文字列
のピッチと一致していない場合であっても、文字切り出
し位置xbを検出できる。
のピッチと一致していない場合であっても、文字切り出
し位置xbを検出できる。
【0136】請求項19の発明においては、請求項13
又は18の発明において、切り出し検出位置iにおける
間隔最小値YLNGMINI(i)が切り出し間隔しきい値Y
LNOISを越えたときには、設定したPITCHが文字列
のピッチと一致していないと判断し、既に記憶した仮切
り出し位置ibを全て無効とし、PITCHを設定し直
して再度請求項18の発明の処理を継続する。
又は18の発明において、切り出し検出位置iにおける
間隔最小値YLNGMINI(i)が切り出し間隔しきい値Y
LNOISを越えたときには、設定したPITCHが文字列
のピッチと一致していないと判断し、既に記憶した仮切
り出し位置ibを全て無効とし、PITCHを設定し直
して再度請求項18の発明の処理を継続する。
【0137】請求項13又は18の発明において、文字
列のピッチが文字毎に異なる場合には、仮切り出し位置
ibから基準ピッチ幅PITCH離れた位置が、必ずし
も文字切り出し位置xbとならず、その周囲の列位置x
に移動する。
列のピッチが文字毎に異なる場合には、仮切り出し位置
ibから基準ピッチ幅PITCH離れた位置が、必ずし
も文字切り出し位置xbとならず、その周囲の列位置x
に移動する。
【0138】そこで、請求項20の発明においては、切
り出し検出位置iにおける間隔最小値YLNGMINI(i)
が、切り出し間隔しきい値YLNOISを越える場合に、検
出初期位置群Pから(2q+1)列毎に区分した二次検
出列位置群I´を設定し、二次検出列位置群I´の間隔
Lが最小となる列位置を二次切り出し検出位置i´、そ
の間隔最小値をYLNGMINI(i´)とし、隣り合う二次
検出列位置群I´間の間隔最小値YLNGMINI(i´)を
比較する。
り出し検出位置iにおける間隔最小値YLNGMINI(i)
が、切り出し間隔しきい値YLNOISを越える場合に、検
出初期位置群Pから(2q+1)列毎に区分した二次検
出列位置群I´を設定し、二次検出列位置群I´の間隔
Lが最小となる列位置を二次切り出し検出位置i´、そ
の間隔最小値をYLNGMINI(i´)とし、隣り合う二次
検出列位置群I´間の間隔最小値YLNGMINI(i´)を
比較する。
【0139】各二次検出列位置群I´の間隔最小値をY
LNGMINI(i´)が減少する方向へ順に、各二次検出列
位置群I´毎に間隔最小値YLNGMINI(i´)と切り出
し間隔しきい値YLNOISを比較し、YLNGMINI(i´)が
切り出し間隔しきい値YLNOIS以下となった二次切り出
し検出位置i´があれば、その位置は移動した文字切り
出し位置xbと推測できる。
LNGMINI(i´)が減少する方向へ順に、各二次検出列
位置群I´毎に間隔最小値YLNGMINI(i´)と切り出
し間隔しきい値YLNOISを比較し、YLNGMINI(i´)が
切り出し間隔しきい値YLNOIS以下となった二次切り出
し検出位置i´があれば、その位置は移動した文字切り
出し位置xbと推測できる。
【0140】従って、この二次切り出し検出位置i´に
切り出し検出位置iを変更すれば、文字毎に大きくピッ
チが異なっても、文字切り出し位置xbを検出できる。
切り出し検出位置iを変更すれば、文字毎に大きくピッ
チが異なっても、文字切り出し位置xbを検出できる。
【0141】請求項21の発明においては、請求項20
の発明で間隔最小値YLNGMINI(i´)が切り出し間隔
しきい値YLNOIS以下となる前に、YLNGMINI(i´)の
極小値を超えて、間隔最小値が増加傾向となった場合に
は、設定したPITCHが文字列のピッチと一致してい
ないと判断し、既に記憶した仮切り出し位置ibを全て
無効とし、PITCHを設定し直す。
の発明で間隔最小値YLNGMINI(i´)が切り出し間隔
しきい値YLNOIS以下となる前に、YLNGMINI(i´)の
極小値を超えて、間隔最小値が増加傾向となった場合に
は、設定したPITCHが文字列のピッチと一致してい
ないと判断し、既に記憶した仮切り出し位置ibを全て
無効とし、PITCHを設定し直す。
【0142】従って、基準ピッチ幅PITCHが文字列
のピッチと一致していない場合であっても、文字切り出
し位置xbを検出できる。
のピッチと一致していない場合であっても、文字切り出
し位置xbを検出できる。
【0143】請求項22の発明においては、仮切り出し
位置ibから左右の列(MJST、MJED)までの残
りの幅がPITCH/2に満たない場合には、この幅内
に文字が存在することがなく、限界折り返し幅MJLIM
をPITCH÷2として、更に同じ方向で切り出し検出
位置iを設定しない。
位置ibから左右の列(MJST、MJED)までの残
りの幅がPITCH/2に満たない場合には、この幅内
に文字が存在することがなく、限界折り返し幅MJLIM
をPITCH÷2として、更に同じ方向で切り出し検出
位置iを設定しない。
【0144】請求項23の発明においては、基準ピッチ
幅をPITCH+(−1)C-1*Cで変更し、最も文字
列のピッチと一致する期待値の高いPITCHを中心に
順にその幅を1列分毎に変化させる。
幅をPITCH+(−1)C-1*Cで変更し、最も文字
列のピッチと一致する期待値の高いPITCHを中心に
順にその幅を1列分毎に変化させる。
【0145】請求項24の発明においては、全ての文字
が互いに癒着していても1箇所で癒着している列では間
隔LがLNNO÷2以下となるので、間隔しきい値LP
をLNNO÷2として、その間隔しきい値LPによる疑
似マーク幅w´1、w´2・・w´mで癒着した文字間を
区切る目安とする。
が互いに癒着していても1箇所で癒着している列では間
隔LがLNNO÷2以下となるので、間隔しきい値LP
をLNNO÷2として、その間隔しきい値LPによる疑
似マーク幅w´1、w´2・・w´mで癒着した文字間を
区切る目安とする。
【0146】請求項25の発明においては、文字列を構
成する1文字は縦長であり、横長の文字は少ないので、
想定する文字の横幅である限界文字幅wPを文字の縦幅
である間隔LNNOとする。
成する1文字は縦長であり、横長の文字は少ないので、
想定する文字の横幅である限界文字幅wPを文字の縦幅
である間隔LNNOとする。
【0147】請求項26の発明においては、切り出しし
きい値YSNOISを2として、文字切り出し位置xbが誤動
作により黒画素のデータをカウントしても、文字切り出
し位置xbと検出できるようにする。
きい値YSNOISを2として、文字切り出し位置xbが誤動
作により黒画素のデータをカウントしても、文字切り出
し位置xbと検出できるようにする。
【0148】請求項27の発明においては、切り出し間
隔しきい値YLNOISを3LNNO÷4として、切り出し
検出位置iが癒着しても間隔YLNG(i)は3LNNO
÷4以下であり、仮切り出し位置ibとすることができ
る。
隔しきい値YLNOISを3LNNO÷4として、切り出し
検出位置iが癒着しても間隔YLNG(i)は3LNNO
÷4以下であり、仮切り出し位置ibとすることができ
る。
【0149】請求項28の発明においては、qを0とし
て、検出列位置群Iを3列で構成するので、3列毎に文
字切り出し位置xbを検出できる。
て、検出列位置群Iを3列で構成するので、3列毎に文
字切り出し位置xbを検出できる。
【0150】請求項29の発明においては、集計方向J
の平均勾配を異ならせて、それぞれの集計方向に沿って
開始行LNSTから終了行LNEDまで黒画素に相当す
るデータ数を集計すると、集計方向J毎の配列Y
SUM J(x)が得られる。
の平均勾配を異ならせて、それぞれの集計方向に沿って
開始行LNSTから終了行LNEDまで黒画素に相当す
るデータ数を集計すると、集計方向J毎の配列Y
SUM J(x)が得られる。
【0151】文字列が斜体の文字列である場合には、斜
体の勾配が集計方向Jの平均勾配と一致したときに、文
字間でデータ数が「0」となり、従って配列Y
SUM J(x)においてデータ数が1以上連続するマーク幅
wの数nは最大となる。
体の勾配が集計方向Jの平均勾配と一致したときに、文
字間でデータ数が「0」となり、従って配列Y
SUM J(x)においてデータ数が1以上連続するマーク幅
wの数nは最大となる。
【0152】マーク幅の数nJが最大となる集計方向J
MAXを検出すれば、その集計方向JMAXの平均勾配は、斜
体の勾配に近似し、集計方向JMAXによる配列Y
SUM(x)においてデータ数YSUM(i)が0となる列位
置iは斜体文字の文字間の列位置を表す。
MAXを検出すれば、その集計方向JMAXの平均勾配は、斜
体の勾配に近似し、集計方向JMAXによる配列Y
SUM(x)においてデータ数YSUM(i)が0となる列位
置iは斜体文字の文字間の列位置を表す。
【0153】従って、斜体文字列であってもこの集計方
向JMAXによる配列YSUM(x)を請求項2乃至7、12
乃至17、22乃至28の配列YSUM(x)として、こ
れらの発明と組み合わせることができる。
向JMAXによる配列YSUM(x)を請求項2乃至7、12
乃至17、22乃至28の配列YSUM(x)として、こ
れらの発明と組み合わせることができる。
【0154】
【実施例】以下、この発明の実施例を図6から図11ま
でのフローチャートに従って説明する。
でのフローチャートに従って説明する。
【0155】尚、本実施例に係る光学式文字認識におけ
る文字切り出し方法は、従来例で説明した第15図の構
成と同一の光学的読み取り装置を用いるものであり、又
文字切り出しの方法を除く、その他の文字列の画像読み
取りから認識した文字の出力までの手順は、第16図に
示す手順と同一であるため、これらについては同一番号
を付してその説明を省略する。
る文字切り出し方法は、従来例で説明した第15図の構
成と同一の光学的読み取り装置を用いるものであり、又
文字切り出しの方法を除く、その他の文字列の画像読み
取りから認識した文字の出力までの手順は、第16図に
示す手順と同一であるため、これらについては同一番号
を付してその説明を省略する。
【0156】始めに、イメージデータが記憶されたメモ
リー上の番地において、文字列の文字列領域に相当する
読み取りデータの外形位置(番地)を検出する(ステッ
プS1)。
リー上の番地において、文字列の文字列領域に相当する
読み取りデータの外形位置(番地)を検出する(ステッ
プS1)。
【0157】この文字列領域の外形位置(番地)は、従
来例で説明した方法と同様に、図1のイメージデータ記
憶部5において、文字列による2値データ「1」の有無
をその周囲と比較して検出する。
来例で説明した方法と同様に、図1のイメージデータ記
憶部5において、文字列による2値データ「1」の有無
をその周囲と比較して検出する。
【0158】すなわち、図1(a)のイメージデータ記
憶部5のメモリーにおいて、文字列10の配列方向をX
として、X方向の各列毎に各列の黒画素に相当する2値
データ「1」の数を計数してヒストグラムHSUM(x)
を作り、配列YSUM(x)とする。
憶部5のメモリーにおいて、文字列10の配列方向をX
として、X方向の各列毎に各列の黒画素に相当する2値
データ「1」の数を計数してヒストグラムHSUM(x)
を作り、配列YSUM(x)とする。
【0159】YSUM(x)が一定幅以上、例えば図中前
後5列が連続して「0」となったときには、文字列領域
から外れたと推測できるので、配列YSUM(x)が
「0」から「1」以上の数となる前の「0」の列位置x
を文字列領域の左端MJSTとし、「1」以上の数から
「0」となった列位置xを文字列領域の右端MJEDと
する。
後5列が連続して「0」となったときには、文字列領域
から外れたと推測できるので、配列YSUM(x)が
「0」から「1」以上の数となる前の「0」の列位置x
を文字列領域の左端MJSTとし、「1」以上の数から
「0」となった列位置xを文字列領域の右端MJEDと
する。
【0160】同様に、同図でY方向の各行毎に各行の黒
画素に相当する2値データ「1」の数を計数した配列X
SUM(y)から、配列XSUM(y)が「0」から「1」以
上の数となった行位置yを文字列領域の上端LNSTと
し、「1」以上の数から「0」となった行位置yを文字
列領域の下端LNEDとする。
画素に相当する2値データ「1」の数を計数した配列X
SUM(y)から、配列XSUM(y)が「0」から「1」以
上の数となった行位置yを文字列領域の上端LNSTと
し、「1」以上の数から「0」となった行位置yを文字
列領域の下端LNEDとする。
【0161】次いで、集計方向変数Jを初期設定し、J
=1とする(ステップS2)。
=1とする(ステップS2)。
【0162】以下説明するステップS2からステップS
6までの手順は、文字列の傾斜方向に沿った最適な集計
方向を得る為の手順である。
6までの手順は、文字列の傾斜方向に沿った最適な集計
方向を得る為の手順である。
【0163】集計方向Jは、各列毎に上端LNSTから
下端LNEDまで各列の黒画素に相当する2値データ
「1」の数を計数する方向を示すもので、図3に示すよ
うに、開始行LNSTと終了行LNEDとの間隔をLN
NOとしたときに、開始行LNSTの一列位置からLN
NO÷2J-1行分進む毎にその集計列を−X方向(図中
左方向)に1列シフトする。
下端LNEDまで各列の黒画素に相当する2値データ
「1」の数を計数する方向を示すもので、図3に示すよ
うに、開始行LNSTと終了行LNEDとの間隔をLN
NOとしたときに、開始行LNSTの一列位置からLN
NO÷2J-1行分進む毎にその集計列を−X方向(図中
左方向)に1列シフトする。
【0164】例えば、集計方向Jが初期設定値1では、
集計列位置xは途中で変化しないが、J=2でL2の行
位置で、J=3でL1行、L2行、L3行の行位置で1
行左にシフトする。
集計列位置xは途中で変化しないが、J=2でL2の行
位置で、J=3でL1行、L2行、L3行の行位置で1
行左にシフトする。
【0165】Jを1から始まる正の整数として1づつ増
加させると、Jの増加に伴い集計方向Jの平均勾配が緩
やかに変化する。
加させると、Jの増加に伴い集計方向Jの平均勾配が緩
やかに変化する。
【0166】従って、簡単な作業で、イメージデータ記
憶部5のX、Y方向で示される直交する各番地に2値デ
ータが記憶されているものであっても、Y方向と異なる
勾配で集計することができる。
憶部5のX、Y方向で示される直交する各番地に2値デ
ータが記憶されているものであっても、Y方向と異なる
勾配で集計することができる。
【0167】本実施例では、ステップS5の通り、Jを
1から3までとしている。
1から3までとしている。
【0168】ステップS3では、このように定められた
集計方向Jに沿って、各列毎に2値データ「1」の数を
計数し、終了行LNEDの列位置xとその集計値のヒス
トグラムHSUM J(x)を作り、それぞれ配列Y
SUM J(x)とする。
集計方向Jに沿って、各列毎に2値データ「1」の数を
計数し、終了行LNEDの列位置xとその集計値のヒス
トグラムHSUM J(x)を作り、それぞれ配列Y
SUM J(x)とする。
【0169】図2(b)乃至(g)は、図2(a)のメ
モリー上の読み取りデータを集計方向J=1、2、3で
それぞれ集計した結果のヒストグラムHSUM J(x)と配
列YSUM J(x)を示している。
モリー上の読み取りデータを集計方向J=1、2、3で
それぞれ集計した結果のヒストグラムHSUM J(x)と配
列YSUM J(x)を示している。
【0170】次に、集計方向毎に各配列YSUM J(x)に
おいて、「0」以外で連続するマーク幅wJとその数nJ
を求める(ステップS4)。
おいて、「0」以外で連続するマーク幅wJとその数nJ
を求める(ステップS4)。
【0171】配列YSUM J(x)が「0」の列は、文字と
文字との境界すなわち文字切り出し位置xbと推測でき
るので、各配列YSUM J(x)において「0」以外で連続
するマーク幅wJの数nJが多いほど、集計方向Jの平均
勾配が文字列の傾斜角度に近似し、多数の文字切り出し
位置xbがその配列YSUM J(x)に表れているというこ
とができる。
文字との境界すなわち文字切り出し位置xbと推測でき
るので、各配列YSUM J(x)において「0」以外で連続
するマーク幅wJの数nJが多いほど、集計方向Jの平均
勾配が文字列の傾斜角度に近似し、多数の文字切り出し
位置xbがその配列YSUM J(x)に表れているというこ
とができる。
【0172】従って、ステップS5で、J=3まで各集
計方向Jでのマーク幅wJとその数nJを求めた後、ステ
ップS6でnJの最大値を最適な集計方向JMAXとする。
計方向Jでのマーク幅wJとその数nJを求めた後、ステ
ップS6でnJの最大値を最適な集計方向JMAXとする。
【0173】図2の読み取りデータにおいては、J=3
の集計方向が最も文字列の傾斜方向と一致し、文字
「7」と文字「2」との間の文字切り出し位置xbがそ
の配列YSUM 3(x)に表れる。
の集計方向が最も文字列の傾斜方向と一致し、文字
「7」と文字「2」との間の文字切り出し位置xbがそ
の配列YSUM 3(x)に表れる。
【0174】これによって、Jが1、2のマーク数
n1、n2は1であるのに対し、Jが3のマーク数n3は
2となり、J=3が最適な集計方向JMAXとなる。
n1、n2は1であるのに対し、Jが3のマーク数n3は
2となり、J=3が最適な集計方向JMAXとなる。
【0175】文字列の文字が、互いに癒着せず、又従来
例に示すようにドットで構成されていない場合には、こ
の集計方向JMAXで集計した配列YSUM(x)が「0」と
なる列位置iを文字切り出し位置xbとして、1文字毎
に切り出すことができる。
例に示すようにドットで構成されていない場合には、こ
の集計方向JMAXで集計した配列YSUM(x)が「0」と
なる列位置iを文字切り出し位置xbとして、1文字毎
に切り出すことができる。
【0176】尚、本実施例においては、文字列領域の開
始列MJSTと終了列MJEDをJ=1の集計方向で求
めているが、集計方向JMAXが異なることにより開始列
MJSTと終了列MJEDの位置が変わる場合には、再
度集計方向JMAXで黒画素のデータ「1」を集計し、文
字領域検出を行ってもよい。
始列MJSTと終了列MJEDをJ=1の集計方向で求
めているが、集計方向JMAXが異なることにより開始列
MJSTと終了列MJEDの位置が変わる場合には、再
度集計方向JMAXで黒画素のデータ「1」を集計し、文
字領域検出を行ってもよい。
【0177】又、文字列領域検出は、集計方向JMAXを
求めた後に、その集計方向JMAXで集計した配列Y
SUM(x)と前述のXSUM(y)で求めてもよい。
求めた後に、その集計方向JMAXで集計した配列Y
SUM(x)と前述のXSUM(y)で求めてもよい。
【0178】更に、傾斜文字列を読み取りとらないとき
には、J=1として、上記集計方向JMAX検出の手順
(ステップS2からステップS6)を省略することもで
きる。
には、J=1として、上記集計方向JMAX検出の手順
(ステップS2からステップS6)を省略することもで
きる。
【0179】集計方向JMAXを求めた後は、その集計方
向JMAXの配列YSUM J(x)を配列YSUM(x)、マーク
幅w0 J、w1 J・・wn Jをマーク幅w0、w1、・・wnと
する(ステップS7)。
向JMAXの配列YSUM J(x)を配列YSUM(x)、マーク
幅w0 J、w1 J・・wn Jをマーク幅w0、w1、・・wnと
する(ステップS7)。
【0180】このステップS7から以後ステップS13
までは、基準ピッチの幅とその位置を検出する手順であ
る。
までは、基準ピッチの幅とその位置を検出する手順であ
る。
【0181】以下、文字列が傾斜していない図1(a)
に示す文字列を例に各ステップを説明すると、ヒストグ
ラムHSUM(x)とマーク幅w1、w2・・wnは図1
(b)のように、配列YSUM(x)は、図1(c)のよ
うになる。
に示す文字列を例に各ステップを説明すると、ヒストグ
ラムHSUM(x)とマーク幅w1、w2・・wnは図1
(b)のように、配列YSUM(x)は、図1(c)のよ
うになる。
【0182】同様に、集計方向JMAX(J=1)に沿っ
て、各列位置x毎に開始行LNSTから終了行LNED
まで黒画素に相当するデータを検出してそのデータの始
点行a1と終点行a2との間隔Lを求め、図1(d)に示
すヒストグラムHLNG(x)を作り、図1(e)に示す
開始列MJSTから終了列MJEDまでの配列Y
LNG(x)とする(ステップS8)。
て、各列位置x毎に開始行LNSTから終了行LNED
まで黒画素に相当するデータを検出してそのデータの始
点行a1と終点行a2との間隔Lを求め、図1(d)に示
すヒストグラムHLNG(x)を作り、図1(e)に示す
開始列MJSTから終了列MJEDまでの配列Y
LNG(x)とする(ステップS8)。
【0183】例えば、図1(a)のように文字領域の開
始列MJSTを[2]列、終了列MJEDを[41]
列、開始行LNSTを[0]行、終了列LNEDを[1
6]行とすると、[32]列において始点行a1が
[8]行、終点行a2が[11]行であることからその
間隔Lは4であり、[32]列の間隔YLNG(32)
は、4となる。
始列MJSTを[2]列、終了列MJEDを[41]
列、開始行LNSTを[0]行、終了列LNEDを[1
6]行とすると、[32]列において始点行a1が
[8]行、終点行a2が[11]行であることからその
間隔Lは4であり、[32]列の間隔YLNG(32)
は、4となる。
【0184】次に、癒着位置を示す配列YFLG(x)を
作成する(ステップS9)。
作成する(ステップS9)。
【0185】この配列YFLG(x)は、マーク幅w1、w
2・・wnと限界文字幅wPを比較し、限界文字幅wP以上
の幅を有するマーク幅wUの位置に癒着フラッグU
“1”を入れたものである。
2・・wnと限界文字幅wPを比較し、限界文字幅wP以上
の幅を有するマーク幅wUの位置に癒着フラッグU
“1”を入れたものである。
【0186】本実施例においては、縦長の文字を読み取
り対象とし、1文字の縦の長さより横の長さが長くなる
ことはないものとして、限界文字幅wPを1文字の縦の
長さLNNO(開始行LNSTから終了列LNEDまで
の幅)としている。
り対象とし、1文字の縦の長さより横の長さが長くなる
ことはないものとして、限界文字幅wPを1文字の縦の
長さLNNO(開始行LNSTから終了列LNEDまで
の幅)としている。
【0187】LNNOは、[16]行−[0]行の[1
6]であるから、図1(b)のマーク幅w0、w1の内、
限界文字幅16以上の幅を有するマーク幅w1は、文字
が他の文字と癒着している列位置を示していると推測で
きる。
6]であるから、図1(b)のマーク幅w0、w1の内、
限界文字幅16以上の幅を有するマーク幅w1は、文字
が他の文字と癒着している列位置を示していると推測で
きる。
【0188】従って、このマーク幅w1の対応する列位
置(11列から41列まで)に癒着フラッグU“1”を
入れて図1(f)の配列YFLG(x)とする。
置(11列から41列まで)に癒着フラッグU“1”を
入れて図1(f)の配列YFLG(x)とする。
【0189】マーク幅w0、w1、・・wnが全て限界文
字幅wP以上である場合には、全ての文字間が癒着して
いると考えられ、マーク幅w0、w1、・・wnから基準
ピッチが得られないので、配列YLNG(x)と間隔しき
い値LPと比較して得た疑似マーク幅w´0、w´1・・
w´mにより、基準ピッチを検出する(ステップS1
0、ステップS11)。
字幅wP以上である場合には、全ての文字間が癒着して
いると考えられ、マーク幅w0、w1、・・wnから基準
ピッチが得られないので、配列YLNG(x)と間隔しき
い値LPと比較して得た疑似マーク幅w´0、w´1・・
w´mにより、基準ピッチを検出する(ステップS1
0、ステップS11)。
【0190】図1(d)に示すように、文字間が癒着し
ていても、文字切り出し位置での黒画素の始点行と終点
行の間隔Lは、周囲の列の間隔Lより小さいので、配列
YLNG(x)を間隔しきい値LPと比較して得た疑似マー
ク幅w´0、w´1・・w´mは、癒着した文字間を区切
る目安となる。
ていても、文字切り出し位置での黒画素の始点行と終点
行の間隔Lは、周囲の列の間隔Lより小さいので、配列
YLNG(x)を間隔しきい値LPと比較して得た疑似マー
ク幅w´0、w´1・・w´mは、癒着した文字間を区切
る目安となる。
【0191】例えば、[31]列のように1箇所で癒着
している列では、間隔LがLNNO÷2以下となるの
で、間隔しきい値LPをLNNO/2として、配列YLNG
(x)をその間隔しきい値LPで比較し、図1(d)の
疑似マーク幅w´1、w´2、w´3としている。
している列では、間隔LがLNNO÷2以下となるの
で、間隔しきい値LPをLNNO/2として、配列YLNG
(x)をその間隔しきい値LPで比較し、図1(d)の
疑似マーク幅w´1、w´2、w´3としている。
【0192】全ての疑似マーク幅w´0、w´1・・w´
mが限界文字幅wP以上である場合には、疑似マーク幅w
´0、w´1・・w´mによっても癒着部分が判別できな
いということであり、文字の切り出しができない旨を上
位データ処理装置8へ出力する(ステップS12)。
mが限界文字幅wP以上である場合には、疑似マーク幅w
´0、w´1・・w´mによっても癒着部分が判別できな
いということであり、文字の切り出しができない旨を上
位データ処理装置8へ出力する(ステップS12)。
【0193】尚、この場合には、再度間隔しきい値LP
を変えて、ステップS11の処理を繰り返してもよい。
を変えて、ステップS11の処理を繰り返してもよい。
【0194】ステップS10若しくはステップS12に
おいて、いずれかのマーク幅wn若しくは疑似マーク幅
w´mが限界文字幅wP未満である場合には、限界文字幅
wP未満で最大幅のマーク幅wMAX(疑似マーク幅w´
MAX)を選び、その幅を基準ピッチPITCH、その中
央列位置をAとする(ステップS13)。
おいて、いずれかのマーク幅wn若しくは疑似マーク幅
w´mが限界文字幅wP未満である場合には、限界文字幅
wP未満で最大幅のマーク幅wMAX(疑似マーク幅w´
MAX)を選び、その幅を基準ピッチPITCH、その中
央列位置をAとする(ステップS13)。
【0195】このマーク幅wMAX(疑似マーク幅w
´MAX)は、文字列の内の1文字によるものと推測で
き、本実施例においては、その両端位置が文字間の文字
切り出し位置xbであり、その位置から基準ピッチPI
TCH間隔毎に離れた位置にも文字切り出し位置xbが
存在すると仮定するものである。
´MAX)は、文字列の内の1文字によるものと推測で
き、本実施例においては、その両端位置が文字間の文字
切り出し位置xbであり、その位置から基準ピッチPI
TCH間隔毎に離れた位置にも文字切り出し位置xbが
存在すると仮定するものである。
【0196】図1に示す例では、同図(b)より限界文
字幅16未満で最大幅のマーク幅wMAXはw0であり、基
準ピッチPITCHは、[10]列−[3]列の「7」
と、その中央列位置Aは、([3]+[10])/2で
[6.5]列となる。
字幅16未満で最大幅のマーク幅wMAXはw0であり、基
準ピッチPITCHは、[10]列−[3]列の「7」
と、その中央列位置Aは、([3]+[10])/2で
[6.5]列となる。
【0197】ところで、マーク幅w0、w1、・・wnが
全て限界文字幅wP以上である場合には、配列Y
SUM(x)でのデータしきい値SPを、図4(b)のよう
に例えば「1」からLNNO/2に上げて、疑似マーク
幅wS´0、wS´1・・wS´mを設定することもできる。
全て限界文字幅wP以上である場合には、配列Y
SUM(x)でのデータしきい値SPを、図4(b)のよう
に例えば「1」からLNNO/2に上げて、疑似マーク
幅wS´0、wS´1・・wS´mを設定することもできる。
【0198】しかしながら、文字が図4(a)の「3」
のように、左右の黒画素のバランスが異なる場合には、
データしきい値SPの値により、疑似マーク幅wS´mの
幅、その両端の位置が大きく変化する。
のように、左右の黒画素のバランスが異なる場合には、
データしきい値SPの値により、疑似マーク幅wS´mの
幅、その両端の位置が大きく変化する。
【0199】このような文字「3」についての疑似マー
ク幅wS´0が疑似マーク幅w´MAXとして選択される
と、図4(b)のように本来の基準ピッチ(文字幅)が
「10」、その両端位置[2]列と[12]列であるの
に対し、基準ピッチが「3」と、その両端位置が[8]
列と[11]列となり、正しい文字切り出し位置xbを
検出できない。
ク幅wS´0が疑似マーク幅w´MAXとして選択される
と、図4(b)のように本来の基準ピッチ(文字幅)が
「10」、その両端位置[2]列と[12]列であるの
に対し、基準ピッチが「3」と、その両端位置が[8]
列と[11]列となり、正しい文字切り出し位置xbを
検出できない。
【0200】一方、配列YLNG(x)と間隔しきい値LP
を比較して得た疑似マーク幅w´0、w´1・・w´mに
あっては、配列YLNG(x)が配列YSUM(x)に比べ左
右で大きくその値が異なることがない為に、間隔しきい
値LPを設定してもその両端位置が移動しない。
を比較して得た疑似マーク幅w´0、w´1・・w´mに
あっては、配列YLNG(x)が配列YSUM(x)に比べ左
右で大きくその値が異なることがない為に、間隔しきい
値LPを設定してもその両端位置が移動しない。
【0201】例えば、間隔しきい値LPをデータしきい
値SPと同じ値のLNNO/2=8とした図4(d)の
疑似マーク幅w´0においては、基準ピッチが「10」
と、その両端位置が[2]列と[12]列となり、読み
取りデータ上で文字「3」の正しい幅と両端位置を示し
ている。
値SPと同じ値のLNNO/2=8とした図4(d)の
疑似マーク幅w´0においては、基準ピッチが「10」
と、その両端位置が[2]列と[12]列となり、読み
取りデータ上で文字「3」の正しい幅と両端位置を示し
ている。
【0202】基準ピッチとその両端位置を検出した後、
ステップS14において、PITCH修正回数Cを0と
初期設定する。
ステップS14において、PITCH修正回数Cを0と
初期設定する。
【0203】初期設定値におけるPITCHは、上記の
通り「7」である。
通り「7」である。
【0204】本実施例においては、以後のステップで文
字切り出し位置xbができなかったときには、後述する
ように基準ピッチの値PITCHを修正して、再度同じ
作業を繰り返すものである。
字切り出し位置xbができなかったときには、後述する
ように基準ピッチの値PITCHを修正して、再度同じ
作業を繰り返すものである。
【0205】次に最初の切り出し検出位置iをA−PI
TCH/2すなわち、マーク幅w0の左端の列位置
[3]とし(ステップS15)、LRFLAGを0とす
る(ステップS16)。
TCH/2すなわち、マーク幅w0の左端の列位置
[3]とし(ステップS15)、LRFLAGを0とす
る(ステップS16)。
【0206】LRFLAGは図中左方向に切り出し検出
位置iを移していくときに、「0」とし、右方向に移し
ていくときに「1」とする。
位置iを移していくときに、「0」とし、右方向に移し
ていくときに「1」とする。
【0207】又、ステップS17において、二次検出回
数kを0と初期設定し、二次検出初期位置pをiの列位
置すなわち[3]とする。
数kを0と初期設定し、二次検出初期位置pをiの列位
置すなわち[3]とする。
【0208】二次検出は、設定した切り出し検出位置i
が文字切り出し位置xbの条件を満たさない場合に、切
り出し検出位置iを周囲の列に移して改めて文字切り出
し位置xbを検出するものである。この二次検出によっ
て、文字列が不等ピッチであっても、文字切り出し位置
xbを検出することができる。
が文字切り出し位置xbの条件を満たさない場合に、切
り出し検出位置iを周囲の列に移して改めて文字切り出
し位置xbを検出するものである。この二次検出によっ
て、文字列が不等ピッチであっても、文字切り出し位置
xbを検出することができる。
【0209】このステップS17からステップS34ま
では、切り出し検出位置i若しくは、二次検出で変更し
た切り出し検出位置iが文字切り出し位置xbの条件を
満たしているかどうかを判定する。
では、切り出し検出位置i若しくは、二次検出で変更し
た切り出し検出位置iが文字切り出し位置xbの条件を
満たしているかどうかを判定する。
【0210】切り出し検出位置iの配列YFLG(i)を
調べ、YFLG(i)が「0」である場合には、ステップ
S19以下に進み、配列YSUM(i)を切り出ししきい
値YSNOISと比較して文字切り出し位置xbの条件を判定
し、YFLG(i)が癒着部分であることを示す「1」で
ある場合には、ステップS27以下に進み、配列YLNG
(i)を切り出し間隔しきい値YLNOISと比較して文字
切り出し位置xbの条件を判定する(ステップS1
8)。
調べ、YFLG(i)が「0」である場合には、ステップ
S19以下に進み、配列YSUM(i)を切り出ししきい
値YSNOISと比較して文字切り出し位置xbの条件を判定
し、YFLG(i)が癒着部分であることを示す「1」で
ある場合には、ステップS27以下に進み、配列YLNG
(i)を切り出し間隔しきい値YLNOISと比較して文字
切り出し位置xbの条件を判定する(ステップS1
8)。
【0211】このように、癒着部分であるか否かで手順
を分けるのは、文字切り出し位置xbが癒着している
と、配列YSUM(x)では、黒画素が増加して文字間位
置の特徴が表れず文字切り出し位置xbを検出できない
のに対し、配列YLNG(x)によれば、文字切り出し位
置xbでの間隔Lが周囲の列の間隔Lより狭くなり、そ
の位置が検出できるからである。
を分けるのは、文字切り出し位置xbが癒着している
と、配列YSUM(x)では、黒画素が増加して文字間位
置の特徴が表れず文字切り出し位置xbを検出できない
のに対し、配列YLNG(x)によれば、文字切り出し位
置xbでの間隔Lが周囲の列の間隔Lより狭くなり、そ
の位置が検出できるからである。
【0212】図1(f)の通り、YFLG(3)は、
「0」であるから、ステップ19において、配列YSUM
(i)を切り出ししきい値YSNOISと比較する。
「0」であるから、ステップ19において、配列YSUM
(i)を切り出ししきい値YSNOISと比較する。
【0213】本実施例において切り出ししきい値Y
SNOISは、「2」と設定し、誤動作により黒画素のデー
タをカウントしても、文字切り出し位置xbと検出でき
るようにしている。
SNOISは、「2」と設定し、誤動作により黒画素のデー
タをカウントしても、文字切り出し位置xbと検出でき
るようにしている。
【0214】「3」列のデータ数YSUM(3)は「2」
以下であるので、ステップS20において、その切り出
し検出位置「3」を仮切り出し位置ibとして記憶す
る。
以下であるので、ステップS20において、その切り出
し検出位置「3」を仮切り出し位置ibとして記憶す
る。
【0215】図1の文字切り出し位置xb検出において
は、以下ステップS40に進むが、ステップ19におい
て、YSUM(i)が切り出ししきい値YSNOISを越える場
合には、二次検出のステップS21以下のステップに進
む。
は、以下ステップS40に進むが、ステップ19におい
て、YSUM(i)が切り出ししきい値YSNOISを越える場
合には、二次検出のステップS21以下のステップに進
む。
【0216】最初の二次検出回数kは「0」であるか
ら、ステップS22を越えて、ステップS23でkを
「−1」とし、切り出し検出位置iの列を左に1列移動
させ、ステップS19で再度、配列YSUM(i)を切り
出ししきい値YSNOISと比較する。
ら、ステップS22を越えて、ステップS23でkを
「−1」とし、切り出し検出位置iの列を左に1列移動
させ、ステップS19で再度、配列YSUM(i)を切り
出ししきい値YSNOISと比較する。
【0217】このとき、YSUM(i)が切り出ししきい
値YSNOIS以下となれば、前述と同様ステップS20で
その切り出し検出位置iを仮切り出し位置ibとして記
憶するが、YSUM(i)が切り出ししきい値YSNOISを越
える場合には、ステップS21に進む。
値YSNOIS以下となれば、前述と同様ステップS20で
その切り出し検出位置iを仮切り出し位置ibとして記
憶するが、YSUM(i)が切り出ししきい値YSNOISを越
える場合には、ステップS21に進む。
【0218】ステップS21において、kは「−1」で
あるので、ステップS22でYSUM(i)と前回(右1
列)のYSUM(i+1)を比較する。
あるので、ステップS22でYSUM(i)と前回(右1
列)のYSUM(i+1)を比較する。
【0219】YSUM(i)がYSUM(i+1)より小さけ
れば、更に、左の列に文字切り出し位置xbが存在して
いる可能性があるので、前述と同様に、ステップS23
で切り出し検出位置iの列を左に1列移動させ、変更し
た切り出し検出位置iでの比較手順を繰り返す。
れば、更に、左の列に文字切り出し位置xbが存在して
いる可能性があるので、前述と同様に、ステップS23
で切り出し検出位置iの列を左に1列移動させ、変更し
た切り出し検出位置iでの比較手順を繰り返す。
【0220】YSUM(i)がYSUM(i+1)以上となっ
たときには、最早、配列YSUM(x)はその極小値を超
えたと考えられ、左の方向には文字切り出し位置xbが
存在しないので、ステップS24において、切り出し検
出位置iを二次検出初期位置pの右に1列移動させ、k
を「1」とする。
たときには、最早、配列YSUM(x)はその極小値を超
えたと考えられ、左の方向には文字切り出し位置xbが
存在しないので、ステップS24において、切り出し検
出位置iを二次検出初期位置pの右に1列移動させ、k
を「1」とする。
【0221】ステップS19において、再び配列YSUM
(i)を切り出ししきい値YSNOISと比較し、Y
SUM(i)が切り出ししきい値YSNOISを越える場合に
は、ステップS21に進む。
(i)を切り出ししきい値YSNOISと比較し、Y
SUM(i)が切り出ししきい値YSNOISを越える場合に
は、ステップS21に進む。
【0222】すなわち、二次検出回数kが負の値である
ときには、左方向に二次検出を行っていることを示し、
正の値であるときには、右方向に二次検出を行っている
ことを示している。
ときには、左方向に二次検出を行っていることを示し、
正の値であるときには、右方向に二次検出を行っている
ことを示している。
【0223】ステップS21において、kは「1」以上
となるので、ステップS25へ進み、YSUM(i)と前
回(左1列)のYSUM(i−1)を比較する。
となるので、ステップS25へ進み、YSUM(i)と前
回(左1列)のYSUM(i−1)を比較する。
【0224】YSUM(i)がYSUM(i−1)より小さけ
れば、更に、右の列に文字切り出し位置xbが存在して
いる可能性があるので、ステップS26で前述と同様
に、切り出し検出位置iの列を右に1列移動させ、変更
した切り出し検出位置iでの比較手順を繰り返す。
れば、更に、右の列に文字切り出し位置xbが存在して
いる可能性があるので、ステップS26で前述と同様
に、切り出し検出位置iの列を右に1列移動させ、変更
した切り出し検出位置iでの比較手順を繰り返す。
【0225】右に切り出し検出位置iを移動させ続けて
も、YSUM(i)が切り出ししきい値YSNOISを越え、あ
る列iでYSUM(i)がYSUM(i−1)以上となったと
きには、最早、配列YSUM(x)は上昇傾向にありその
極小値を超えたと考えられるので、、その右の方向には
文字切り出し位置xbが存在しない。
も、YSUM(i)が切り出ししきい値YSNOISを越え、あ
る列iでYSUM(i)がYSUM(i−1)以上となったと
きには、最早、配列YSUM(x)は上昇傾向にありその
極小値を超えたと考えられるので、、その右の方向には
文字切り出し位置xbが存在しない。
【0226】従って、当初設定した基準ピッチの幅が不
適当と判断し、ステップS25からPITCHを変更す
るステップS60のステップへ進む。
適当と判断し、ステップS25からPITCHを変更す
るステップS60のステップへ進む。
【0227】図1の文字切り出し位置xb検出に説明を
戻すと、ステップS20で最初の切り出し検出位置
「3」を仮切り出し位置ibとして記憶した後は、次の
切り出し検出位置iを設定するステップS40に進む。
戻すと、ステップS20で最初の切り出し検出位置
「3」を仮切り出し位置ibとして記憶した後は、次の
切り出し検出位置iを設定するステップS40に進む。
【0228】このステップS40からステップS50ま
では、文字領域(開始列MJSTから終了列MJED)
の範囲で、基準ピッチPITCH間隔で、新たな切り出
し検出位置を設定する手順である。
では、文字領域(開始列MJSTから終了列MJED)
の範囲で、基準ピッチPITCH間隔で、新たな切り出
し検出位置を設定する手順である。
【0229】ステップS40は、新たな切り出し検出位
置iの設定方向を判別するものであり、初期設定でLR
FLAGは「0」であるから、図中左方向に切り出し検
出位置iを移していくステップS41に進む。
置iの設定方向を判別するものであり、初期設定でLR
FLAGは「0」であるから、図中左方向に切り出し検
出位置iを移していくステップS41に進む。
【0230】ステップS41では、現在の仮切り出し位
置ibとして記憶した位置iから開始列MJSTまでの
幅がPITCH/2以上であるか否かを判別するもの
で、PITCH/2以上ある場合には、ステップS43
で切り出し検出位置iをPITCH分左に移動させ、新
たな切り出し検出位置iとする。
置ibとして記憶した位置iから開始列MJSTまでの
幅がPITCH/2以上であるか否かを判別するもの
で、PITCH/2以上ある場合には、ステップS43
で切り出し検出位置iをPITCH分左に移動させ、新
たな切り出し検出位置iとする。
【0231】この切り出し検出位置iをPITCH分左
に移動させたときに、開始列MJSTを越えるときに
は、ステップS42、ステップS44により、新たな切
り出し検出位置iは、開始列MJSTの列位置に設定さ
れる。
に移動させたときに、開始列MJSTを越えるときに
は、ステップS42、ステップS44により、新たな切
り出し検出位置iは、開始列MJSTの列位置に設定さ
れる。
【0232】一方、ステップS41において、現在の仮
切り出し位置ibとして記憶した位置iから開始列MJ
STまでの幅がPITCH/2に満たない場合には、こ
の間に文字切り出し位置xbが存在することはないと判
断し、ステップS45でLRFLAGを「1」として図
中右方向に切り出し検出位置iを移していく。
切り出し位置ibとして記憶した位置iから開始列MJ
STまでの幅がPITCH/2に満たない場合には、こ
の間に文字切り出し位置xbが存在することはないと判
断し、ステップS45でLRFLAGを「1」として図
中右方向に切り出し検出位置iを移していく。
【0233】図1(b)のように、現在の仮切り出し位
置ibとして記憶した位置「3」から開始列「2」まで
の幅「1」は、PITCH/2=3.5に満たないの
で、ステップS45でLRFLAGを「1」としてステ
ップS46に進む。
置ibとして記憶した位置「3」から開始列「2」まで
の幅「1」は、PITCH/2=3.5に満たないの
で、ステップS45でLRFLAGを「1」としてステ
ップS46に進む。
【0234】ステップS46では、新たな切り出し検出
位置iをA+PITCH/2すなわち、マーク幅w0の
右端の列位置[10]に移し、再びこの列位置を切り出
し検出位置iとして、ステップS17からの二次検出を
行う。
位置iをA+PITCH/2すなわち、マーク幅w0の
右端の列位置[10]に移し、再びこの列位置を切り出
し検出位置iとして、ステップS17からの二次検出を
行う。
【0235】ステップS18において、YFLG(10)
は、「0」なので、ステップS19でYSUM(10)を
切り出ししきい値YSNOISと比較する。
は、「0」なので、ステップS19でYSUM(10)を
切り出ししきい値YSNOISと比較する。
【0236】YSUM(10)は、図1(c)より「0」
であり、切り出ししきい値YSNOIS「2」以下であるか
ら、この列位置もステップS20で仮切り出し位置ib
として記憶し、更に新たな切り出し検出位置iを設定す
るため、ステップS40に戻る。
であり、切り出ししきい値YSNOIS「2」以下であるか
ら、この列位置もステップS20で仮切り出し位置ib
として記憶し、更に新たな切り出し検出位置iを設定す
るため、ステップS40に戻る。
【0237】再びステップS40において、LRFLA
Gを調べるが、今度はLRFLAGが「1」に変わって
いるので、図1中右方向に切り出し検出位置iを移して
いくステップS47に進む。
Gを調べるが、今度はLRFLAGが「1」に変わって
いるので、図1中右方向に切り出し検出位置iを移して
いくステップS47に進む。
【0238】ステップS47では、現在の仮切り出し位
置ibとして記憶した位置iから終了列MJEDまでの
幅がPITCH/2以上であるか否かを判別するもの
で、PITCH/2以上ある場合には、ステップS49
で切り出し検出位置iをPITCH分右に移動させ、新
たな切り出し検出位置iとする。
置ibとして記憶した位置iから終了列MJEDまでの
幅がPITCH/2以上であるか否かを判別するもの
で、PITCH/2以上ある場合には、ステップS49
で切り出し検出位置iをPITCH分右に移動させ、新
たな切り出し検出位置iとする。
【0239】尚、この切り出し検出位置iをPITCH
分右に移動させたときに、終了列MJEDを越えるとき
には、ステップS48、ステップS50により、新たな
切り出し検出位置iは、終了列MJEDの列位置に設定
される。
分右に移動させたときに、終了列MJEDを越えるとき
には、ステップS48、ステップS50により、新たな
切り出し検出位置iは、終了列MJEDの列位置に設定
される。
【0240】図1から明らかなように、現在の仮切り出
し位置ibとして記憶した位置iは、「10」であり、
終了列MJED「41」まで、PITCH「7」以上残
されているので、ステップS48、ステップS49より
新たな切り出し検出位置iは、「10」+「7」の「1
7」となる。
し位置ibとして記憶した位置iは、「10」であり、
終了列MJED「41」まで、PITCH「7」以上残
されているので、ステップS48、ステップS49より
新たな切り出し検出位置iは、「10」+「7」の「1
7」となる。
【0241】この新たな切り出し検出位置「17」にお
いて、再びステップS17からの二次検出を行う。
いて、再びステップS17からの二次検出を行う。
【0242】ステップ17において、kは「0」と二次
検出初期位置pは「17」に設定される。
検出初期位置pは「17」に設定される。
【0243】次いで、ステップ18においてYFLG(1
7)を調べるが、この切り出し検出位置「17」は癒着
部分であり、図1(f)よりYFLG(17)は「1」で
ある。
7)を調べるが、この切り出し検出位置「17」は癒着
部分であり、図1(f)よりYFLG(17)は「1」で
ある。
【0244】従って、ステップS27において、YLNG
(i)を切り出し間隔しきい値YLNOISと比較し、文字
切り出し位置xbの条件を判定する。
(i)を切り出し間隔しきい値YLNOISと比較し、文字
切り出し位置xbの条件を判定する。
【0245】本実施例において、切り出し間隔しきい値
YLNOISは、3LNNO/4と設定していて、LNNO
は[16]行−[0]行の[16]であるから、切り出
し間隔しきい値YLNOISは、「12」である。
YLNOISは、3LNNO/4と設定していて、LNNO
は[16]行−[0]行の[16]であるから、切り出
し間隔しきい値YLNOISは、「12」である。
【0246】統計結果から、文字列が全て数字で構成さ
れているときには、文字間が癒着していてもその位置で
の間隔Lが3LNNO/4以下となることから、切り出
し間隔しきい値YLNOISを3LNNO/4とすれば、切
り出し検出位置iが癒着してもその位置を文字切り出し
位置xbと判定することができる。
れているときには、文字間が癒着していてもその位置で
の間隔Lが3LNNO/4以下となることから、切り出
し間隔しきい値YLNOISを3LNNO/4とすれば、切
り出し検出位置iが癒着してもその位置を文字切り出し
位置xbと判定することができる。
【0247】列位置「17」での間隔YLNG(17)
は、「16」であり、切り出し間隔しきい値Y
LNOIS「12」を越えているので、二次検出のステップ
S28以下のステップに進む。
は、「16」であり、切り出し間隔しきい値Y
LNOIS「12」を越えているので、二次検出のステップ
S28以下のステップに進む。
【0248】最初の二次検出回数kは「0」であるか
ら、直接ステップS30に進み、kを「−1」と、切り
出し検出位置「17」を左に1列移動させ「16」とす
る。
ら、直接ステップS30に進み、kを「−1」と、切り
出し検出位置「17」を左に1列移動させ「16」とす
る。
【0249】ステップS27で再度、YLNG(i)を切
り出し間隔しきい値YLNOISと比較する。
り出し間隔しきい値YLNOISと比較する。
【0250】列位置「16」での間隔YLNG(16)も
「16」であり、切り出し間隔しきい値YLNOIS「1
2」を越えているので、ステップS28に進む。
「16」であり、切り出し間隔しきい値YLNOIS「1
2」を越えているので、ステップS28に進む。
【0251】ステップS28において、kは「−1」で
あるので、ステップS29でYLNG(16)と前回のY
LNG(17)を比較する。
あるので、ステップS29でYLNG(16)と前回のY
LNG(17)を比較する。
【0252】YLNG(i)がYLNG(i+1)より小さけ
れば、更に、左の列に文字切り出し位置xbが存在して
いる可能性があるので、前述と同様に、切り出し検出位
置iの列を左に1列移動させるが、YLNG(16)と前
回のYLNG(17)は、「16」で等しいので、左の方
向には文字切り出し位置xbが存在しないと判断し、ス
テップS31において、切り出し検出位置iを二次検出
初期位置p「17」の右に1列移動させ「18」とし、
kを「1」とする。
れば、更に、左の列に文字切り出し位置xbが存在して
いる可能性があるので、前述と同様に、切り出し検出位
置iの列を左に1列移動させるが、YLNG(16)と前
回のYLNG(17)は、「16」で等しいので、左の方
向には文字切り出し位置xbが存在しないと判断し、ス
テップS31において、切り出し検出位置iを二次検出
初期位置p「17」の右に1列移動させ「18」とし、
kを「1」とする。
【0253】ステップS27において、再びY
LNG(i)を切り出し間隔しきい値YLNOISと比較する
が、列位置「18」での間隔YLNG(18)も「15」
であり、切り出し間隔しきい値YLNOIS「12」を越え
ている。
LNG(i)を切り出し間隔しきい値YLNOISと比較する
が、列位置「18」での間隔YLNG(18)も「15」
であり、切り出し間隔しきい値YLNOIS「12」を越え
ている。
【0254】次のステップS28において、kは「1」
以上となるので、ステップS32へ進み、ステップS3
2でYLNG(18)と1列左のYLNG(17)を比較す
る。
以上となるので、ステップS32へ進み、ステップS3
2でYLNG(18)と1列左のYLNG(17)を比較す
る。
【0255】YLNG(18)は「15」であり、Y
LNG(17)の「16」より小さいので、YLNG(x)は
列位置「18」において右下がりで、更に右の列に文字
切り出し位置xbが存在している可能性がある。
LNG(17)の「16」より小さいので、YLNG(x)は
列位置「18」において右下がりで、更に右の列に文字
切り出し位置xbが存在している可能性がある。
【0256】従って、ステップS33において、切り出
し検出位置iを「18」の右に1列移動させ「19」と
し、kを「2」とする。
し検出位置iを「18」の右に1列移動させ「19」と
し、kを「2」とする。
【0257】このように同様の処理を繰り返し、右に切
り出し検出位置i移動させ続けても、YLNG(i)が切
り出ししきい値YLNOISを越え、ある列iでYLNG(i)
がYLNG(i−1)以上となったときには、最早、配列
YLNG(x)は上昇傾向にありその極小値を超えたと考
えられるので、その右の方向には文字切り出し位置xb
が存在しない。
り出し検出位置i移動させ続けても、YLNG(i)が切
り出ししきい値YLNOISを越え、ある列iでYLNG(i)
がYLNG(i−1)以上となったときには、最早、配列
YLNG(x)は上昇傾向にありその極小値を超えたと考
えられるので、その右の方向には文字切り出し位置xb
が存在しない。
【0258】従って、当初設定した切り出し検出位置i
が不適当と判断し、ステップS32からPITCHを変
更するステップS60のステップへ進む。
が不適当と判断し、ステップS32からPITCHを変
更するステップS60のステップへ進む。
【0259】図1の文字列においては、同図(e)から
明らかなように、切り出し検出位置iが「21」となっ
たところで、YLNG(21)が「11」となる。
明らかなように、切り出し検出位置iが「21」となっ
たところで、YLNG(21)が「11」となる。
【0260】従って、ステップS27において、YLNG
(21)は、切り出し間隔しきい値YLNOIS「12」以
下となり、ステップS34でこの切り出し検出位置iを
仮切り出し位置ibとして記憶し、更に次の新たな切り
出し検出位置を設定するためステップS40に進む。
(21)は、切り出し間隔しきい値YLNOIS「12」以
下となり、ステップS34でこの切り出し検出位置iを
仮切り出し位置ibとして記憶し、更に次の新たな切り
出し検出位置を設定するためステップS40に進む。
【0261】以下同様の手順を繰り返し、ステップS4
7において、現在の仮切り出し位置ibとして記憶した
位置iから終了列MJEDまでの幅がPITCH/2に
満たない場合には、最早、この間に文字切り出し位置x
bが存在することはないと判断し、ステップS51の終
了処理を行う。
7において、現在の仮切り出し位置ibとして記憶した
位置iから終了列MJEDまでの幅がPITCH/2に
満たない場合には、最早、この間に文字切り出し位置x
bが存在することはないと判断し、ステップS51の終
了処理を行う。
【0262】ステップS51では、開始列MJSTから
終了列MJEDまでの全ての文字切り出し位置xbを検
出したものとして、これまでに記憶した仮切り出し位置
ibを文字切り出し位置xbとし、文字切り出し処理を終
了する。
終了列MJEDまでの全ての文字切り出し位置xbを検
出したものとして、これまでに記憶した仮切り出し位置
ibを文字切り出し位置xbとし、文字切り出し処理を終
了する。
【0263】尚、ステップS25、若しくはステップS
32において、いずれかの設定した切り出し検出位置i
が不適当と判断されたときには、ステップS13で初期
設定したPITCHが誤っているものと推測される。
32において、いずれかの設定した切り出し検出位置i
が不適当と判断されたときには、ステップS13で初期
設定したPITCHが誤っているものと推測される。
【0264】従って、このいずれかの設定した切り出し
検出位置iが不適当と判断されたときに、認識エラーと
して文字切り出し処理を終了させてもよいが、本実施例
においては、更に、ステップS60以下の手順で設定し
た基準ピッチPITCHを変更し、再度この変更したP
ITCHにより、文字切り出し位置xb検出を続ける。
検出位置iが不適当と判断されたときに、認識エラーと
して文字切り出し処理を終了させてもよいが、本実施例
においては、更に、ステップS60以下の手順で設定し
た基準ピッチPITCHを変更し、再度この変更したP
ITCHにより、文字切り出し位置xb検出を続ける。
【0265】ステップS60からステップS64は、こ
のPITCH変更の手順を示している。
のPITCH変更の手順を示している。
【0266】ステップS25、若しくはステップS32
において、いずれかの設定した切り出し検出位置iが不
適当と判断されたときには、ステップS60で、これま
でに記憶した仮切り出し位置ibを全て初期化する。
において、いずれかの設定した切り出し検出位置iが不
適当と判断されたときには、ステップS60で、これま
でに記憶した仮切り出し位置ibを全て初期化する。
【0267】第1回目のピッチ変更では、Cが初期設定
値「0」であるため、ステップS61で「1」に変更さ
れる。
値「0」であるため、ステップS61で「1」に変更さ
れる。
【0268】次いで、ステップS62を経て、ステップ
S63において、ピッチ変更関数DLTTBL(C)に
従って基準ピッチPITCHの幅を変更する。
S63において、ピッチ変更関数DLTTBL(C)に
従って基準ピッチPITCHの幅を変更する。
【0269】このピッチ変更関数DLTTBL(C)
は、ピッチ変更回数をCとして、(−1)C-1*Cで表
され、ピッチ変更回数Cが1で新たな基準ピッチは、P
ITCH+1、Cが2で基準ピッチは、PITCH−
2、Cが3で、基準ピッチは、PITCH+3の様に変
化していく。
は、ピッチ変更回数をCとして、(−1)C-1*Cで表
され、ピッチ変更回数Cが1で新たな基準ピッチは、P
ITCH+1、Cが2で基準ピッチは、PITCH−
2、Cが3で、基準ピッチは、PITCH+3の様に変
化していく。
【0270】従って、最も文字列のピッチと一致する期
待値の高いPITCHを中心に順にその幅を1列分毎に
変化させことができ、効果的なPITCH変更による再
検出ができる。
待値の高いPITCHを中心に順にその幅を1列分毎に
変化させことができ、効果的なPITCH変更による再
検出ができる。
【0271】Cは1となっているので、変更された基準
ピッチPITCHは、PITCH+1すなわち「8」で
あり、LNNO/4の「4」以上であり又、LNNOの
「16」以下であるから、ステップS64でステップS
15まで戻り、変更された基準ピッチで文字切り出し位
置xb検出を始める。
ピッチPITCHは、PITCH+1すなわち「8」で
あり、LNNO/4の「4」以上であり又、LNNOの
「16」以下であるから、ステップS64でステップS
15まで戻り、変更された基準ピッチで文字切り出し位
置xb検出を始める。
【0272】尚、変更された基準ピッチPITCHが、
LNNO/4の「4」に満たないか、限界文字幅wPの
LNNOの「16」を越えたときには、不適当なピッチ
幅であるので、ステップS64でステップS61に進
み、Cに1を加え、新たな基準ピッチを設定する。
LNNO/4の「4」に満たないか、限界文字幅wPの
LNNOの「16」を越えたときには、不適当なピッチ
幅であるので、ステップS64でステップS61に進
み、Cに1を加え、新たな基準ピッチを設定する。
【0273】このように、基準ピッチの変更を63回繰
り返しても、全ての文字切り出し位置xbを検出できな
いときには、ステップS62で文字の切り出しができな
い旨を上位データ処理装置8へ出力する。
り返しても、全ての文字切り出し位置xbを検出できな
いときには、ステップS62で文字の切り出しができな
い旨を上位データ処理装置8へ出力する。
【0274】次に、本発明の第二実施例を説明する。
【0275】第二実施例は、文字切り出し検出位置iに
おいて、文字切り出し位置xbの条件と比較する際に、
予め前後3列からなる検出位置群Iの中から最も文字切
り出し位置xbの条件に近い最小値を備えた列を選び、
その最小列位置xを文字切り出し検出位置iとしたもの
である。
おいて、文字切り出し位置xbの条件と比較する際に、
予め前後3列からなる検出位置群Iの中から最も文字切
り出し位置xbの条件に近い最小値を備えた列を選び、
その最小列位置xを文字切り出し検出位置iとしたもの
である。
【0276】多くの場合に、PITCH幅で設定した周
囲の列に文字切り出し位置xbが存在しているので、そ
の周囲を二次検出で1列毎に文字切り出し位置xbの条
件と比較するよりも、予め、前後数列の検出位置群Iを
設定し、その中でYSUM(x)若しくは、YLNG(x)の
値が最も最小となる列を選び、その列で文字切り出し位
置xbの条件と比較した方が少ない手順で文字切り出し
位置xbを検出できるからである。
囲の列に文字切り出し位置xbが存在しているので、そ
の周囲を二次検出で1列毎に文字切り出し位置xbの条
件と比較するよりも、予め、前後数列の検出位置群Iを
設定し、その中でYSUM(x)若しくは、YLNG(x)の
値が最も最小となる列を選び、その列で文字切り出し位
置xbの条件と比較した方が少ない手順で文字切り出し
位置xbを検出できるからである。
【0277】第二実施例は、第一の実施例の手順と大部
分が共通しているので、相違する手順について図12乃
至図14のフローチャートで説明する。
分が共通しているので、相違する手順について図12乃
至図14のフローチャートで説明する。
【0278】第二実施例は、第一実施例のステップS1
3までの手順と同一である。
3までの手順と同一である。
【0279】従って、第一実施例と同様に、文字列が傾
斜文字列である場合には、YSUM(x)を、最適な集計
方向JMAXで黒画素に相当するデータ数を集計した配列
とし、YLNG(x)を、最適な集計方向JMAXで黒画素の
間隔Lを求めた配列とすることもできる。
斜文字列である場合には、YSUM(x)を、最適な集計
方向JMAXで黒画素に相当するデータ数を集計した配列
とし、YLNG(x)を、最適な集計方向JMAXで黒画素の
間隔Lを求めた配列とすることもできる。
【0280】第二実施例においても、第1図の文字列か
ら文字切り出し位置xbを検出する例で説明する。
ら文字切り出し位置xbを検出する例で説明する。
【0281】第5図は、それぞれ第1図(b)乃至
(f)のヒストグラム、配列を拡大したものである。
(f)のヒストグラム、配列を拡大したものである。
【0282】第二実施例においても、図5(a)より限
界文字幅「16」未満で最大幅のマーク幅wMAXはw0で
あり、基準ピッチPITCHは、[10]列−[3]列
の「7」と、その中央列位置Aは、([3]+[1
0])/2で[6.5]列となる。
界文字幅「16」未満で最大幅のマーク幅wMAXはw0で
あり、基準ピッチPITCHは、[10]列−[3]列
の「7」と、その中央列位置Aは、([3]+[1
0])/2で[6.5]列となる。
【0283】ステップS13において、基準ピッチとそ
の両端位置を検出した後、ステップS113において、
PITCH修正回数Cを0と初期設定する。
の両端位置を検出した後、ステップS113において、
PITCH修正回数Cを0と初期設定する。
【0284】初期設定値におけるPITCHは、上記の
通り「7」である。
通り「7」である。
【0285】次にステップS114で、切り出し検出位
置iの初期設定値をA−PITCH/2すなわち、マー
ク幅w0の左端の列位置[3]とする。
置iの初期設定値をA−PITCH/2すなわち、マー
ク幅w0の左端の列位置[3]とする。
【0286】続いてLRFLAGを0とし(ステップS
115)、切り出し検出位置iを最初の検出列位置群I
0の中央列iCとする(ステップS116)。
115)、切り出し検出位置iを最初の検出列位置群I
0の中央列iCとする(ステップS116)。
【0287】LRFLAGは図中左方向に検出列位置群
Iの中央列iCを移していくときに、「0」とし、右方
向に移していくときに「1」とする。
Iの中央列iCを移していくときに、「0」とし、右方
向に移していくときに「1」とする。
【0288】又、ステップS117において、二次検出
回数kを0と初期設定し、二次検出初期位置pをiCの
列位置すなわち[3]とする。
回数kを0と初期設定し、二次検出初期位置pをiCの
列位置すなわち[3]とする。
【0289】二次検出は、検出列位置群Iの中の切り出
し検出位置iが文字切り出し位置xbの条件を満たさな
い場合に、検出列位置群Iを周囲の列位置群に移して改
めて文字切り出し位置xbを検出するものである。この
二次検出によって、文字列のピッチが大きく変化して
も、文字切り出し位置xbを検出することができる。
し検出位置iが文字切り出し位置xbの条件を満たさな
い場合に、検出列位置群Iを周囲の列位置群に移して改
めて文字切り出し位置xbを検出するものである。この
二次検出によって、文字列のピッチが大きく変化して
も、文字切り出し位置xbを検出することができる。
【0290】このステップS117からステップS13
8までは、切り出し検出位置i若しくは、二次検出で変
更した切り出し検出位置iが文字切り出し位置xbの条
件を満たしているかどうかを判定する。
8までは、切り出し検出位置i若しくは、二次検出で変
更した切り出し検出位置iが文字切り出し位置xbの条
件を満たしているかどうかを判定する。
【0291】検出列位置群Iの中央列iCでの配列YFLG
(iC)を調べ、YFLG(iC)が「0」である場合に
は、ステップS119以下に進み、切り出ししきい値Y
SNOISと比較して文字切り出し位置xbの条件を判定し、
YFLG(iC)が癒着部分であることを示す「1」である
場合には、ステップS130以下に進み、切り出し間隔
しきい値YLNOISと比較して文字切り出し位置xbの条件
を判定する(ステップS118)。
(iC)を調べ、YFLG(iC)が「0」である場合に
は、ステップS119以下に進み、切り出ししきい値Y
SNOISと比較して文字切り出し位置xbの条件を判定し、
YFLG(iC)が癒着部分であることを示す「1」である
場合には、ステップS130以下に進み、切り出し間隔
しきい値YLNOISと比較して文字切り出し位置xbの条件
を判定する(ステップS118)。
【0292】図5(e)の通り、YFLG(3)は、
「0」であるから、ステップ119において、検出位置
群Iのそれぞれのデータ数YSUM(iC−1)、Y
SUM(iC)YSUM(iC+1)と、その内の最小値Y
SUMMINI(k)を図5(b)の配列により求める。
「0」であるから、ステップ119において、検出位置
群Iのそれぞれのデータ数YSUM(iC−1)、Y
SUM(iC)YSUM(iC+1)と、その内の最小値Y
SUMMINI(k)を図5(b)の配列により求める。
【0293】YSUM(iC−1)すなわちYSUM(2)は
「0」、YSUM(iC)すなわちYSUM(3)は「2」、
YSUM(iC+1)すなわちYSUM(4)は「4」である
から、データ数の最小値は、[2]列での「0」であ
る。
「0」、YSUM(iC)すなわちYSUM(3)は「2」、
YSUM(iC+1)すなわちYSUM(4)は「4」である
から、データ数の最小値は、[2]列での「0」であ
る。
【0294】二次検出回数kでのこの最小値をY
SUMMINI(k)、その最小値となる最小列位置xを切り
出し検出位置iとするので、最小値YSUMMINI(0)は
「0」、切り出し検出位置iは、[2]列である。
SUMMINI(k)、その最小値となる最小列位置xを切り
出し検出位置iとするので、最小値YSUMMINI(0)は
「0」、切り出し検出位置iは、[2]列である。
【0295】次に、ステップS120でこの最小値Y
SUMMINI(0)「0」を切り出ししきい値YSNOISと比較
する。
SUMMINI(0)「0」を切り出ししきい値YSNOISと比較
する。
【0296】本実施例においても切り出ししきい値Y
SNOISを「2」と設定している。
SNOISを「2」と設定している。
【0297】最小値YSUMMINI(0)のデータ数「0」
は、切り出ししきい値YSNOIS以下となるので、ステッ
プS121において、その最小値となる切り出し検出位
置i[3]を仮切り出し位置ibとして記憶する。
は、切り出ししきい値YSNOIS以下となるので、ステッ
プS121において、その最小値となる切り出し検出位
置i[3]を仮切り出し位置ibとして記憶する。
【0298】このように検出列位置群Iが、開始列MJ
ST若しくは終了列MJEDに達すると必ずその列位置
若しくはその近傍で、データ数最小値YSUMMINI(k)
は「0」となり、切り出ししきい値YSNOIS以下とな
る。
ST若しくは終了列MJEDに達すると必ずその列位置
若しくはその近傍で、データ数最小値YSUMMINI(k)
は「0」となり、切り出ししきい値YSNOIS以下とな
る。
【0299】図5の文字切り出し位置xb検出において
は、以下第1の実施例と同様のステップS40に進む
が、ステップ120において、YSUMMINI(k)が切り
出ししきい値YSNOISを越える場合には、二次検出のス
テップS122以下のステップに進む。
は、以下第1の実施例と同様のステップS40に進む
が、ステップ120において、YSUMMINI(k)が切り
出ししきい値YSNOISを越える場合には、二次検出のス
テップS122以下のステップに進む。
【0300】最初の二次検出回数kは「0」であるか
ら、ステップS123を越えて、ステップS124でk
を「−1」とし、検出列位置群Iの中央列iCを左に3
列移動させ、ステップS119で再度、新たな検出位置
群Iのそれぞれのデータ数YSU M(iC−1)、Y
SUM(iC)YSUM(iC+1)と、その内の最小値Y
SUMMINI(−1)を求める。
ら、ステップS123を越えて、ステップS124でk
を「−1」とし、検出列位置群Iの中央列iCを左に3
列移動させ、ステップS119で再度、新たな検出位置
群Iのそれぞれのデータ数YSU M(iC−1)、Y
SUM(iC)YSUM(iC+1)と、その内の最小値Y
SUMMINI(−1)を求める。
【0301】つまり、第1実施例では、二次検出を1列
毎に移動させるのに対し、本実施例では、検出列位置群
I単位の数列毎移動させ文字切り出し位置xbを探すも
のである。
毎に移動させるのに対し、本実施例では、検出列位置群
I単位の数列毎移動させ文字切り出し位置xbを探すも
のである。
【0302】ステップS120において、新たな最小値
YSUMMINI(−1)を切り出ししきい値YSNOISと比較す
る。このとき、最小値YSUMMINI(−1)が切り出しし
きい値YSNOIS以下となれば、前述と同様ステップS1
21でそのときの切り出し検出位置iを仮切り出し位置
ibとして記憶するが、最小値YSUMMINI(−1)が切り
出ししきい値YSNOISを越える場合には、ステップS1
22に進む。
YSUMMINI(−1)を切り出ししきい値YSNOISと比較す
る。このとき、最小値YSUMMINI(−1)が切り出しし
きい値YSNOIS以下となれば、前述と同様ステップS1
21でそのときの切り出し検出位置iを仮切り出し位置
ibとして記憶するが、最小値YSUMMINI(−1)が切り
出ししきい値YSNOISを越える場合には、ステップS1
22に進む。
【0303】ステップS122において、kは「−1」
であるので、ステップS123でYSUMMINI(−1)と
前回のYSUMMINI(0)を比較する。
であるので、ステップS123でYSUMMINI(−1)と
前回のYSUMMINI(0)を比較する。
【0304】YSUMMINI(k)が前回のYSUMMINI(k+
1)より小さければ、更に、左の列に文字切り出し位置
xbが存在している可能性があるので、前述と同様に、
検出列位置群Iの中央列iCを左に3列移動させ、変更
した切り出し検出位置iでの比較手順を繰り返す。
1)より小さければ、更に、左の列に文字切り出し位置
xbが存在している可能性があるので、前述と同様に、
検出列位置群Iの中央列iCを左に3列移動させ、変更
した切り出し検出位置iでの比較手順を繰り返す。
【0305】YSUMMINI(k)がYSUMMINI(k+1)以
上となったときには、最早、配列YSUMMINI(x)はそ
の極小値を超えたと考えられ、左の方向には文字切り出
し位置xbが存在しないので、ステップS125におい
て、検出列位置群Iの中央列iCを二次検出初期位置p
の右に3列移動させ、kを「1」とする。
上となったときには、最早、配列YSUMMINI(x)はそ
の極小値を超えたと考えられ、左の方向には文字切り出
し位置xbが存在しないので、ステップS125におい
て、検出列位置群Iの中央列iCを二次検出初期位置p
の右に3列移動させ、kを「1」とする。
【0306】ステップS119において、再び最小値Y
SUMMINI(k)を切り出ししきい値YSNOISと比較し、Y
SUMMINI(k)が切り出ししきい値YSNOISを越える場合
には、ステップS122に進む。
SUMMINI(k)を切り出ししきい値YSNOISと比較し、Y
SUMMINI(k)が切り出ししきい値YSNOISを越える場合
には、ステップS122に進む。
【0307】すなわち、二次検出回数kが負の値である
ときには、左方向に二次検出を行っていることを示し、
正の値であるときには、右方向に二次検出を行っている
ことを示している。
ときには、左方向に二次検出を行っていることを示し、
正の値であるときには、右方向に二次検出を行っている
ことを示している。
【0308】ステップS122において、kは「1」以
上となるので、ステップS126へ進み、Y
SUMMINI(k)と前回(左隣の検出位置群)のYSUMMINI
(k−1)を比較する。
上となるので、ステップS126へ進み、Y
SUMMINI(k)と前回(左隣の検出位置群)のYSUMMINI
(k−1)を比較する。
【0309】YSUMMINI(k)がYSUMMINI(k−1)よ
り小さければ、更に、右の列に文字切り出し位置xbが
存在している可能性があるので、ステップS127で前
述と同様に、検出列位置群Iの中央列iCを右に3列移
動させ、変更した切り出し検出位置iでの比較手順を繰
り返す。
り小さければ、更に、右の列に文字切り出し位置xbが
存在している可能性があるので、ステップS127で前
述と同様に、検出列位置群Iの中央列iCを右に3列移
動させ、変更した切り出し検出位置iでの比較手順を繰
り返す。
【0310】右に検出列位置群Iを移動させ続けても、
YSUMMINI(k)が切り出ししきい値YSNOISを越え、あ
る列iでYSUMMINI(k)がYSUMMINI(k−1)以上と
なったときには、最早、配列YSUMMINI(k)は上昇傾
向にありその極小値を超えたと考えられるので、その右
の方向には文字切り出し位置xbが存在しない。
YSUMMINI(k)が切り出ししきい値YSNOISを越え、あ
る列iでYSUMMINI(k)がYSUMMINI(k−1)以上と
なったときには、最早、配列YSUMMINI(k)は上昇傾
向にありその極小値を超えたと考えられるので、その右
の方向には文字切り出し位置xbが存在しない。
【0311】従って、当初設定した基準ピッチの幅が不
適当と判断し、ステップS25からPITCHを変更す
るステップS60のステップへ進む。
適当と判断し、ステップS25からPITCHを変更す
るステップS60のステップへ進む。
【0312】図5の文字切り出し位置xb検出に説明を
戻すと、ステップS121で最初の切り出し検出位置
「2」を仮切り出し位置ibとして記憶した後は、次の
切り出し検出位置iを設定するステップS40に進む。
戻すと、ステップS121で最初の切り出し検出位置
「2」を仮切り出し位置ibとして記憶した後は、次の
切り出し検出位置iを設定するステップS40に進む。
【0313】このステップS40からステップS50ま
では、第1実施例で説明した基準ピッチPITCH間隔
で新たな切り出し検出位置を設定する手順であり、第二
実施例においても同一であるのでその説明を省略する。
では、第1実施例で説明した基準ピッチPITCH間隔
で新たな切り出し検出位置を設定する手順であり、第二
実施例においても同一であるのでその説明を省略する。
【0314】ステップS40において、LRFLAGは
「0」であるから、図中左方向に切り出し検出位置i
(検出列位置群I)を移していくステップS41に進
む。
「0」であるから、図中左方向に切り出し検出位置i
(検出列位置群I)を移していくステップS41に進
む。
【0315】ステップS41では、図5(a)のよう
に、現在の仮切り出し位置ibとして記憶した位置
「2」は開始列「2」上にあり、開始列までの間隔がP
ITCH/2=3.5に満たないので、ステップS45
でLRFLAGを「1」としてステップS46に進む。
に、現在の仮切り出し位置ibとして記憶した位置
「2」は開始列「2」上にあり、開始列までの間隔がP
ITCH/2=3.5に満たないので、ステップS45
でLRFLAGを「1」としてステップS46に進む。
【0316】ステップS46では、新たな切り出し検出
位置iをA+PITCH/2すなわち、マーク幅w0の
右端の列位置[10]に移し、再びこの列位置を切り出
し検出位置iとして、ステップS116からの二次検出
を行う。
位置iをA+PITCH/2すなわち、マーク幅w0の
右端の列位置[10]に移し、再びこの列位置を切り出
し検出位置iとして、ステップS116からの二次検出
を行う。
【0317】ステップS116で、この切り出し検出位
置iを新たな検出列位置群I1の中央列iCとする。
置iを新たな検出列位置群I1の中央列iCとする。
【0318】ステップS118において、YFLG(1
0)は「0」なので、ステップS119で、検出位置群
Iのそれぞれのデータ数YSUM(iC−1)、Y
SUM(iC)YSUM(iC+1)と、その内の最小値Y
SUMMINI(k)を図5(b)の配列により求める。
0)は「0」なので、ステップS119で、検出位置群
Iのそれぞれのデータ数YSUM(iC−1)、Y
SUM(iC)YSUM(iC+1)と、その内の最小値Y
SUMMINI(k)を図5(b)の配列により求める。
【0319】YSUM(iC−1)すなわちYSUM(9)は
「2」、YSUM(iC)すなわちYSUM(10)は
「0」、YSUM(iC+1)すなわちYSUM(11)は
「6」であるから、データ数の最小値は、[10]列で
の「0」である。
「2」、YSUM(iC)すなわちYSUM(10)は
「0」、YSUM(iC+1)すなわちYSUM(11)は
「6」であるから、データ数の最小値は、[10]列で
の「0」である。
【0320】二次検出回数kでのこの最小値をY
SUMMINI(k)、その最小値となる最小列位置xを切り
出し検出位置iとするので、最小値YSUMMINI(0)は
「0」、切り出し検出位置iは、[10]列である。
SUMMINI(k)、その最小値となる最小列位置xを切り
出し検出位置iとするので、最小値YSUMMINI(0)は
「0」、切り出し検出位置iは、[10]列である。
【0321】続いて、ステップS120で最小値Y
SUMMINI(0)を切り出ししきい値YSNOISと比較する
と、YSUMMINI(0)は「0」であり、切り出ししきい
値YSNOIS「2」以下であるから、この切り出し検出位
置iもステップS121で仮切り出し位置ibとして記
憶し、更に新たな切り出し検出位置iを設定するための
ステップS40に戻る。
SUMMINI(0)を切り出ししきい値YSNOISと比較する
と、YSUMMINI(0)は「0」であり、切り出ししきい
値YSNOIS「2」以下であるから、この切り出し検出位
置iもステップS121で仮切り出し位置ibとして記
憶し、更に新たな切り出し検出位置iを設定するための
ステップS40に戻る。
【0322】再びステップS40において、LRFLA
Gを調べるが、今度はLRFLAGが「1」に変わって
いるので、図5中右方向に切り出し検出位置i(検出位
置群I)を移していくステップS47に進む。
Gを調べるが、今度はLRFLAGが「1」に変わって
いるので、図5中右方向に切り出し検出位置i(検出位
置群I)を移していくステップS47に進む。
【0323】現在の仮切り出し位置ibとして記憶した
位置[10]は、終了列MJED「41」まで、PIT
CH「7」以上残されているので、ステップS47、ス
テップS48を経て、新たな切り出し検出位置iは、
「10」+「7」の「17」となる。
位置[10]は、終了列MJED「41」まで、PIT
CH「7」以上残されているので、ステップS47、ス
テップS48を経て、新たな切り出し検出位置iは、
「10」+「7」の「17」となる。
【0324】この新たな切り出し検出位置「17」にお
いて、再びステップS116からの二次検出を行う。
いて、再びステップS116からの二次検出を行う。
【0325】ステップS116で、この切り出し検出位
置iを新たな検出列位置群I2の中央列iCとした後、ス
テップ17においてkを「0」と、二次検出初期位置p
を「17」とそれぞれ設定する。
置iを新たな検出列位置群I2の中央列iCとした後、ス
テップ17においてkを「0」と、二次検出初期位置p
を「17」とそれぞれ設定する。
【0326】次にステップS118において、Y
FLG(17)を調べるが、この検出列位置群Iの中央列
「17」は癒着部分であり、YFLG(17)が「1」と
なるので、ステップS130で、検出位置群Iのそれぞ
れの間隔YLNG(iC−1)、YLNG(iC)YLNG(iC+
1)と、その内の間隔最小値YLNGMINI(k)を図5
(d)の配列により求める。
FLG(17)を調べるが、この検出列位置群Iの中央列
「17」は癒着部分であり、YFLG(17)が「1」と
なるので、ステップS130で、検出位置群Iのそれぞ
れの間隔YLNG(iC−1)、YLNG(iC)YLNG(iC+
1)と、その内の間隔最小値YLNGMINI(k)を図5
(d)の配列により求める。
【0327】YLNG(iC−1)すなわちYLNG(16)
は「16」、YLNG(iC)すなわちYLNG(17)は
「16」、YLNG(iC+1)すなわちYLNG(18)は
「15」、であるから、間隔Lの最小値は、[18]列
での「15」である。
は「16」、YLNG(iC)すなわちYLNG(17)は
「16」、YLNG(iC+1)すなわちYLNG(18)は
「15」、であるから、間隔Lの最小値は、[18]列
での「15」である。
【0328】二次検出回数kでのこの間隔最小値Y
LNGMINI(k)、その間隔最小値となる最小列位置xを
切り出し検出位置iとするので、間隔最小値YLNGMINI
(0)は「15」、切り出し検出位置iは、[18]列
である。
LNGMINI(k)、その間隔最小値となる最小列位置xを
切り出し検出位置iとするので、間隔最小値YLNGMINI
(0)は「15」、切り出し検出位置iは、[18]列
である。
【0329】次に、ステップS131でこの間隔最小値
YLNGMINI(0)の「15」を切り出し間隔しきい値Y
LNOISと比較し、文字切り出し位置xbの条件を判定す
る。
YLNGMINI(0)の「15」を切り出し間隔しきい値Y
LNOISと比較し、文字切り出し位置xbの条件を判定す
る。
【0330】本実施例において、切り出し間隔しきい値
YLNOISは、3LNNO/4であり、「12」である。
YLNOISは、3LNNO/4であり、「12」である。
【0331】切り出し検出位置「17」での間隔最小値
YLNGMINI(0)は、「15」であり、切り出し間隔し
きい値YLNOIS「12」を越えているので、二次検出の
ステップS132以下のステップに進む。
YLNGMINI(0)は、「15」であり、切り出し間隔し
きい値YLNOIS「12」を越えているので、二次検出の
ステップS132以下のステップに進む。
【0332】最初の二次検出回数kは「0」であるか
ら、直接ステップS134に進み、kを「−1」と、検
出列位置群I2の中央列iCを左に3列移動させ「14」
とする。
ら、直接ステップS134に進み、kを「−1」と、検
出列位置群I2の中央列iCを左に3列移動させ「14」
とする。
【0333】ステップS130で、再度新たに設定した
検出列位置群I3について、それぞれの間隔YLNG(iC
−1)、YLNG(iC)YLNG(iC+1)と、その内の間
隔最小値YLNGMINI(k)を求める。
検出列位置群I3について、それぞれの間隔YLNG(iC
−1)、YLNG(iC)YLNG(iC+1)と、その内の間
隔最小値YLNGMINI(k)を求める。
【0334】新たな検出位置群I3の間隔最小値Y
LNGMINI(−1)は「16」、切り出し検出位置iは、
[14]列となるが、この間隔最小値YLNGMINI(−
1)も「16」であり、切り出し間隔しきい値YLNOIS
「12」を越えているので、ステップS132に進む。
LNGMINI(−1)は「16」、切り出し検出位置iは、
[14]列となるが、この間隔最小値YLNGMINI(−
1)も「16」であり、切り出し間隔しきい値YLNOIS
「12」を越えているので、ステップS132に進む。
【0335】ステップS132において、kは「−1」
であるので、ステップS133でYLNGMINI(−1)と
前回のYLNGMINI(0)を比較する。
であるので、ステップS133でYLNGMINI(−1)と
前回のYLNGMINI(0)を比較する。
【0336】YLNGMINI(k)がYLNGMINI(k+1)よ
り小さければ、更に、左の列に文字切り出し位置xbが
存在している可能性があるので、前述と同様に、切り出
し検出位置iの列を左に1列移動させるが、YLNGMINI
(−1)の「16」は、前回のYLNGMINI(0)の「1
5」より大きいので、左の方向には文字切り出し位置x
bが存在しないと判断し、ステップS135において、
kを「1」と、検出列位置群Iの中央列iCを二次検出
初期位置pの右に3列移動させ「20」とする。
り小さければ、更に、左の列に文字切り出し位置xbが
存在している可能性があるので、前述と同様に、切り出
し検出位置iの列を左に1列移動させるが、YLNGMINI
(−1)の「16」は、前回のYLNGMINI(0)の「1
5」より大きいので、左の方向には文字切り出し位置x
bが存在しないと判断し、ステップS135において、
kを「1」と、検出列位置群Iの中央列iCを二次検出
初期位置pの右に3列移動させ「20」とする。
【0337】ステップS130において、新たな検出位
置群I4の間隔最小値YLNGMINI(1)は「11」、切り
出し検出位置iは、[21]列となる。
置群I4の間隔最小値YLNGMINI(1)は「11」、切り
出し検出位置iは、[21]列となる。
【0338】この間隔最小値YLNGMINI(1)は、「1
1」であり切り出し間隔しきい値YLNOIS「12」以下
となるので、ステップS131からステップS136に
進む。
1」であり切り出し間隔しきい値YLNOIS「12」以下
となるので、ステップS131からステップS136に
進む。
【0339】ステップS136では、この切り出し検出
位置[21]を仮切り出し位置ibとして記憶し、更に
次の新たな切り出し検出位置を設定するためステップS
40に進む。
位置[21]を仮切り出し位置ibとして記憶し、更に
次の新たな切り出し検出位置を設定するためステップS
40に進む。
【0340】以下同様の手順を繰り返し、ステップS4
7において、現在の仮切り出し位置ibとして記憶した
位置iから終了列MJEDまでの幅がPITCH/2に
満たない場合には、最早、この間に文字切り出し位置x
bが存在することはないと判断し、ステップS51の終
了処理を行う。
7において、現在の仮切り出し位置ibとして記憶した
位置iから終了列MJEDまでの幅がPITCH/2に
満たない場合には、最早、この間に文字切り出し位置x
bが存在することはないと判断し、ステップS51の終
了処理を行う。
【0341】ステップS51では、開始列MJSTから
終了列MJEDまでの全ての文字切り出し位置xbを検
出したものとして、これまでに記憶した仮切り出し位置
ibを文字切り出し位置xbとし、文字切り出し処理を終
了する。
終了列MJEDまでの全ての文字切り出し位置xbを検
出したものとして、これまでに記憶した仮切り出し位置
ibを文字切り出し位置xbとし、文字切り出し処理を終
了する。
【0342】尚、ステップS131において、再び間隔
最小値YLNGMINI(1)が切り出し間隔しきい値YLNOIS
「12」を越える場合には、ステップS132を経て、
ステップS137でYLNGMINI(k)と前回のYLNGMINI
(k−1)を比較する。
最小値YLNGMINI(1)が切り出し間隔しきい値YLNOIS
「12」を越える場合には、ステップS132を経て、
ステップS137でYLNGMINI(k)と前回のYLNGMINI
(k−1)を比較する。
【0343】YLNGMINI(k)が前回のYLNGMINI(k−
1)より小さい限り、YLNG(x)が右下がりで更に右
の列に文字切り出し位置xbが存在している可能性があ
る。
1)より小さい限り、YLNG(x)が右下がりで更に右
の列に文字切り出し位置xbが存在している可能性があ
る。
【0344】従って、ステップS138において、kを
「k−1」と、検出列位置群Iの中央列iCを更に右に
3列移動させる。
「k−1」と、検出列位置群Iの中央列iCを更に右に
3列移動させる。
【0345】しかしながら、同様の処理を繰り返し、右
に切り出し検出位置i移動させ続けても、Y
LNGMINI(k)が切り出ししきい値YLNOISを越え、ある
列iでYLNGMINI(k)が前回のYLNGMINI(k−1)以
上となったときには、最早、配列YLNGMINI(k)は上
昇傾向にありその極小値を超えたと考えられるので、そ
の右の方向には文字切り出し位置xbが存在しない。
に切り出し検出位置i移動させ続けても、Y
LNGMINI(k)が切り出ししきい値YLNOISを越え、ある
列iでYLNGMINI(k)が前回のYLNGMINI(k−1)以
上となったときには、最早、配列YLNGMINI(k)は上
昇傾向にありその極小値を超えたと考えられるので、そ
の右の方向には文字切り出し位置xbが存在しない。
【0346】従って、当初設定した文字ピッチが不適当
と判断し、ステップS137においてPITCHを変更
するステップS60のステップへ進む。
と判断し、ステップS137においてPITCHを変更
するステップS60のステップへ進む。
【0347】このように、二次検出の新たな設定を3列
毎の最小値を比較して行うので、1列のみ異常値があっ
ても、この異常値を無効として検出を続けることができ
る。
毎の最小値を比較して行うので、1列のみ異常値があっ
ても、この異常値を無効として検出を続けることができ
る。
【0348】この第二実施例において、検出列位置群I
を前後1列の3列で構成したが、これに限らず前後2列
の5列で構成してもよい。
を前後1列の3列で構成したが、これに限らず前後2列
の5列で構成してもよい。
【0349】本発明のいずれの実施例においても癒着フ
ラッグUを表した配列YFLG(x)を用いて、その値に
より切り出ししきい値YSNOISと切り出し間隔しきい値
YLNOISのいずれかを選択して文字切り出し位置xbの条
件としているが、YSUM(i)、最小値YSUMMINI(k)
とYSNOIS、間隔YLNG(i)、間隔最小値Y
LNGMINI(k)とYLNOISのいずれかのみで比較してもよ
い。
ラッグUを表した配列YFLG(x)を用いて、その値に
より切り出ししきい値YSNOISと切り出し間隔しきい値
YLNOISのいずれかを選択して文字切り出し位置xbの条
件としているが、YSUM(i)、最小値YSUMMINI(k)
とYSNOIS、間隔YLNG(i)、間隔最小値Y
LNGMINI(k)とYLNOISのいずれかのみで比較してもよ
い。
【0350】
【発明の効果】以上説明したように、請求項1によれ
ば、文字列が斜体の文字列である場合には、斜体の勾配
と近似した方向を黒画素のデータを集計する集計方向J
の平均勾配とするので、斜体文字列であっても文字間の
特徴を検出することができ、複数文字を同時に切り出す
ことがない。
ば、文字列が斜体の文字列である場合には、斜体の勾配
と近似した方向を黒画素のデータを集計する集計方向J
の平均勾配とするので、斜体文字列であっても文字間の
特徴を検出することができ、複数文字を同時に切り出す
ことがない。
【0351】請求項2又は請求項12の発明によれば、
1文字の幅PITCHとその両端位置をマーク幅wから
検出し、その両端位置を基準として、PITCH間隔で
文字切り出し位置xbを検出するので、ドット文字の中
間を誤って切り出し位置としたり、文字間が癒着した文
字列であっても複数文字を同時に切り出したりすること
がない。
1文字の幅PITCHとその両端位置をマーク幅wから
検出し、その両端位置を基準として、PITCH間隔で
文字切り出し位置xbを検出するので、ドット文字の中
間を誤って切り出し位置としたり、文字間が癒着した文
字列であっても複数文字を同時に切り出したりすること
がない。
【0352】又、切り出し検出位置iを周囲の列に移し
て改めて文字切り出し位置xbを検出するので、文字列
が不等ピッチであっても、文字切り出し位置xbを検出
することができる。
て改めて文字切り出し位置xbを検出するので、文字列
が不等ピッチであっても、文字切り出し位置xbを検出
することができる。
【0353】請求項3又は請求項13の発明によれば、
文字列の全ての文字が互いに癒着している場合に、いず
れのマーク幅w1、w2・・wnも限界文字幅wPを越える
ので、疑似マーク幅w´MAXを用いて、文字切り出し位
置xbを検出することができる。
文字列の全ての文字が互いに癒着している場合に、いず
れのマーク幅w1、w2・・wnも限界文字幅wPを越える
ので、疑似マーク幅w´MAXを用いて、文字切り出し位
置xbを検出することができる。
【0354】又、疑似マーク幅w´MAXは、「3」、
「7」等黒画素の左右のバランスが異なる文字である場
合であっても、左右で大きく異なることのない配列Y
LNG(x)をもとに検出しているので、間隔しきい値LP
を設定してもその両端位置が変化しない。
「7」等黒画素の左右のバランスが異なる文字である場
合であっても、左右で大きく異なることのない配列Y
LNG(x)をもとに検出しているので、間隔しきい値LP
を設定してもその両端位置が変化しない。
【0355】請求項4の発明によれば、癒着フラッグを
用いて癒着部分を識別し、切り出し検出位置iが文字と
文字が癒着した部分にあるときのみ、間隔YLNG(i)
と切り出し間隔しきい値YLNOISとを比較したので、切
り出ししきい値YSNOISで判別しにくい癒着部分であっ
ても、文字切り出し位置xbを判別できる。
用いて癒着部分を識別し、切り出し検出位置iが文字と
文字が癒着した部分にあるときのみ、間隔YLNG(i)
と切り出し間隔しきい値YLNOISとを比較したので、切
り出ししきい値YSNOISで判別しにくい癒着部分であっ
ても、文字切り出し位置xbを判別できる。
【0356】請求項5、7、9、11、15、17、1
9又は請求項21の発明によれば、いずれかの切り出し
検出位置iが文字切り出し位置xbの切り出し条件に満
たさないときに、設定したPITCHが文字列の文字ピ
ッチと一致していないと判断し、PITCHを設定し直
して再度を文字切り出し位置xbの検出を継続する。
9又は請求項21の発明によれば、いずれかの切り出し
検出位置iが文字切り出し位置xbの切り出し条件に満
たさないときに、設定したPITCHが文字列の文字ピ
ッチと一致していないと判断し、PITCHを設定し直
して再度を文字切り出し位置xbの検出を継続する。
【0357】従って、一連の文字切り出し処理におい
て、切り出しエラーが減少する。
て、切り出しエラーが減少する。
【0358】請求項6の発明によれば、切り出し検出位
置iを配列YSUM(x)におけるデータ数が減少する方
向へ切り出し検出位置iを移動させ、二次検出するの
で、文字列のピッチが文字毎に異なる場合であっても、
文字切り出し位置xbを検出することができる。
置iを配列YSUM(x)におけるデータ数が減少する方
向へ切り出し検出位置iを移動させ、二次検出するの
で、文字列のピッチが文字毎に異なる場合であっても、
文字切り出し位置xbを検出することができる。
【0359】請求項8又は請求項18の発明によれば、
配列YLNG(x)を間隔しきい値LPと比較して得た疑似
マーク幅w´mを用いて、1文字の幅を表す基準ピッチ
幅PITCHと、その両端位置を決定しているので、左
右のバランスが異なる文字についてのものであっても、
左右で大きくその疑似マーク幅w´mの位置が異なるこ
とがない。
配列YLNG(x)を間隔しきい値LPと比較して得た疑似
マーク幅w´mを用いて、1文字の幅を表す基準ピッチ
幅PITCHと、その両端位置を決定しているので、左
右のバランスが異なる文字についてのものであっても、
左右で大きくその疑似マーク幅w´mの位置が異なるこ
とがない。
【0360】又、文字間が癒着していても、文字切り出
し位置xbでの黒画素の始点行と終点行の間隔Lは、周
囲の列の間隔Lより小さいので、切り出し間隔しきい値
YLNOISにより、文字切り出し位置xbを検出できる。
し位置xbでの黒画素の始点行と終点行の間隔Lは、周
囲の列の間隔Lより小さいので、切り出し間隔しきい値
YLNOISにより、文字切り出し位置xbを検出できる。
【0361】従って、文字列の全て若しくはその一部が
癒着していても、文字切り出し位置xbを検出すること
ができ、複数文字を同時に切り出したり、1文字を分割
して切り出すことがない。
癒着していても、文字切り出し位置xbを検出すること
ができ、複数文字を同時に切り出したり、1文字を分割
して切り出すことがない。
【0362】請求項10の発明によれば、切り出し検出
位置iを、間隔YLNG(i)における間隔Lが減少する
方向へ切り出し検出位置iを移動させ、二次検出するの
で、文字列のピッチが文字毎に異なる場合であっても、
文字切り出し位置xbを検出することができる。
位置iを、間隔YLNG(i)における間隔Lが減少する
方向へ切り出し検出位置iを移動させ、二次検出するの
で、文字列のピッチが文字毎に異なる場合であっても、
文字切り出し位置xbを検出することができる。
【0363】更に、請求項12乃至請求項21の発明に
よれば、PITCH幅で設定した周囲の列に、前後数列
の検出位置群Iを設定し、その中で最も文字切り出し位
置xbの条件に近い値となる列を選び、その列で文字切
り出し位置xbの条件を比較するので、その周囲を二次
検出で1列毎に文字切り出し位置xbの条件と比較する
よりも、少ない手順で文字切り出し位置xbを検出でき
る。
よれば、PITCH幅で設定した周囲の列に、前後数列
の検出位置群Iを設定し、その中で最も文字切り出し位
置xbの条件に近い値となる列を選び、その列で文字切
り出し位置xbの条件を比較するので、その周囲を二次
検出で1列毎に文字切り出し位置xbの条件と比較する
よりも、少ない手順で文字切り出し位置xbを検出でき
る。
【0364】請求項14の発明によれば、癒着フラッグ
を用いて癒着部分を識別し、検出位置群Iの中央の列位
置iCが文字と文字が癒着した部分にあるときのみ、間
隔YLNGMINI(i)と切り出し間隔しきい値YLNOISとを
比較したので、切り出ししきい値YSNOISで判別しにく
い癒着部分であっても、文字切り出し位置xbを判別で
きる。
を用いて癒着部分を識別し、検出位置群Iの中央の列位
置iCが文字と文字が癒着した部分にあるときのみ、間
隔YLNGMINI(i)と切り出し間隔しきい値YLNOISとを
比較したので、切り出ししきい値YSNOISで判別しにく
い癒着部分であっても、文字切り出し位置xbを判別で
きる。
【0365】請求項16の発明によれば、検出列位置群
Iの中の切り出し検出位置iが文字切り出し位置xbの
条件を満たさない場合に、二次検出により検出位置群I
を最小値YSUMMINI(i)が減少する方向へ移動させの
で、文字列のピッチが文字毎に大きく異なっても、文字
切り出し位置xbを検出できる。
Iの中の切り出し検出位置iが文字切り出し位置xbの
条件を満たさない場合に、二次検出により検出位置群I
を最小値YSUMMINI(i)が減少する方向へ移動させの
で、文字列のピッチが文字毎に大きく異なっても、文字
切り出し位置xbを検出できる。
【0366】又、このように、二次検出の新たな設定を
3列毎の最小値を比較して行うので、1列のみ異常値が
あっても、この異常値を無効として検出を続けることが
できる。
3列毎の最小値を比較して行うので、1列のみ異常値が
あっても、この異常値を無効として検出を続けることが
できる。
【0367】請求項20の発明によれば、検出列位置群
Iの中の切り出し検出位置iが文字切り出し位置xbの
条件を満たさない場合に、二次検出により検出位置群I
を間隔最小値YLNGMINI(i)が減少する方向へ移動さ
せので、文字列のピッチが文字毎に大きく異なっても、
文字切り出し位置xbを検出できる。
Iの中の切り出し検出位置iが文字切り出し位置xbの
条件を満たさない場合に、二次検出により検出位置群I
を間隔最小値YLNGMINI(i)が減少する方向へ移動さ
せので、文字列のピッチが文字毎に大きく異なっても、
文字切り出し位置xbを検出できる。
【0368】又、このように、二次検出の新たな設定を
3列毎の最小値を比較して行うので、1列のみ異常値が
あっても、この異常値を無効として検出を続けることが
できる。
3列毎の最小値を比較して行うので、1列のみ異常値が
あっても、この異常値を無効として検出を続けることが
できる。
【0369】請求項22の発明によれば、限界折り返し
幅MJLIMをPITCH÷2として、いるので、仮切り
出し位置ibから左右の列(MJST、MJED)まで
の残りの幅がPITCH/2に満たない場合に、更に無
駄に同じ方向で切り出し検出位置iを設定しない。
幅MJLIMをPITCH÷2として、いるので、仮切り
出し位置ibから左右の列(MJST、MJED)まで
の残りの幅がPITCH/2に満たない場合に、更に無
駄に同じ方向で切り出し検出位置iを設定しない。
【0370】請求項23の発明によれば、基準ピッチ幅
をPITCH+(−1)C-1*Cで変更し、最も文字列
のピッチと一致する期待値の高いPITCHを中心に順
にその幅を1列分毎に変化させので、効果的なPITC
H変更による再検出ができる。
をPITCH+(−1)C-1*Cで変更し、最も文字列
のピッチと一致する期待値の高いPITCHを中心に順
にその幅を1列分毎に変化させので、効果的なPITC
H変更による再検出ができる。
【0371】請求項24の発明によれば、間隔しきい値
LPをLNNO÷2としているので、文字と文字が1箇
所で癒着している列位置を識別することができる。
LPをLNNO÷2としているので、文字と文字が1箇
所で癒着している列位置を識別することができる。
【0372】請求項25の発明によれば、限界文字幅w
Pを文字の縦幅である間隔LNNOとしたので、縦長の
文字で構成された文字列において、横幅から1文字の存
在有無を確認できる。
Pを文字の縦幅である間隔LNNOとしたので、縦長の
文字で構成された文字列において、横幅から1文字の存
在有無を確認できる。
【0373】請求項26の発明によれば、切り出ししき
い値YSNOISを2としたので、文字切り出し位置xbが誤
動作により黒画素のデータをカウントしても、文字切り
出し位置xbとして検出できる。
い値YSNOISを2としたので、文字切り出し位置xbが誤
動作により黒画素のデータをカウントしても、文字切り
出し位置xbとして検出できる。
【0374】請求項27の発明によれば、切り出し間隔
しきい値YLNOISを3LNNO÷4としているので、切
り出し検出位置iが癒着しても文字切り出し位置xbと
して検出することができる。
しきい値YLNOISを3LNNO÷4としているので、切
り出し検出位置iが癒着しても文字切り出し位置xbと
して検出することができる。
【0375】請求項28の発明によれば、検出列位置群
Iを3列で構成したので、効果的な文字切り出し位置x
b検出ができる。
Iを3列で構成したので、効果的な文字切り出し位置x
b検出ができる。
【0376】請求項29の発明によれば、斜体文字列の
傾斜に集計方向Jの平均勾配を一致させて文字間の特徴
を検出することができ、請求項2乃至7、12乃至1
7、22乃至28のいずれかの発明と組み合わせて、斜
体文字列の文字がドットで構成されていたり、文字間が
癒着していても正確に文字切り出し位置xbを検出する
ことができる。
傾斜に集計方向Jの平均勾配を一致させて文字間の特徴
を検出することができ、請求項2乃至7、12乃至1
7、22乃至28のいずれかの発明と組み合わせて、斜
体文字列の文字がドットで構成されていたり、文字間が
癒着していても正確に文字切り出し位置xbを検出する
ことができる。
【0377】請求項30の発明によれば、集計方向J
を、Jを1から始まる正の整数とし、各列位置xからL
NNO÷2J-1行分進む毎にその列位置xを1列シフト
させるようにしたので、Jの増加に伴い集計方向Jの平
均勾配が緩やかに変化する。
を、Jを1から始まる正の整数とし、各列位置xからL
NNO÷2J-1行分進む毎にその列位置xを1列シフト
させるようにしたので、Jの増加に伴い集計方向Jの平
均勾配が緩やかに変化する。
【0378】従って、簡単な作業で、イメージデータ記
憶部5のX、Y方向で示される直交する各番地に2値デ
ータが記憶されているものであっても、Y方向と異なる
数種類の平均勾配で集計することができる。
憶部5のX、Y方向で示される直交する各番地に2値デ
ータが記憶されているものであっても、Y方向と異なる
数種類の平均勾配で集計することができる。
【0379】又、この集計方向の変化は、マイクロコン
ピュータによるソフト処理に適し、簡単に操作すること
ができる。
ピュータによるソフト処理に適し、簡単に操作すること
ができる。
【0380】請求項31の発明においては、特にこの集
計方向のJの値を1から3までの正の整数とし、集計を
何度も繰り返すことなく、通常用いられる斜体文字から
文字を短時間で切り出すことができる。
計方向のJの値を1から3までの正の整数とし、集計を
何度も繰り返すことなく、通常用いられる斜体文字から
文字を短時間で切り出すことができる。
【0381】
【図1】図1は、辞書データ記憶部7のメモリーに記憶
された文字列の読み取りデータから文字切り出し位置x
bを検出する方法を示す図であり、(a)は、メモリー
における文字列の読み取りデータを示す説明図、(b)
は、(a)の文字列の黒画素に相当するデータを列毎に
集計したヒストグラムHSUM(x)、(c)は、ヒスト
グラムHSUM(x)の配列YSUM(x)、(d)は、
(a)の文字列の黒画素の間隔Lを列毎に集計したヒス
トグラムHLNG(x)、(e)は、ヒストグラムH
LNG(x)の配列YLNG(x)(f)は、癒着部分に癒着
記号「1」を表した配列YFLG(x)である。
された文字列の読み取りデータから文字切り出し位置x
bを検出する方法を示す図であり、(a)は、メモリー
における文字列の読み取りデータを示す説明図、(b)
は、(a)の文字列の黒画素に相当するデータを列毎に
集計したヒストグラムHSUM(x)、(c)は、ヒスト
グラムHSUM(x)の配列YSUM(x)、(d)は、
(a)の文字列の黒画素の間隔Lを列毎に集計したヒス
トグラムHLNG(x)、(e)は、ヒストグラムH
LNG(x)の配列YLNG(x)(f)は、癒着部分に癒着
記号「1」を表した配列YFLG(x)である。
【図2】図2は、傾斜文字列の読み取りデータから文字
切り出し位置xbを検出する方法を示す図であり、
(a)は、メモリーにおける傾斜文字列の読み取りデー
タを示す説明図、(b)は、(a)の文字列の黒画素に
相当するデータを集計方向J=1で列毎に集計したヒス
トグラムHSUM 1(x)、(c)は、(b)のヒストグラ
ムHSUM 1(x)の配列YSUM 1(x)、(d)は、(a)
の文字列の黒画素に相当するデータを集計方向J=2で
列毎に集計したヒストグラムHSUM 2(x)、(e)は、
(d)のヒストグラムHSUM 2(x)の配列Y
SUM 2(x)、(f)は、(a)の文字列の黒画素に相当
するデータを集計方向J=3で列毎に集計したヒストグ
ラムHSUM 3(x)、(g)は、(f)のヒストグラムH
SUM 3(x)の配列YSUM 3(x)である。
切り出し位置xbを検出する方法を示す図であり、
(a)は、メモリーにおける傾斜文字列の読み取りデー
タを示す説明図、(b)は、(a)の文字列の黒画素に
相当するデータを集計方向J=1で列毎に集計したヒス
トグラムHSUM 1(x)、(c)は、(b)のヒストグラ
ムHSUM 1(x)の配列YSUM 1(x)、(d)は、(a)
の文字列の黒画素に相当するデータを集計方向J=2で
列毎に集計したヒストグラムHSUM 2(x)、(e)は、
(d)のヒストグラムHSUM 2(x)の配列Y
SUM 2(x)、(f)は、(a)の文字列の黒画素に相当
するデータを集計方向J=3で列毎に集計したヒストグ
ラムHSUM 3(x)、(g)は、(f)のヒストグラムH
SUM 3(x)の配列YSUM 3(x)である。
【図3】図3は、集計方向Jを示す説明図である。
【図4】図4は、文字「3」の読み取りデータから疑似
マーク幅w´を検出する方法を示す図であり、(a)
は、メモリーにおける文字「3」の読み取りデータを示
す説明図、(b)は、(a)のヒストグラムH
SUM(x)において、データしきい値SPをLNNO/2
として疑似マーク幅wS´0とした説明図、(c)は、
(a)の黒画素の間隔Lを集計した配列YSUM(x)、
(d)は、(a)のヒストグラムHLNG(x)におい
て、間隔しきい値LPをLNNO/2として疑似マーク
幅w´0とした説明図、(e)は、(a)の黒画素の間
隔Lを集計した配列YLNG(x)である。
マーク幅w´を検出する方法を示す図であり、(a)
は、メモリーにおける文字「3」の読み取りデータを示
す説明図、(b)は、(a)のヒストグラムH
SUM(x)において、データしきい値SPをLNNO/2
として疑似マーク幅wS´0とした説明図、(c)は、
(a)の黒画素の間隔Lを集計した配列YSUM(x)、
(d)は、(a)のヒストグラムHLNG(x)におい
て、間隔しきい値LPをLNNO/2として疑似マーク
幅w´0とした説明図、(e)は、(a)の黒画素の間
隔Lを集計した配列YLNG(x)である。
【図5】図5は、第二実施例によって図1と同じ文字列
の読み取りデータから文字切り出し位置xbを検出する
方法を示す図であり、(a)は、黒画素に相当するデー
タを列毎に集計したヒストグラムHSUM(x)、(b)
は、ヒストグラムHSUM(x)の配列YSUM(x)、
(d)は、黒画素の間隔Lを列毎に集計したヒストグラ
ムHLNG(x)、(e)は、ヒストグラムHLNG(x)の
配列YLNG(x)である。
の読み取りデータから文字切り出し位置xbを検出する
方法を示す図であり、(a)は、黒画素に相当するデー
タを列毎に集計したヒストグラムHSUM(x)、(b)
は、ヒストグラムHSUM(x)の配列YSUM(x)、
(d)は、黒画素の間隔Lを列毎に集計したヒストグラ
ムHLNG(x)、(e)は、ヒストグラムHLNG(x)の
配列YLNG(x)である。
【図6】図6は、ステップS1からステップS9までの
手順を示すフローチャートである。
手順を示すフローチャートである。
【図7】図7は、ステップS10からステップS18ま
での手順を示すフローチャートである。
での手順を示すフローチャートである。
【図8】図8は、切り出し検出位置iと二次検出で変更
した切り出し検出位置iが文字切り出し位置xbの条件
を満たしているかどうかを判定するステップS19から
ステップS26までの手順を示すフローチャートであ
る。
した切り出し検出位置iが文字切り出し位置xbの条件
を満たしているかどうかを判定するステップS19から
ステップS26までの手順を示すフローチャートであ
る。
【図9】図9は、切り出し検出位置iと二次検出で変更
した切り出し検出位置iが文字切り出し位置xbの条件
を満たしているかどうかを判定するステップS27から
ステップS34までの手順を示すフローチャートであ
る。
した切り出し検出位置iが文字切り出し位置xbの条件
を満たしているかどうかを判定するステップS27から
ステップS34までの手順を示すフローチャートであ
る。
【図10】図10は、文字領域(開始列MJSTから終
了列MJED)の範囲で、基準ピッチPITCH間隔
で、新たな切り出し検出位置を設定するステップS40
からステップS51までの手順を示すフローチャートで
ある。
了列MJED)の範囲で、基準ピッチPITCH間隔
で、新たな切り出し検出位置を設定するステップS40
からステップS51までの手順を示すフローチャートで
ある。
【図11】図11は、PITCHを変更するステップS
60からステップS64までの手順を示すフローチャー
トである。
60からステップS64までの手順を示すフローチャー
トである。
【図12】図12は、本発明の第二実施例に係るステッ
プS13からステップS118までの手順を示すフロー
チャートである。
プS13からステップS118までの手順を示すフロー
チャートである。
【図13】図13は、切り出し検出位置iと二次検出で
変更した切り出し検出位置iが文字切り出し位置xbの
条件を満たしているかどうかを判定するステップS11
9からステップS127までの手順を示すフローチャー
トである。
変更した切り出し検出位置iが文字切り出し位置xbの
条件を満たしているかどうかを判定するステップS11
9からステップS127までの手順を示すフローチャー
トである。
【図14】図14は、切り出し検出位置iと二次検出で
変更した切り出し検出位置iが文字切り出し位置xbの
条件を満たしているかどうかを判定するステップS13
0からステップS138までの手順を示すフローチャー
トである。
変更した切り出し検出位置iが文字切り出し位置xbの
条件を満たしているかどうかを判定するステップS13
0からステップS138までの手順を示すフローチャー
トである。
【図15】図15は、光学式文字認識に係る読み取り装
置1の回路構成を示すブロック図である。
置1の回路構成を示すブロック図である。
【図16】図16は、文字認識処理部6における文字認
識処理を示したフローチャートである。
識処理を示したフローチャートである。
【図17】図17は、メモリーにおける文字列領域と文
字切り出し位置xbを検出する従来の方法を説明する説
明図である。
字切り出し位置xbを検出する従来の方法を説明する説
明図である。
【図18】図18は、傾斜した文字列の読み取りデータ
から文字切り出し位置xbを検出する従来の方法を説明
する説明図である。
から文字切り出し位置xbを検出する従来の方法を説明
する説明図である。
【図19】図19は、ドットで構成された文字列の読み
取りデータから文字切り出し位置xbを検出する従来の
方法を説明する説明図である。
取りデータから文字切り出し位置xbを検出する従来の
方法を説明する説明図である。
【図20】図20は、文字間の一部が癒着した文字列の
読み取りデータから文字切り出し位置xbを検出する従
来の方法を説明する説明図である。
読み取りデータから文字切り出し位置xbを検出する従
来の方法を説明する説明図である。
MJST 開始列 MJED 終了列 LNST 開始行 LNED 終了行 x 各列位置 J 集計方向 YSUM J(x) 集計方向Jで黒画素のデータ数を集計
した配列 wJ 集計方向Jでのマーク幅 nJ 集計方向Jでのマーク幅の数 JMAX 最適な集計方向 YSUM(x) 黒画素のデータ数を集計した配列 xb 文字切り出し位置 ib 仮切り出し位置 wn マーク幅 wP 限界文字幅 wMAX 最大幅のマーク幅 PITCH 基準ピッチ幅 i 切り出し検出位置 YSNOIS 切り出ししきい値 MJLIM 限界折り返し幅 L 黒画素のデータの間隔 YLNG(x) 黒画素のデータの間隔を集計した配列 LP 間隔しきい値 w´m 疑似マーク幅 YLNOIS 切り出し間隔しきい値 wU マーク幅 U 癒着フラッグ YFLG(x) 癒着位置を示した配列 p 二次検出初期位置 w´MAX 基準ピッチを設定する疑似マーク幅 I 検出列位置群 YSUMMINI(i) 最小値 IC 検出列位置群Iの中央の列位置 YLNGMINI(i) 間隔最小値
した配列 wJ 集計方向Jでのマーク幅 nJ 集計方向Jでのマーク幅の数 JMAX 最適な集計方向 YSUM(x) 黒画素のデータ数を集計した配列 xb 文字切り出し位置 ib 仮切り出し位置 wn マーク幅 wP 限界文字幅 wMAX 最大幅のマーク幅 PITCH 基準ピッチ幅 i 切り出し検出位置 YSNOIS 切り出ししきい値 MJLIM 限界折り返し幅 L 黒画素のデータの間隔 YLNG(x) 黒画素のデータの間隔を集計した配列 LP 間隔しきい値 w´m 疑似マーク幅 YLNOIS 切り出し間隔しきい値 wU マーク幅 U 癒着フラッグ YFLG(x) 癒着位置を示した配列 p 二次検出初期位置 w´MAX 基準ピッチを設定する疑似マーク幅 I 検出列位置群 YSUMMINI(i) 最小値 IC 検出列位置群Iの中央の列位置 YLNGMINI(i) 間隔最小値
Claims (31)
- 【請求項1】 一方向に配列された文字列を光学的に読
み取り、文字列のイメージと対応する2値データからな
る読み取りデータとし、辞書データと比較するためにメ
モリーに記憶された読み取りデータから1文字毎の読み
取りデータを切り出す光学式文字認識における文字切り
出し方法であって、(1A) メモリーにおける文字列
領域に相当する読み取りデータの開始列MJSTと終了
列MJEDと開始行LNSTと終了行LNEDをそれぞ
れ検出し、(1B) 各列位置xから集計方向Jに沿っ
て開始行LNSTから終了行LNEDまで黒画素に相当
するデータ数を集計し、開始列MJST列から終了列M
JEDまでの配列YSUM J(x)とし、(1C) 集計方
向Jの平均勾配を異ならせて、それぞれの集計方向J毎
に前記(1B)の集計を繰り返し、(1D) それぞれ
の配列YSUM J(x)において、データ数が1以上で連続
するマーク幅wJの数nJを計数し(1E) マーク幅の
数nJが最大となる集計方向JMAXを真の集計方向とし、
その集計方向JMAXによる配列YSUM(x)において、デ
ータ数YSUM(i)が0となる列位置iを文字切り出し
位置xbとしたことを特徴とする光学式文字認識におけ
る文字切り出し方法。 - 【請求項2】 一方向に配列された文字列を光学的に読
み取り、文字列のイメージと対応する2値データからな
る読み取りデータとし、辞書データと比較するためにメ
モリーに記憶された読み取りデータから1文字毎の読み
取りデータを切り出す光学式文字認識における文字切り
出し方法であって、(2A) メモリーにおける文字列
領域に相当する読み取りデータの開始列MJSTと終了
列MJEDと開始行LNSTと終了行LNEDをそれぞ
れ検出し、(2B) 各列位置x毎に開始行LNSTか
ら終了行LNEDまで黒画素に相当するデータ数を集計
し、開始列MJST列から終了列MJEDまでの配列Y
SUM(x)とし、(2C) 配列YSUM(x)において、
データ数が1以上で連続するマーク幅w1、w2・・wn
を検出し、(2D) マーク幅w1、w2・・wnの内、
限界文字幅wP未満で最大幅のマーク幅wMAXを基準ピッ
チ幅PITCHとし、(2E) 配列YSUM(x)にお
いて、マーク幅wMAXの一端の列位置xを切り出し検出
位置iとし、(2F) 切り出し検出位置iにおけるデ
ータ数YSUM(i)が、切り出ししきい値YSNOIS以下で
ある場合に該切り出し検出位置iを仮切り出し位置ib
として記憶し、(2G) 前記切り出し検出位置iから
マーク幅wMAXと反対方向にピッチ幅PITCH離れた
列位置xを新たな切り出し検出位置iとし、(2H)
前記(2F)(2G)を繰り返し、新たな切り出し検出
位置iが開始列MJST若しくは終了列MJEDを限界
折り返し幅MJLIM以上越えるときに、マーク幅wMAXの
他端の列位置xを新たな切り出し検出位置iとして、前
記前記(2F)(2G)を繰り返し、(2I) 新たな
切り出し検出位置iが開始列MJST若しくは終了列M
JEDを限界折り返し幅MJLIM以上越えるときに、全
ての仮切り出し位置ibを文字切り出し位置xbとしたこ
とを特徴とする光学式文字認識における文字切り出し方
法。 - 【請求項3】 配列YSUM(x)において、いずれのマ
ーク幅w1、w2・・wnも限界文字幅wPを越える場合
に、(3A) 各列位置x毎に開始行LNSTから終了
行LNEDまで黒画素に相当するデータを検出してその
データの始点行と終点行との間隔Lを求め、開始列MJ
ST列から終了列MJEDまでの配列YLNG(x)と
し、(3B) 配列YLNG(x)において、間隔Lが間
隔しきい値LP以上で連続する疑似マーク幅w´1、w´
2・・w´mを検出し、(3C) 疑似マーク幅w´1、
w´2・・w´mの内、限界文字幅wP未満で最大幅の疑
似マーク幅w´MAXを基準ピッチ幅PITCHとし、
(3D) 配列YLNG(x)において、疑似マーク幅w
´MAXの一端の列位置xを切り出し検出位置iとし、
(3E) 切り出し検出位置iにおける間隔Y
LNG(i)が、切り出し間隔しきい値YLNOIS以下である
場合に該切り出し検出位置iを仮切り出し位置ibとし
て記憶し、(3F) 前記切り出し検出位置iから疑似
マーク幅w´MAXと反対方向にピッチ幅PITCH離れ
た列位置xを新たな切り出し検出位置iとし、(3G)
前記(3E)(3F)を繰り返し、新たな切り出し検
出位置iが開始列MJST若しくは終了列MJEDを限
界折り返し幅MJLIM以上越えるときに、疑似マーク幅
w´MAXの他端の列位置xを新たな切り出し検出位置i
として、前記前記(3E)(3F)を繰り返し、(3
G) 新たな切り出し検出位置iが開始列MJST若し
くは終了列MJEDを限界折り返し幅MJLIM以上越え
るときに、全ての仮切り出し位置ibを文字切り出し位
置xbとしたことを特徴とする請求項2記載の光学式文
字認識における文字切り出し方法。 - 【請求項4】 (4A) マーク幅w1、w2・・wnの
内、限界文字幅wP以上の幅を有するマーク幅wUを検出
し、(4B) マーク幅wUが存在する各列位置xに癒
着フラッグUを表し、開始列MJSTから終了列MJE
Dまでの配列YFLG(x)とし、(4C) 各列位置x
毎に開始行LNSTから終了行LNEDまで黒画素に相
当するデータを検出してそのデータの始点行と終点行と
の間隔Lを求め、開始列MJST列から終了列MJED
までの配列YLNG(x)とし、(4D) 切り出し検出
位置iにおいて、配列YFLG(i)が癒着フラッグUを
示す場合に、切り出し検出位置iにおける間隔Y
LNG(i)と切り出し間隔しきい値YLNOISを比較し、
(4E) 間隔YLNG(i)が切り出し間隔しきい値Y
LNOIS以下である場合に、前記切り出し検出位置iにお
けるデータ数YSUM(i)を切り出ししきい値YSNOIS以
下とみなすことを特徴とする請求項2記載の光学式文字
認識における文字切り出し方法。 - 【請求項5】 切り出し検出位置iにおけるデータ数Y
SUM(i)が、切り出ししきい値YSNOISを越えた場合
に、既に記憶した仮切り出し位置ibを全て無効とし、
基準ピッチ幅PITCHを変更して新たな切り出し検出
位置iを設定し直したことを特徴とする請求項2又は4
記載の光学式文字認識における文字切り出し方法。 - 【請求項6】 切り出し検出位置iにおけるデータ数Y
SUM(i)が、切り出ししきい値YSNOISを越える場合
に、(6A) 該切り出し検出位置iを二次検出初期位
置pとし、(6B) 二次検出初期位置pから配列Y
SUM(x)におけるデータ数が減少する方向へ順に、各
列位置x毎に配列YSUM(x)によるデータ数と切り出
ししきい値YSNOISを比較し、(6C) データ数が切
り出ししきい値YSNOIS以下となった列位置p´に、切
り出し検出位置iを変更したことを特徴とする請求項2
又は4記載の光学式文字認識における文字切り出し方
法。 - 【請求項7】 二次検出初期位置pから配列Y
SUM(x)におけるデータ数が減少する方向へ順に、各
列位置x毎に配列YSUM(x)によるデータ数と切り出
ししきい値YNOISを比較し、YSUM(x)の極小値を超
えてもデータ数が切り出ししきい値YSNOIS以下となら
ない場合に、既に記憶した仮切り出し位置ibを全て無
効とし、基準ピッチ幅PITCHを変更して新たな切り
出し検出位置iを設定し直したことを特徴とする請求項
6記載の光学式文字認識における文字切り出し方法。 - 【請求項8】 一方向に配列された文字列を光学的に読
み取り、文字列のイメージと対応する2値データからな
る読み取りデータとし、辞書データと比較するためにメ
モリーに記憶された読み取りデータから1文字毎の読み
取りデータを切り出す光学式文字認識における文字切り
出し方法であって、(8A) メモリーにおける文字列
領域に相当する読み取りデータの開始列MJSTと終了
列MJEDと開始行LNSTと終了行LNEDをそれぞ
れ検出し、(8B) 各列位置x毎に開始行LNSTか
ら終了行LNEDまで黒画素に相当するデータを検出し
てそのデータの始点行と終点行との間隔Lを求め、開始
列MJST列から終了列MJEDまでの配列Y
LNG(x)とし、(8C) 配列YLNG(x)において、
間隔Lが間隔しきい値LP以上で連続する疑似マーク幅
w´1、w´2・・w´mを検出し、(8D) 疑似マー
ク幅w´1、w´2・・w´mの内、限界文字幅wP未満で
最大幅のマーク幅w´MAXを基準ピッチ幅PITCHと
し、(8E) 配列YLNG(x)において、疑似マーク
幅w´MAXの一端の列位置xを切り出し検出位置iと
し、(8F) 切り出し検出位置iにおける間隔YLNG
(i)が、切り出し間隔しきい値YLNOIS以下である場
合に該切り出し検出位置iを仮切り出し位置ibとして
記憶し、(8G) 前記切り出し検出位置iから疑似マ
ーク幅w´MAXと反対方向にピッチ幅PITCH離れた
列位置xを新たな切り出し検出位置iとし、(8H)
前記(8F)(8G)を繰り返し、新たな切り出し検出
位置iが開始列MJST若しくは終了列MJEDを限界
折り返し幅MJLIM以上越えるときに、疑似マーク幅w
´MAXの他端の列位置xを新たな切り出し検出位置iと
して、前記(8F)(8G)を繰り返し、(8I) 新
たな切り出し検出位置iが開始列MJST若しくは終了
列MJEDを限界折り返し幅MJLIM以上越えるとき
に、全ての仮切り出し位置ibを文字切り出し位置xbと
したことを特徴とする光学式文字認識における文字切り
出し方法。 - 【請求項9】 切り出し検出位置iにおける間隔YLNG
(i)が、切り出し間隔しきい値YLNOISを越えた場合
に、既に記憶した仮切り出し位置ibを全て無効とし、
基準ピッチ幅PITCHを変更して新たな切り出し検出
位置iを設定し直したことを特徴とする請求項3又は8
項記載の光学式文字認識における文字切り出し方法。 - 【請求項10】 切り出し検出位置iにおける間隔Y
LNG(i)が、切り出し間隔しきい値YLNOISを越える場
合に、(10A) 該切り出し検出位置iを二次検出初
期位置pとし、(10B) 二次検出初期位置pから配
列YLNG(x)の間隔Lが減少する方向へ順に、各列位
置x毎に配列YLNG(x)による間隔Lと切り出し間隔
しきい値YLNOISを比較し、(10C) YLNG(x)が
切り出し間隔しきい値YLNOIS以下となった列位置p´
に、切り出し検出位置iを変更したことを特徴とする請
求項3又は8記載の光学式文字認識における文字切り出
し方法。 - 【請求項11】 二次検出初期位置pから配列Y
LNG(x)の間隔Lが減少する方向へ順に、各列位置x
毎に配列YLNG(x)による間隔Lと切り出し間隔しき
い値YLNOISを比較し、YLNG(x)の極小値を超えても
間隔Lが切り出し間隔しきい値YLNOIS以下とならない
場合に、既に記憶した仮切り出し位置ibを全て無効と
し、基準ピッチ幅PITCHを変更して新たな切り出し
検出位置iを設定し直したことを特徴とする請求項10
記載の光学式文字認識における文字切り出し方法。 - 【請求項12】 一方向に配列された文字列を光学的に
読み取り、文字列のイメージと対応する2値データから
なる読み取りデータとし、辞書データと比較するために
メモリーに記憶された読み取りデータから1文字毎の読
み取りデータを切り出す光学式文字認識における文字切
り出し方法であって、(12A) メモリーにおける文
字列領域に相当する読み取りデータの開始列MJSTと
終了列MJEDと開始行LNSTと終了行LNEDをそ
れぞれ検出し、(12B) 各列位置x毎に開始行LN
STから終了行LNEDまで黒画素に相当するデータ数
を集計し、開始列MJST列から終了列MJEDまでの
配列YSUM(x)とし、(12C) 配列YSUM(x)に
おいて、データ数が1以上で連続するマーク幅w1、w2
・・wnを検出し、(12D) マーク幅w1、w2・・
wnの内、限界文字幅wP未満で最大幅のマーク幅wMAX
を基準ピッチ幅PITCHとし、(12E) 配列Y
SUM(x)において、マーク幅wMAXの一端の列位置xと
その前後q個の列位置xを(2q+1)列の検出列位置
群Iとし、(12F) 検出列位置群Iの各列位置xで
のデータ数を配列YSUM(x)で比較し、最小となる列
位置を切り出し検出位置i、その最小値をY
SUMMINI(i)とし、(12G) 最小値Y
SUMMINI(i)が、切り出ししきい値YSNOIS以下である
場合に該切り出し検出位置iを仮切り出し位置ibとし
て記憶し、(12H) 前記切り出し検出位置iからマ
ーク幅wMAXと反対方向にピッチ幅PITCH離れた列
位置xとその前後q個の列位置xを新たな検出列位置群
Iとし、(12I) 前記(12F)(12G)(12
H)を繰り返し、新たな検出列位置群Iが開始列MJS
T若しくは終了列MJEDを限界折り返し幅MJLIM以
上越えるときに、マーク幅wMAXの他端の列位置xとそ
の前後q個の列位置を新たな検出列位置群Iとして、前
記前記(12F)(12G)(12H)を繰り返し、
(12J) 新たな検出列位置群Iが開始列MJST若
しくは終了列MJEDを限界折り返し幅MJLIM以上越
えるときに、全ての仮切り出し位置ibを文字切り出し
位置xbとしたことを特徴とする光学式文字認識におけ
る文字切り出し方法。 - 【請求項13】 配列YSUM(x)において、いずれの
マーク幅w1、w2・・wnも限界文字幅wPを越える場合
に、(13A) 各列位置x毎に開始行LNSTから終
了行LNEDまで黒画素に相当するデータを検出してそ
のデータの始点行と終点行との間隔Lを求め、開始列M
JST列から終了列MJEDまでの配列YLNG(x)と
し、(13B) 配列YLNG(x)において、間隔Lが
間隔しきい値LP以上で連続する疑似マーク幅w´1、w
´2・・w´mを検出し、(13C) 疑似マーク幅w´
1、w´2・・w´mの内、限界文字幅wP未満で最大幅の
マーク幅w´MAXを基準ピッチ幅PITCHとし、(1
3D) 配列YLNG(x)において、疑似マーク幅w´
MAXの一端の列位置xとその前後q個の列位置xを(2
q+1)列の検出列位置群Iとし、(13E) 検出列
位置群Iの各列位置での間隔Lを配列YLNG(x)で比
較し、最小となる列位置を切り出し検出位置i、その間
隔最小値をYLNGMINI(i)とし、(13F) 間隔最
小値YLNGMINI(i)が、切り出し間隔しきい値YLNOIS
以下である場合に該切り出し検出位置iを仮切り出し位
置ibとして記憶し、(13G) 前記位置iからマー
ク幅wMAXと反対方向にピッチ幅PITCH離れた列位
置xとその前後q個の列位置xを新たな検出列位置群I
とし、(13H) 前記(13E)(13F)(13
G)を繰り返し、新たな検出列位置群Iが開始列MJS
T若しくは終了列MJEDを限界折り返し幅MJLIM以
上越えるときに、疑似マーク幅w´MAXの他端の列位置
xとその前後q個の列位置xを新たな検出列位置群Iと
して、前記前記(13E)(13F)(13G)を繰り
返し、(13I) 新たな検出列位置群Iが開始列MJ
ST若しくは終了列MJEDを限界折り返し幅MJLIM
以上越えるときに、全ての仮切り出し位置ibを文字切
り出し位置xbとしたことを特徴とする請求項12記載
の光学式文字認識における文字切り出し方法。 - 【請求項14】 (14A) マーク幅w1、w2・・w
nの内、限界文字幅wP以上の幅を有するマーク幅wUを
検出し、(14B) マーク幅wUが存在する各列位置
xに癒着フラッグUを表し、開始列MJSTから終了列
MJEDまでの配列YFLG(x)とし、(14C) 各
列位置x毎に開始行LNSTから終了行LNEDまで黒
画素に相当するデータを検出してそのデータの始点行と
終点行との間隔Lを求め、開始列MJST列から終了列
MJEDまでの配列YLNG(x)とし、(14D) 検
出列位置群Iの中央の列位置ICにおいて、配列Y
FLG(IC)が癒着フラッグUを示す場合に、検出列位置
群Iの各列位置xでの間隔Lを配列YLNG(x)で比較
し、間隔Lが最小となる列位置を切り出し検出位置
iL、その間隔最小値をYLNGMINI(iL)とし、(14
E) 間隔最小値YLNGMINI(i)が、切り出し間隔し
きい値YLNOIS以下である場合に、前記切り出し検出位
置iLを検出列位置群Iの切り出し検出位置iとみな
し、その切り出し検出位置iLにおいて最小値YSUMMINI
(i)が切り出ししきい値YSNOIS以下であるとみなす
ことを特徴とする請求項12記載の光学式文字認識にお
ける文字切り出し方法。 - 【請求項15】 YSUMMINI(i)が、切り出ししきい
値YSNOISを越えた場合に、既に記憶した仮切り出し位
置ibを全て無効とし、基準ピッチ幅PITCHを変更
して新たな検出列位置群Iを設定し直したことを特徴と
する請求項12又は14記載の光学式文字認識における
文字切り出し方法。 - 【請求項16】 検出列位置群Iにおける切り出し検出
位置iのデータ数YSUMMINI(i)が、切り出ししきい
値YSNOISを越える場合に、(16A) 該検出列位置
群Iを二次検出初期位置群Pとし、(16B) 検出初
期位置群Pから(2q+1)列毎に区分した二次検出列
位置群I´を設定し、(16C) 二次検出列位置群I
´の各列位置xでのデータ数を配列YSUM(x)で比較
し、最小となる列位置を二次切り出し検出位置i´、そ
の最小値をYSUMMINI(i´)とし、(16D) 検出
初期位置群Pから各二次検出列位置群I´の最小値Y
SUMMINI(i´)が減少する方向へ順に、各二次検出列
位置群I´毎に最小値YSUMMINI(i´)と切り出しし
きい値YSNOISを比較し、(16E) YSUMMINI(i
´)が切り出ししきい値YSNOIS以下となった二次切り
出し検出位置i´に、切り出し検出位置iを変更したこ
とを特徴とする請求項12又は14記載の光学式文字認
識における文字切り出し方法。 - 【請求項17】 検出初期位置群Pからデータ数Y
SUMMINI(i´)が減少する二次検出列位置群I´の方
向へ順に、各二次検出列位置群I´毎にデータ数Y
SUMMINI(i´)と切り出ししきい値YSNOISを比較し、
YSUMMINI(i´)の極小値を超えてもデータ数Y
SUMMINI(i´)が切り出ししきい値YSNOIS以下となな
らない場合に、既に記憶した仮切り出し位置ibを全て
無効とし、基準ピッチ幅PITCHを変更して新たな検
出列位置群Iを設定し直したことを特徴とする請求項1
6記載の光学式文字認識における文字切り出し方法。 - 【請求項18】 一方向に配列された文字列を光学的に
読み取り、文字列のイメージと対応する2値データから
なる読み取りデータとし、辞書データと比較するために
メモリーに記憶された読み取りデータから1文字毎の読
み取りデータを切り出す光学式文字認識における文字切
り出し方法であって、(18A) メモリーにおける文
字列領域に相当する読み取りデータの開始列MJSTと
終了列MJEDと開始行LNSTと終了行LNEDをそ
れぞれ検出し、(18B) 各列位置x毎に開始行LN
STから終了行LNEDまで黒画素に相当するデータを
検出してそのデータの始点行と終点行との間隔Lを求
め、開始列MJST列から終了列MJEDまでの配列Y
LNG(x)とし、(18C) 配列YLNG(x)におい
て、間隔Lが間隔しきい値LP以上で連続する疑似マー
ク幅w´1、w´2・・w´mを検出し、(18D) 疑
似マーク幅w´1、w´2・・w´mの内、限界文字幅wP
未満で最大幅のマーク幅w´MAXを基準ピッチ幅PIT
CHとし、(18E) 配列YLNG(x)において、疑
似マーク幅w´MAXの一端の列位置xとxの前後q個の
列位置を(2q+1)列の検出列位置群Iとし、(18
F) 検出列位置群Iの各列位置での間隔Lを配列Y
LNG(x)で比較し、最小となる列位置を切り出し検出
位置i、その間隔最小値をYLNGMINI(i)とし、(1
8G) YLNGMINI(i)が、切り出し間隔しきい値Y
LNOIS以下である場合に該切り出し検出位置iを仮切り
出し位置ibとして記憶し、(18H) 前記切り出し
検出位置iからマーク幅w´MAXと反対方向にピッチ幅
PITCH離れた列位置xとその前後q個の列位置xを
新たな検出列位置群Iとし、(18I) 前記(18
F)(18G)(18H)を繰り返し、新たな検出列位
置群Iが開始列MJST若しくは終了列MJEDを限界
折り返し幅MJLIM以上越えるときに、疑似マーク幅w
´MAXの他端の列位置xとその前後q個の列位置xを新
たな検出列位置群Iとして、前記前記(18F)(18
G)(18H)を繰り返し、(18J) 新たな検出列
位置群Iが開始列MJST若しくは終了列MJEDを限
界折り返し幅MJLIM以上越えるときに、全ての仮切り
出し位置ibを文字切り出し位置xbとしたことを特徴と
する光学式文字認識における文字切り出し方法。 - 【請求項19】 YLNGMINI(i)が、切り出し間隔し
きい値YLNOISを越えた場合に、既に記憶した仮切り出
し位置ibを全て無効とし、基準ピッチ幅PITCHを
変更して新たな検出列位置群Iを設定し直したことを特
徴とする請求項13又は18記載の光学式文字認識にお
ける文字切り出し方法。 - 【請求項20】 検出列位置群Iにおける切り出し検出
位置iの間隔YLNGMINI(i)が、切り出し間隔しきい
値YLNOISを越える場合に、(20A) 該検出列位置
群Iを検出初期位置群Pとし、(20B) 検出初期位
置群Pから(2q+1)列毎に区分した二次検出列位置
群I´を設定し、(20C) 二次検出列位置群I´の
各列位置xでの間隔Lを配列YLNG(x)で比較し、最
小となる列位置を二次切り出し検出i´、その間隔最小
値をYLNGMINI(i´)とし、(20D) 検出初期位
置群Pから各二次検出列位置群I´の間隔最小値Y
LNGMINI(i´)が減少する方向へ順に、各二次検出列
位置群I´毎に間隔最小値YLNGMINI(i´)と切り出
し間隔しきい値YLNOISを比較し、(20E) Y
LNGMINI(i´)が切り出し間隔しきい値YLNOIS以下と
なった二次切り出し検出位置i´に、切り出し検出位置
iを変更したことを特徴とする請求項13又は18記載
の光学式文字認識における文字切り出し方法。 - 【請求項21】 検出初期位置群Pから間隔YLNGMINI
(i´)が減少する二次検出列位置群I´の方向へ順
に、各二次検出列位置群I´毎に間隔YLNGMINI(i
´)と切り出し間隔しきい値YLNOISを比較し、Y
LNGMINI(i´)の極小値を超えても間隔YLNGMINI(i
´)が切り出し間隔しきい値YLNOIS以下となならない
場合に、既に記憶した仮切り出し位置ibを全て無効と
し、基準ピッチ幅PITCHを変更して新たな検出列位
置群Iを設定し直したことを特徴とする請求項20記載
の光学式文字認識における文字切り出し方法。 - 【請求項22】 限界折り返し幅MJLIMをPITCH
÷2としたことを特徴とする請求項2乃至21のいずれ
か1項記載の光学式文字認識における文字切り出し方
法。 - 【請求項23】 基準ピッチ変更回数をC(Cは、1か
ら始まる正の整数)としたときに、変更した基準ピッチ
幅を、PITCH+(−1)C-1*Cとしたことを特徴
とする請求項5、7、9、11、15、17、19、2
1のいずれか1項記載の光学式文字認識における文字切
り出し方法。 - 【請求項24】 間隔しきい値LPを、開始行LNST
と終了行LNEDとの間隔LNNOとして、LNNO÷
2としたことを特徴とする請求項3、8乃至11、1
3、18乃至23のいずれか1項記載の光学式文字認識
における文字切り出し方法。 - 【請求項25】 限界文字幅wPを開始行LNSTと終
了行LNEDとの間隔LNNOとしたことを特徴とする
請求項2乃至24のいずれか1項記載の光学式文字認識
における文字切り出し方法。 - 【請求項26】 切り出ししきい値YSNOISを、2とし
たことを特徴とする請求項2、4乃至7、12、14乃
至17、22乃至25のいずれか1項記載の光学式文字
認識における文字切り出し方法。 - 【請求項27】 切り出し間隔しきい値YLNOISを開始
行LNSTと終了行LNEDとの間隔LNNOとして、
3LNNO÷4としたことを特徴とする請求項3、4、
8乃至11、13、14、18乃至21乃至25のいず
れか1項記載の光学式文字認識における文字切り出し方
法。 - 【請求項28】 qを0としたことを特徴とする請求項
12乃至27のいずれか1項記載の光学式文字認識にお
ける文字切り出し方法。 - 【請求項29】 (29A) 各列位置xから集計方向
Jに沿って開始行LNSTから終了行LNEDまで黒画
素に相当するデータ数を集計し、開始列MJST列から
終了列MJEDまでの配列YSUM J(x)とし、(29
B) 集計方向Jの平均勾配を異ならせて、それぞれの
集計方向J毎に前記(29C)の集計を繰り返し、(2
9D) それぞれの配列YSUM J(x)において、データ
数が1以上で連続するマーク幅wJの数nJを計数し(2
9E) マーク幅の数nJが最大となる集計方向JMAXを
真の集計方向とし、その集計方向JMAXで集計した配列
YSUM J(x)を配列YSUM(x)としたことを特徴とす
る請求項2乃至7、12乃至17、22乃至28のいず
れか1項記載の光学式文字認識における文字切り出し方
法。 - 【請求項30】 開始行LNSTと終了行LNEDとの
間隔をLNNOとしたときに、集計方向Jを各列位置x
からLNNO÷2J-1行分進む毎にその列位置xを1列
シフトさせ、Jを1から始まる正の整数として、集計方
向Jの平均勾配を異ならせたことを特徴とする請求項1
又は29記載の光学式文字認識における文字切り出し方
法。 - 【請求項31】 Jを1から3までの正の整数としたこ
とを特徴とする請求項30記載の光学式文字認識におけ
る文字切り出し方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7058212A JPH08235312A (ja) | 1995-02-23 | 1995-02-23 | 光学式文字認識における文字切り出し方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7058212A JPH08235312A (ja) | 1995-02-23 | 1995-02-23 | 光学式文字認識における文字切り出し方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH08235312A true JPH08235312A (ja) | 1996-09-13 |
Family
ID=13077754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7058212A Pending JPH08235312A (ja) | 1995-02-23 | 1995-02-23 | 光学式文字認識における文字切り出し方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH08235312A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6623377B2 (en) | 1999-11-01 | 2003-09-23 | Callaway Golf Company | Golf club striking plate with variable thickness |
CN100446027C (zh) * | 2004-05-20 | 2008-12-24 | 微软公司 | 用于照相机获得的文件的低分辨率光学字符识别 |
-
1995
- 1995-02-23 JP JP7058212A patent/JPH08235312A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6623377B2 (en) | 1999-11-01 | 2003-09-23 | Callaway Golf Company | Golf club striking plate with variable thickness |
CN100446027C (zh) * | 2004-05-20 | 2008-12-24 | 微软公司 | 用于照相机获得的文件的低分辨率光学字符识别 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0854434B1 (en) | Ruled line extracting apparatus for extracting ruled line from normal document image and method thereof | |
US4926492A (en) | Optical character reading apparatus and method | |
EP0138445B1 (en) | Method and apparatus for segmenting character images | |
US6327385B1 (en) | Character segmentation device and character segmentation system | |
EP0482187A1 (en) | Row-by-row segmentation and thresholding for optical character recognition (system and method) | |
JP2018055255A (ja) | 情報処理装置、情報処理方法及びプログラム | |
KR100315531B1 (ko) | 패턴추출장치 | |
US4797940A (en) | Optical character reader | |
KR20010015025A (ko) | 문자인식장치의 문자추출방법 및 장치 | |
JPH08235312A (ja) | 光学式文字認識における文字切り出し方法 | |
EP0717365B1 (en) | Linear line detection apparatus using projection image of character string including linear line | |
EP0144006B1 (en) | An improved method of character recognitionand apparatus therefor | |
US5369715A (en) | Optical character recognition system | |
JP3096481B2 (ja) | 帳票類の種類判別方法 | |
JP3730073B2 (ja) | テンプレート作成方法、装置、およびテンプレート作成プログラムを記録した記録媒体 | |
JPH11328309A (ja) | 光学的文字読み取り方法とその装置 | |
JP2917427B2 (ja) | 図面読取装置 | |
JP3022459B2 (ja) | 帳票識別登録装置 | |
JP2716291B2 (ja) | 用紙情報入力装置 | |
KR100241447B1 (ko) | 윤곽선 정보를 이용한 영문/숫자 인식방법 | |
JP3106080B2 (ja) | 画像処理装置及びその方法 | |
JP2510722B2 (ja) | 英文の大文字,小文字の判別方法 | |
JP2578768B2 (ja) | 画像処理方法 | |
JP3595081B2 (ja) | 文字認識方法 | |
JP3101073B2 (ja) | 文字認識の後処理方法 |