JP3798179B2 - Pattern extraction device and character segmentation device - Google Patents
Pattern extraction device and character segmentation device Download PDFInfo
- Publication number
- JP3798179B2 JP3798179B2 JP13453999A JP13453999A JP3798179B2 JP 3798179 B2 JP3798179 B2 JP 3798179B2 JP 13453999 A JP13453999 A JP 13453999A JP 13453999 A JP13453999 A JP 13453999A JP 3798179 B2 JP3798179 B2 JP 3798179B2
- Authority
- JP
- Japan
- Prior art keywords
- graph
- vertex
- pattern
- point
- adjacency matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Character Input (AREA)
- Character Discrimination (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【0001】
【発明の属する技術分野】
本発明はパターン抽出装置及び文字切り出し装置に関し、特に、接触文字の接触箇所を検出する場合に適用して好適なものである。
【0002】
【従来の技術】
従来の文字同士の接触位置の検出方法として、黒画素数ヒストグラムを用いる方法があった。この方法では、文字列の方向と垂直方向の黒画素数をカウントすることにより、黒画素数ヒストグラムを求め、その黒画素数ヒストグラムの極小点を文字同士の接触位置の候補とするものである。
【0003】
図18は、従来の文字同士の接触位置の検出方法を示す図である。
図18(a)において、「印旛郡白井町」と手書きで書かれた文字パターンが入力され、「郡」という文字と「白」という文字とがE4の位置で接触しているものとする。
【0004】
ここで、図18(a)のパターンの接触位置を判定する場合、図18(b)に示すように、図18(a)のパターンの黒画素数ヒストグラムを求める。そして、その黒画素数ヒストグラムの極小点K1〜K5を接触箇所の候補とするようにしていた。
【0005】
【発明が解決しようとする課題】
しかしながら、従来の黒画素数ヒストグラムを用いる方法では、文字が傾いていたり、接触部分に別の文字線分が重なったり、横書きの場合の縦文字線分同士が接触したりしている場合、接触箇所に対応する黒画素数ヒストグラム値が極小とならない場合が発生し、接触箇所を検出することができないという問題があった。
【0006】
例えば、図18(a)の接触箇所E4に対応する黒画素数ヒストグラム値は、図18(b)のE4’の点に対応し、E4’の点は極小点ではないので、図18(a)の接触箇所E4は接触箇所の候補から落とされる。この結果、図18(a)のパターンを接触箇所E4の位置で切断することができなくなり、文字認識の精度が悪化する。
【0007】
そこで、本発明の目的は、パターンの接触箇所の検出精度を向上させることが可能なパターン抽出装置及び文字切り出し装置を提供することである。
【0008】
【課題を解決するための手段】
上述した課題を解決するために、本発明によれば、パターンから抽出された特徴点の接続関係に基づいて、パターンの接触箇所を判別するようにしている。
【0009】
このことにより、文字同士が接触した時の連結状態を考慮して文字の接触箇所を判別することが可能となり、接触箇所を判別する際の文字の傾きの影響を除去することが可能となることから、パターンの接触箇所が黒画素数ヒストグラムの極小点に対応しない場合においても、パターンの接触箇所を効率よく見つけ出すことが可能となり、文字領域の切り出し精度を向上させることが可能となる。
【0010】
また、本発明の一態様によれば、パターンの端点、交点、分岐点または屈曲点を検出し、これらの点から文字同士の接触点を見つけるようにしている。
このことにより、文字同士が接触した場合、その接触点は、通常、端点、交点、または屈曲点になるので、文字同士の接触点の候補を効率よく見つけることが可能となる。
【0011】
また、本発明の一態様によれば、パターンの特徴点の位置でパターンを切断した場合、文字の配列方向にパターンが分離されないものを、文字同士の接触点の候補から除くようにしている。
【0012】
このことにより、文字の接触方向とは異なる方向にパターンが切断される切断箇所を文字同士の接触点の候補から除くことが可能となり、文字同士の接触点とはならない切断箇所を文字同士の接触点の候補として考慮する必要がなくなることから、文字同士の接触点を効率よく見つけることが可能となる。
【0013】
また、本発明の一態様によれば、パターンの接続関係を、パターンの特徴点を頂点とし、前記頂点で挟まれた線分を辺とするグラフで表現するようにしている。
【0014】
このことにより、パターンの接続情報のみを画像データから抽出することが可能となり、パターンの接続関係を効率的に評価することが可能となることから、文字同士の接触点を効率よく見つけることが可能となる。
【0015】
また、本発明の一態様によれば、パターンの接続関係を頂点隣接行列で表し、頂点隣接行列の対角化ブロック数をカウントすることにより、グラフの連結成分数を求めるようにしている。
【0016】
このことにより、グラフの連結成分数を効率よく求めることが可能となり、パターンを特徴点で切断した際に、パターンが分離するかどうかを容易に調べることが可能となることから、文字同士の接触点を効率よく見つけることが可能となる。
【0017】
また、本発明の一態様によれば、グラフの辺の除去を行った時の前記グラフの連結成分数の変化に基づいて、接触文字の切断箇所を検出するようにしている。
このことにより、パターンの連結成分数を求める場合に、情報量の多い画像データから直接求める必要がなくなり、画像データと比べて情報量の少ないグラフデータから連結成分数を求めることが可能となることから、点接触の場合の接触位置を高速に検出することが可能となる。
【0018】
また、本発明の一態様によれば、第1の線分に接触している第2の線分の端点が検出された場合、前記第1の線分方向の黒画素ランレングスが急激に減少する箇所で、パターンを切断するようにしている。
【0019】
このことにより、グラフ上の頂点で特定された接触箇所から実際のパターンの切断箇所を求めることが可能となり、点接触前のパターンの形状を再現可能な位置で、接触パターンを切断することが可能となる。
【0020】
また、本発明の一態様によれば、グラフの辺及びその辺の両端の特徴点の二重化を行った時の前記グラフの連結成分数の変化に基づいて、接触文字の切断箇所を検出するようにしている。
【0021】
このことにより、パターンの連結成分数を求める場合に、情報量の多い画像データから直接求める必要がなくなり、画像データと比べて情報量の少ないグラフデータから連結成分数を求めることが可能となることから、辺接触の場合の接触位置を高速に検出することが可能となる。
【0022】
また、本発明の一態様によれば、辺同士の重なりが検出された場合、その辺を垂直方向に二等分した位置で、パターンを切断するようにしている。
このことにより、グラフ上の辺で特定された接触箇所から実際のパターンの切断箇所を求めることが可能となり、辺接触前のパターンの形状を再現可能な位置で、パターンを切断することが可能となる。
【0023】
また、本発明の一態様によれば、1つの接触位置に対して、接触位置を示す候補点が複数得られた場合、それらの候補点で切断したパターンの文字認識結果に基づいて、それらの候補点が接触点かどうかを判別するようにしている。
【0024】
ここで、接触位置でない点で文字パターンを切断した場合は、文字でないパターンが切り出され、そのパターンの文字との相違度は高くなり、接触位置で文字パターンを切断した場合は、文字パターンが切り出され、その文字パターンの文字との相違度は低くなる。このため、接触位置でない点が接触位置を示す候補点として検出された場合においても、その候補点を接触点から除外することが可能となり、文字の接触箇所を精度よく見つけ出すことが可能となる。
【0025】
また、本発明の一態様によれば、切断されたパターンを他のパターンと組み合わせることにより複数の文字候補のパターンを切り出す。そして、それらのパターンと文字との相違度の合計が最も低くなる組み合わせに基づいて、パターンの接触箇所を判定する。
【0026】
このことにより、相違度の低い文字の切り出し位置が検出された場合においても、それ以外の領域に残っているパターンの文字との相違度が高い場合には、その切り出し位置を文字同士の接触箇所でないと判断することが可能となり、文字列のパターンから相違度の低い文字の切り出し位置の候補が複数得られた場合においても、それらの候補を絞り込むことが可能となり、文字同士の接触箇所の検出精度を向上させることが可能となる。
【0027】
【発明の実施の形態】
以下、本発明の一実施例に係わるパターン抽出装置について図面を参照しながら説明する。図1は、本発明の一実施例に係わるパターン抽出装置の構成を示すブロック図である。
【0028】
図1において、特徴点検出手段1は、パターンの特徴点を検出する。ここで、特徴点は、パターンの端点、交点、または屈曲点とすることができる。接続関係判別手段2は、特徴点検出手段1により検出された特徴点の接続関係を判別する。接触箇所判別手段3は、接続関係判別手段2により判別された接続関係に基づいて、パターンの接触箇所を判別する。ここで、パターンを構成する線分の接続関係は、パターンが傾いてもそのまま保存される。また、文字同士が接触した場合、その接触箇所には、パターンの交点、分岐点または屈曲点が形成される。このため、パターンの特徴点の接続関係を調べることにより、パターンが傾いている場合においても、文字同士の接触箇所を精度よく検出することが可能となる。
パターンから抽出された特徴点が文字同士の接触箇所であるかどうか調べる場合、その特徴点の位置でパターンを切り離した時に、パターンが2つに分離するかどうかにより判断する。
【0029】
ここで、画像データの情報量は膨大であり、画像データそのものを直接処理して、パターンの連結成分数を調べると、時間がかかる。そこで、接触箇所判別手段3は、特徴点の接続関係をグラフで表現するようにしてもよい。そして、グラフの辺や頂点を操作した時にグラフの連結成分数が変化するかどうかを調べることより、パターンの接触箇所を判別するようにしてもよい。このことにより、パターンの特徴点の接続関係を表すために必要な情報のみを画像データから抽出して、パターンの特徴点の接続関係を調べることが可能となり、処理時間を短縮することができる。
【0030】
また、接触箇所判別手段3は、特徴点の接続関係を表すグラフを頂点隣接行列で表現するようにしてもよい。そして、グラフの辺や頂点の操作する前と後で頂点隣接行列の対角化ブロック数が変化するかどうかを調べることより、パターンの接触箇所を判別するようにしてもよい。
【0031】
図2は、本発明の一実施例に係わる文字認識装置の構成を示すブロック図である。なお、以下の実施例では、文字が横書きで記入されている場合について説明するが、文字が縦書きで記入されている場合についても、行を列に置き換えることにより、同様に処理することができる。
【0032】
図2において、OCR(光学的文字認識装置)11は、手書き文字が記入された帳票や文書を読み込み、手書き文字の認識結果を出力する。観測部12は、CCDやスキャナなどによって手書き文字が記入された帳票や文書を取り込み、取り込んだ画像データを白黒の二値化データに変換する。文字列抽出部13は、画像データのパターンを1行ごとに切り出し、文字列を抽出する。接触文字判定部14は、各行画像中のパターンのラベリングを行うことにより、各行画像中のパターンの連結成分を抽出する。そして、連結成分の外接矩形のサイズや縦横比などを調べることにより、文字どうしが接触しているパターンかどうかを判定する。例えば、連結成分の外接矩形の横方向の長さが縦方向の長さよりも所定値以上長い場合、その連結成分は、文字どうしが接触しているパターンであると判定する。
【0033】
接触候補箇所決定・切断部15は、接触文字判定部14で接触文字と判定されたパターンに対し、切断候補箇所を決定する。ここで、接触候補箇所決定・切断部15は、切断候補箇所を決定する場合、文字列の黒画素数ヒストグラムの極小点を切断候補箇所に決定するのではなく、接触文字と判定されたパターンを構成する線分の接続関係を調べ、その線分の接続点を切断候補箇所に決定する。このことにより、文字が傾いていたり、接触部分に別の文字線分が重なったり、文字の線分同士が接触したりしているために、文字の接触箇所で黒画素数ヒストグラムが極小にならない場合においても、文字の接触箇所を精度よく識別することができる。ここで、パターンの接続点を効率よく見つけるため、パターンの接続関係をグラフで表現したり、頂点隣接行列を用いたりすることができる。
【0034】
切断候補箇所が決まると、接触文字と判定されたパターンを切断候補箇所で切断することにより、部分パターンを生成する。候補文字ラティス生成部16は、二端子有向グラフの最短経路問題におけるダイクストラの手法(以下、候補文字ラティス法と称す。)により、候補文字二端子有向グラフ(以下、候補文字ラティスと称す。)を生成する。すなわち、接触候補箇所決定・切断部15により切断された部分パターンと行画像中の他のパターンの連結成分との可能な組み合せによる統合パターンを生成する。そして、その統合パターン、あるいは、統合前の単独パターンに対し、認識辞書部17に登録されている文字種との比較を行い、第N位までの候補文字種及び相違度または類似度を求める。候補文字種及び相違度または類似度が求まると、候補文字ラティスを生成し、1文字領域と認識の第1次候補を決定する。
【0035】
言語処理部18は、知識辞書部19を使って、認識の第1次候補をチェックし、第1次候補に文法的に間違いがあれば、第1次候補を下位の候補に置き換える。そして、文法的に間違いのない候補が得られると、その候補を文字認識結果として決定するとともに、その候補の位置を1文字領域と決定する。
【0036】
図3は、図2の接触候補箇所決定・切断部15の処理を示すフローチャートである。
図3において、接触候補箇所決定・切断部15は、接触文字判定部14により抽出された接触パターンの細線化を行う(ステップS1)。ここで、細線化は、接触パターンから端点、交点、または屈曲点を求める場合に、これらの点を求めやすくするために行う。従って、細線化は、元のパターンに含まれる端点、交点、または屈曲点が保存されるように行う。
【0037】
図4は、本発明の一実施例に係わる細線化パターンの具体例を示す図である。図4(a)において、E1の点で接触している「静岡」というパターンを細線化することにより、E1’の点で接触している図4(b)の細線化パターンを得ることができる。
【0038】
細線化パターンが得られると、その細線化パターンから端点、交点、及び屈曲点を抽出し、これらの点をグラフの頂点とする(ステップS2)。すなわち、端点を1次の頂点、3本、4本の線分が交わる交点をそれぞれ、3次、4次の頂点とする。2次の頂点は、各辺における屈曲点とする。
【0039】
図5は、次数2の頂点の決定方法を説明する図である。
図5において、2つの頂点に挟まれた辺上の着目点P0とその前後のサンプル点P1,P2を考え、P1を始点、P0を終点とするベクトルをd1 、P0を始点、P2を終点とするベクトルをd2 とした時、ベクトルd1 、d2 の成す角θを以下の式で求める。
【0040】
θ=cos-1(d1 ・d2 /|d1 |・|d2 |)
ここで、|d1 |、|d2 |はそれぞれ、ベクトルd1 、d2 の大きさである。角度θが、しきい値θthより大きい場合、すなわち、θ>θthの場合、P0を次数2の頂点とする。
【0041】
グラフの頂点が求まると、輪郭追跡の手法で細線化パターンを探索することにより、細線化パターンから抽出された端点、交点、及び屈曲点の接続関係を求め、頂点間の隣接関係を求める(ステップS3)。そして、頂点の隣接関係が求まると、それらの頂点を辺で接続したグラフを生成する。
【0042】
図6(a)は、点接触したパターンの具体例を示す図、図6(b)は、図6(a)のパターンをグラフ化した例を示す図である。
図6(a)において、E2の位置で点接触している「上山」というパターンが接触文字判定部14により抽出された場合、このパターンを細線化し、細線化パターンの探索を行いながら、細線化パターンの探索方向を調べる。そして、探索時に、探索方向が所定の角度以上変化した場合、その点をグラフの2次の頂点とし、探索時に、探索方向が2つに枝分かれした場合、その点をグラフの3次の頂点とし、探索時に、探索方向が3つに枝分かれした場合、その点をグラフの4次の頂点とする。
【0043】
以上の処理により、図6(a)のパターンからV0〜V11の頂点が検出され、これらの頂点を辺e0〜e10で接続した図6(b)のグラフG1を生成することができる。
【0044】
接触候補箇所決定・切断部15は、文字接触パターンに対応したグラフを生成すると、そのグラフに対応した頂点隣接行列を求める(ステップS4)。頂点隣接行列は、グラフの各頂点に対応する行成分及び列成分を有する。そして、頂点間が1辺で連結している場合、その2つの頂点で特定される行列成分は1の値をとり、頂点間が連結していない場合、その2つの頂点で特定される行列成分は0の値をとる性質を持つ。
【0045】
図7(a)は、図6(b)のグラフの頂点隣接行列を示す図である。
図7(a)において、行及び列の各成分は、グラフG1の頂点V0〜V11にそれぞれ対応している。ここで、図6(b)のグラフG1において、2つの頂点V0〜V11を接続する辺e0〜e10がある場合、その2つの頂点V0〜V11で特定される行列成分は1、2つの頂点V0〜V11を接続する辺e0〜e10がない場合、その2つの頂点V0〜V11で特定される行列成分は0となる。例えば、図6(b)のグラフG1において、頂点V3、V4は辺e3で接続されているので、頂点V3、V4で特定される行列成分(4行5列目の成分及び5行4列目の成分)は、1となっている。また、図6(b)のグラフG1において、頂点V2、V5は辺e0〜e10で接続されていないので、頂点V2、V5で特定される行列成分(3行6列目の成分及び6行3列目の成分)は、0となっている。
【0046】
頂点隣接行列が求まると、頂点隣接行列の行または列を入れ替えることにより、頂点隣接行列のブロック対角化を行う。そして、ブロック対角化後の頂点隣接行列に含まれる対角化ブロック数をカウントする(ステップS5)。ブロック対角化後の頂点隣接行列に含まれる対角化ブロック数は、グラフの連結成分数に対応しており、ブロック対角化後の頂点隣接行列に含まれる対角化ブロック数をカウントすることにより、グラフの連結成分数を求めることができる。
【0047】
次に、点接触箇所候補の導出を行う(ステップS6)。この点接触箇所候補の導出では、グラフの辺を1つずつ除去し、辺の除去によりグラフが2つに分離する場合、例えば、辺を除去する前のグラフの連結成分が1であるとすると、辺を除去した後のグラフの連結成分が2に増加する場合、その辺の両端の頂点を点接触の切断箇所の候補とする。
【0048】
ここで、辺を除去した後のグラフに対応する頂点隣接行列を、辺を除去する前のグラフに対応する頂点隣接行列から求め、頂点隣接行列の行または列を入れ替えることにより、頂点隣接行列のブロック対角化を行う。そして、辺を除去する前のグラフに対応する頂点隣接行列の対角化ブロック数と、辺を除去した後のグラフに対応する頂点隣接行列の対角化ブロック数との差分が1となるかどうかを調べることにより、グラフが2つに分離するかどうかを判別することができる。
図6(c)は、図6(b)のグラフから辺を除去した場合にグラフの連結成分数が増加する例を示す図である。
【0049】
図6(c)において、図6(b)のグラフG1から辺e4を除去した場合、頂点V0〜V4からなるグラフG2と、頂点V5〜V11からなるグラフG3とに分離する。この場合、辺e4の両端の頂点V4、V6を点接触の切断箇所の候補とする。このことにより、図6(a)の接触パターンの接触点E2を切断箇所の候補として検出することが可能となる。
【0050】
図6(b)のグラフG1から辺e0〜e10を1つずつ除去し、グラフG1が2つに分離するかどうかを調べることにより、点接触による切断箇所の候補として、6つの頂点V1、V4、V6、V7、V9、V11が検出される。なお、この段階では、接触点E2に対応する頂点V6の他に、文字自体に含まれる交点や屈曲点に対応する頂点V1、V4、V7、V9、V11も検出される。
【0051】
図7(b)は、図6(c)のグラフG2、G3の頂点隣接行列を示す図である。
図7(b)において、図7(a)の頂点隣接行列から図7(b)の頂点隣接行列を求める場合、図6(b)のグラフG1から除去された辺の両端の頂点に対応する行列成分を0にする。例えば、図6(b)のグラフG1から辺e4を除去することにより、図6(c)のグラフG2、G3が生成されたものとする。この場合、辺e4の両端の頂点はV4及びV6であるので、図7(a)の頂点隣接行列の頂点V4、V6で特定される成分、すなわち、(5、7)成分及び(7、5)成分を0にする。この結果、図7(b)の頂点隣接行列が得られる。
【0052】
図7(b)の頂点隣接行列は、2つの正方行列A1、A2が対角斜め方向に配置されており、2つの正方行列A1、A2の直和の形で表現できる。ここで、頂点隣接行列のブロック対角化により得られる対角化ブロック数(対角斜め方向に配置される正方行列の個数)は、その頂点隣接行列に対応するグラフの連結成分数を表している。このため、頂点隣接行列を用いることにより、グラフから辺を除去した時に、グラフが2つに分離するかどうかを判定することができ、その時の辺の両端の頂点を点接触の切断箇所の候補とすることができる。
【0053】
図8は、頂点隣接行列から接触点の候補を求める方法を示すフローチャートである。なお、図8のフローチャートでは、文字同士が複数の箇所で接触するのは、通常2点程度であるので、2点接触まで求める処理を示した。
【0054】
図8において、グラフの頂点から2個選び、その頂点に対応する頂点隣接行列のj行k列成分が1かどうかを判定する(ステップS21)。そして、頂点隣接行列のj行k列成分が1の場合、j行k列成分及びk行j列成分を0にする(ステップS22)。次に、j行k列成分及びk行j列成分を0にした頂点隣接行列の行または列を入れ替えることにより、j行k列成分及びk行j列成分を0にした頂点隣接行列のブロック対角化を行い、ブロック対角化後の対角化ブロック数をカウントする(ステップS23)。
【0055】
次に、j行k列成分及びk行j列成分を0にする前の頂点隣接行列の対角化ブロック数と、j行k列成分及びk行j列成分を0にした後の頂点隣接行列の対角化ブロック数とを比較し(ステップS24)、j行k列成分及びk行j列成分を0にした後の頂点隣接行列の対角化ブロック数が、j行k列成分及びk行j列成分を0にする前の頂点隣接行列の対角化ブロック数より1だけ増加した場合、頂点jと頂点kとを1点接触の切断箇所の候補とする(ステップS25)。以上の処理を頂点隣接行列のj行k列の全ての成分について繰り返す。
【0056】
次に、一点接触の切断箇所の候補を除いたグラフの頂点から4個選び、その頂点に対応する頂点隣接行列のj行k列成分及びm行n列成分が1かどうかを判定する(ステップS26)。そして、頂点隣接行列のj行k列成分及びm行n列成分が1の場合、j行k列成分及びk行j列成分を0にするとともに、m行n列成分及びn行m列成分を0にする(ステップS27)。次に、これらの4つの成分を0にした頂点隣接行列の行または列を入れ替えることにより、これらの4つの成分を0にした頂点隣接行列のブロック対角化を行い、ブロック対角化後の対角化ブロック数をカウントする(ステップS28)。
【0057】
次に、これらの4つの成分を0にする前の頂点隣接行列の対角化ブロック数と、これらの4つの成分を0にした後の頂点隣接行列の対角化ブロック数とを比較し(ステップS29)、これらの4つの成分を0にした後の頂点隣接行列の対角化ブロック数が、これらの4つの成分を0にする前の頂点隣接行列の対角化ブロック数より1だけ増加した場合、頂点j、頂点k、頂点m、頂点nを2点接触の切断箇所の候補とする(ステップS30)。以上の処理を頂点隣接行列のj行k列及びm行n列の全ての成分の組み合わせについて繰り返す。
【0058】
次に、辺接触候補箇所の導出を行う(ステップS7)。この辺接触候補箇所の導出では、グラフの1辺とその辺の両端に接続する2頂点を二重化し、二重化によりグラフが2つに分離する場合、例えば、二重化する前のグラフの連結成分が1であるとすると、二重化した後のグラフの連結成分が2に増加する場合、その辺を辺接触の切断箇所の候補とする。
【0059】
ここで、辺及びその辺の両端に接続する2頂点を二重化した後のグラフに対応する頂点隣接行列を、辺及びその辺の両端に接続する2頂点を二重化する前のグラフに対応する頂点隣接行列から求め、頂点隣接行列の行または列を入れ替えることにより、頂点隣接行列のブロック対角化を行う。そして、二重化する前のグラフに対応する頂点隣接行列の対角化ブロック数と、二重化した後のグラフに対応する頂点隣接行列の対角化ブロック数との差分が1となるかどうかを調べることにより、グラフが2つに分離するかどうかを判別してもよい。
【0060】
図9(a)は、辺接触したパターンの具体例を示す図、図9(b)は、図9(a)のパターンをグラフ化した例を示す図、図9(c)は、図9(b)のグラフの辺及びその辺の端点の二重化を行った場合にグラフの連結成分数が増加する例を示す図である。
【0061】
図9(a)において、E3の位置で辺接触している「山口」というパターンが接触文字判定部14により抽出された場合、このパターンを細線化し、細線化パターンの探索を行いながら、細線化パターンの探索方向を調べる。そして、探索時に、探索方向が所定の角度以上変化した場合、その点をグラフの2次の頂点とし、探索時に、探索方向が2つに枝分かれした場合、その点をグラフの3次の頂点とし、探索時に、探索方向が3つに枝分かれした場合、その点をグラフの4次の頂点とする。
【0062】
以上の処理により、図9(a)のパターンからV0〜V7の頂点が検出され、これらの頂点を辺e0〜e7で接続した図9(b)のグラフG11を生成することができる。
【0063】
次に、図9(b)のグラフG11において、例えば、辺e4及びその辺e4の両端の頂点V4、V5を二重化することにより、辺e4’及びその辺e4’の両端に接続する頂点V4’、V5’を生成する。ここで、二重化を行う場合、頂点V4、V5と他の頂点V0〜V3、V6、V7との接続関係を調べる。そして、頂点V4、V5については、頂点V4、V5と左方向に隣接する頂点との接続関係のみを付与し、頂点V4’、V5’については、頂点V4、V5と右方向に隣接する頂点との接続関係のみを付与する。
【0064】
例えば、頂点V4に隣接している頂点として、頂点V6が検出されると、頂点V6の頂点V4に対する隣接方向を調べる。この結果、頂点V6が頂点V4に対して右方向に隣接していると判別されると、グラフG12の頂点V4から頂点V6を切り離し、その頂点V6をグラフG13の頂点V4’に接続する。また、頂点V5に隣接している頂点として、頂点V3、V7が検出されると、頂点V3、V7の頂点V5に対する隣接方向を調べる。この結果、頂点V3は頂点V5に対して左方向に隣接していると判別されると、グラフG13の頂点V5’から頂点V3を切り離し、その頂点V3をグラフG12の頂点V5に接続する。また、頂点V7は頂点V5に対して右方向に隣接していると判別されると、グラフG12の頂点V5から頂点V7を切り離し、その頂点V7をグラフG13の頂点V5’に接続する。
【0065】
この結果、図9(c)に示すように、頂点V0〜V5からなるグラフG12と、頂点V4’、V5’、V6、V7からなるグラフG13とに分離する。この場合、辺e4を辺点接触の切断箇所の候補とする。このことにより、図9(a)の接触パターンの接触辺E3を切断箇所の候補として検出することが可能となる。
図9(b)のグラフにおいて、辺e0〜e7を1つずつ二重化し、グラフが2つに分離するかどうかを調べることにより、辺接触による切断箇所の候補として、2つの辺e0、e4を検出することができる。なお、この段階では、接触箇所E3に対応する辺e4の他に、文字自体を構成する線分に対応する辺e0も検出される。
【0066】
図10(a)は、図9(b)のグラフの頂点隣接行列を示す図、図10(b)は、図9(c)のグラフの頂点隣接行列を示す図である。
図10(a)において、行及び列の各成分は、グラフの頂点V0〜V7にそれぞれ対応している。ここで、図9(b)のグラフにおいて、2つの頂点V0〜V7を接続する辺e0〜e7がある場合、その2つの頂点V0〜V7で特定される行列成分は1、2つの頂点V0〜V7を接続する辺e0〜e7がない場合、その2つの頂点V0〜V7で特定される行列成分は0となる。
【0067】
図10(a)の頂点隣接行列から図10(b)の頂点隣接行列を求める場合、図9(b)の二重化された辺の両端の頂点に対応する行及び列をコピーする。そして、コピー対象とされた行及び列の成分のうち、右方向に隣接する頂点の成分を0にするとともに、コピーにより新たに挿入された行及び列の成分のうち、左方向に隣接する頂点の成分を0にする。
【0068】
例えば、図9(b)のグラフの辺e4及びその辺e4の両端の頂点V4、V5を二重化することにより、辺e4’及び辺e4’の両端に接続する頂点V4’、V5’を生成し、図9(c)のグラフが生成されたものとする。この場合、図10(a)の頂点隣接行列の頂点V4に対応する行及び列をコピーすることにより、頂点V4’に対応する行及び列を新たに生成するとともに、頂点V5に対応する行及び列をコピーすることにより、頂点V4’に対応する行及び列を新たに生成する。ここで、頂点V4に対応する行及び列の成分のうち、頂点V4の右方向に隣接する頂点V6に対応する成分を0とし、頂点V5に対応する行及び列の成分のうち、頂点V5の右方向に隣接する頂点V7に対応する成分を0とし、頂点V5’に対応する行及び列の成分のうち、頂点V5の左方向に隣接する頂点V3に対応する成分を0とする。そして、行及び列を入れ替えてブロック対角化を行うことにより、図10(b)の頂点隣接行列が得られる。
【0069】
図10(b)の頂点隣接行列は、2つの正方行列A1、A2が対角斜め方向に配置されており、2つの正方行列A1、A2の直和の形で表現できる。ここで、頂点隣接行列のブロック対角化により得られる対角化ブロック数(対角斜め方向に配置される正方行列の個数)は、その頂点隣接行列に対応するグラフの連結成分数を表している。このため、頂点隣接行列を用いることにより、グラフの辺を二重化した時に、グラフが2つに分離するかどうかを判定することができ、その時の辺を辺接触の切断箇所の候補とすることができる。
【0070】
図11は、頂点隣接行列から辺接触の候補を求める方法を示すフローチャートである。
図11において、頂点隣接行列のj行k列成分が1かどうかを判定する(ステップS41)。ここで、頂点隣接行列のj行k列成分が1の場合、j行目に対応する頂点とk列目に対応する頂点との間に挟まれた辺に対応するパターンの文字線幅hが、以下の条件を満たすかどうかを調べる。
【0071】
H×a<h (1.0<a)
ここで、Hは平均文字幅、aは1より大きい値をとる定数で、実験により定めることができる。そして、この条件を満たさない辺は、二重化の候補から除外する(ステップS42)。この処理により、二重化する辺の候補として、辺同士が接触したために線幅が他の辺よりも太くなっているものだけを選ぶことができ、辺接触していないような細い線幅の辺を、辺接触の候補から除去することができる。
【0072】
また、横書きの場合は縦方向、縦書きの場合は横方向の辺のみを二重化するため、辺の傾きにも、しきい値を設けるようにする。すなわち、対象とする辺の傾きをS、傾きのしきい値をSthとすると、
S>Sth(横書きの場合)
S<Sth(縦書きの場合)
の条件を満たす候補のみについて、二重化を行うようにする(ステップS42)。なお、しきい値Sthは、実験により定めることができる。
【0073】
次に、頂点隣接行列のj行目をj+1行目にコピーし、頂点隣接行列のj+1行目以降をシフトするとともに、頂点隣接行列のj列目をj+1列目にコピーし、頂点隣接行列のj+1列目以降をシフトする(ステップS43)。
【0074】
次に、横書きの場合、j番目の頂点の右方向に隣接する頂点がある場合、j行目及びj列目の成分のうち、右方向に隣接する頂点に対応する成分を0とし、j番目の頂点の左方向に隣接する頂点がある場合、j+1行目及びj+1列目の成分のうち、左方向に隣接する頂点に対応する成分を0とする(ステップS44)。なお、縦書きの場合、j番目の頂点の上方向に隣接する頂点がある場合、j行目及びj列目の成分のうち、上方向に隣接する頂点に対応する成分を0とし、j番目の頂点の下方向に隣接する頂点がある場合、j+1行目及びj+1列目の成分のうち、下方向に隣接する頂点に対応する成分を0とする。
【0075】
次に、頂点隣接行列のk行目をk+1行目にコピーし、頂点隣接行列のk+1行目以降をシフトするとともに、頂点隣接行列のk列目をk+1列目にコピーし、頂点隣接行列のk+1列目以降をシフトする(ステップS45)。
【0076】
次に、横書きの場合、k番目の頂点の右方向に隣接する頂点がある場合、k行目及びk列目の成分のうち、右方向に隣接する頂点に対応する成分を0とし、k番目の頂点の左方向に隣接する頂点がある場合、k+1行目及びk+1列目の成分のうち、左方向に隣接する頂点に対応する成分を0とする(ステップS46)。なお、縦書きの場合、k番目の頂点の上方向に隣接する頂点がある場合、k行目及びk列目の成分のうち、上方向に隣接する頂点に対応する成分を0とし、k番目の頂点の下方向に隣接する頂点がある場合、k+1行目及びk+1列目の成分のうち、下方向に隣接する頂点に対応する成分を0とする。
【0077】
次に、j行k列成分で特定される辺を二重化したグラフに対応する頂点隣接行列の行または列を入れ替えることにより、その頂点隣接行列のブロック対角化を行い、ブロック対角化後の対角化ブロック数をカウントする(ステップS47)。次に、j行k列成分で特定される辺を二重化する前のグラフに対応する頂点隣接行列の対角化ブロック数と、j行k列成分で特定される辺を二重化した後のグラフに対応する頂点隣接行列の対角化ブロック数とを比較し(ステップS48)、j行k列成分で特定される辺を二重化した後のグラフに対応する頂点隣接行列の対角化ブロック数が、j行k列成分で特定される辺を二重化する前のグラフに対応する頂点隣接行列の対角化ブロック数より1だけ増加した場合、頂点jと頂点kとの間に挟まれる辺を辺接触の切断箇所の候補とする(ステップS49)。以上の処理を、j=1〜全頂点数、k=j+1〜全頂点数に対して繰り返す。
【0078】
図3のステップS6、S7の処理により、点接触箇所候補及び辺接触箇所候補がグラフから抽出されると、接触箇所候補の絞り込みを行う(ステップS8〜S10)。この接触箇所候補の絞り込みは、文字列方向と垂直方向にパターンが分割されることを防止するために行う。例えば、横書きの文字の場合、文字同士の接触は横方向に発生し、縦書きの文字の場合、文字同士の接触は縦方向に発生する。このため、横書きの文字の場合、パターンを横方向に分割する接触箇所候補のみを選別して、パターンを縦方向に分割する接触箇所候補を除去する。また、されないようにする。また、縦書きの文字の場合、パターンを縦方向に分割する接触箇所候補のみを選別して、パターンを横方向に分割する接触箇所候補を除去する。
【0079】
ここでは、分離した各々のグラフの文字列方向のサイズをWjとし、元のグラフの文字列方向のサイズをWとすると、
W×C1<Wj<W×C2
(0.0<C1<C2<1.0、j=1,2)
となる切断候補のみを選択する。ここで、Cは、0と1の間の値をとる定数であり、実験により定めることができる。
【0080】
接触箇所候補が決定すると、接触パターンの切断を行い、部分パターンを作成する(ステップS11)。接触パターンの切断では、接触箇所候補として決定されたグラフ上の頂点または辺から実際のパターン上での切断位置を求め、その切断位置で接触パターンの切断する。
【0081】
図12は、点接触のパターンの切断方法を示す図である。
図12(a)において、グラフ上で点接触箇所の候補が決定すると、点接触箇所の候補として決定されたグラフ上の頂点に対応する接触パターン21上の切断候補点22を求める。切断候補点22が求まると、端点が接触している文字線24を、切断候補点22から細線化パターン25の辺に沿って追跡し、もう一方の辺26と平行方向の黒画素ランレングスを求める。この結果、黒画素ランレングスは、図12(b)に示すように、文字線24の接触箇所23の位置で急激に減少する。そこで、黒画素ランレングスが急激に減少する箇所Kに対応する位置で、接触パターン21を切断する。この結果、図12(c)に示すように、接触パターン21の文字線24に対応した文字線24’と接触パターン21の文字線26に対応した文字線26’とを切り出すことができる。
【0082】
図13は、辺接触のパターンの切断方法を示す図である。
図13(a)において、グラフ上で辺接触箇所の候補が決定すると、辺接触箇所の候補として決定されたグラフ上の辺に対応する接触パターン21上の文字線31を求める。文字線31が求まると、その文字線31を細線化パターン32の辺で2分する。この結果、図13(b)に示すように、接触パターン31の文字線33に対応した文字線33’と接触パターン31の文字線34に対応した文字線34’とを切り出すことができる。
【0083】
図14は、図9(a)のパターンの切断例を示す図である。
図14において、図9(b)のグラフから点接触の候補となる頂点または辺接触の候補となる辺が求まると、これらの接触箇所の候補の位置で図9(a)のパターンを切断することにより、部分パターン41〜44を得ることができる。
【0084】
部分パターンが求まると、単独パターン、あるいは、部分パターンと同一行の文字列に含まれる他のパターンとの可能な組み合わせにより得られる統合パターンに対し、文字認識を実行する。そして、認識候補文字種及び相違度(あるいは類似度)を求め、例えば、候補文字ラティス等の方法を用いることにより、一文字領域と文字認識候補を決定する。
【0085】
図15は、切断されたパターンの統合方法を示す図である。
図15において、図14の部分パターン41〜44が求まると、統合後の横方向の長さWを算出し、統合後の横方向の長さWがしきい値Wthを越えた時に統合をストップする。例えば、図15(a)において、図14の部分パターン41の横方向の長さW1がしきい値Wthを越えているかどうか調べ、長さW1がしきい値Wthを越えていない場合、図15(b)に示すように、図14の部分パターン41、42を統合した統合パターン45を生成する。
【0086】
次に、統合パターン45の横方向の長さW2がしきい値Wthを越えているかどうか調べ、長さW2がしきい値Wthを越えていない場合、図15(c)に示すように、図15(b)の統合パターン45と図14の部分パターン43を統合した統合パターン46を生成する。
【0087】
次に、統合パターン46の横方向の長さW3がしきい値Wthを越えているかどうか調べ、長さW3がしきい値Wthを越えていない場合、図15(d)に示すように、図15(c)の統合パターン46と図14の部分パターン44を統合した統合パターン47を生成する。
【0088】
次に、統合パターン47の横方向の長さW4がしきい値Wthを越えているかどうか調べ、長さW4がしきい値Wthを越えている場合、図15(c)の統合パターン46と図14の部分パターン44との統合をストップする。
【0089】
統合パターン45、46が求まると、統合パターン45、46及び部分パターン41〜44の文字認識を行い、文字との相違度の低いパターンを選別することにより、一文字ごとの切り出しを行うことができる。
【0090】
図16は、候補文字ラティス法による接触位置の決定方法を説明する図である。
図16(a)において、「山口市」というパターンから部分パターン51〜55が切り出されたものとする。この場合、各パターンの横方向の長さを求めることにより、パターンの統合が可能かどうかを調べ、統合後のパターンの横方向の長さがしきい値Wth以下の場合、部分パターン51〜55を隣接パターンと統合する。この結果、部分パターン51、52を統合した統合パターン56、部分パターン52、53を統合した統合パターン57、部分パターン51〜53を統合した統合パターン58、及び部分パターン53、54を統合した統合パターン59が生成される。
【0091】
部分パターン51〜55及び統合パターン56〜59が生成されると、これらのパターンの文字認識を実行し、「山口市」というパターンに対応するように、部分パターン51〜55及び統合パターン56〜59を組み合わせる。そして、これらの組み合わせの中から、最も相違度の低い組み合わせを選択する。
【0092】
例えば、図16(b)において、部分パターンの組み合わせとして、P1→P2→P3→P4→P5というパスを選択した場合、これらのパターンの相違度の合計は、284+189+126+177+203=979となり、認識結果は「U−口市」となる。また、部分パターンの組み合わせとして、P6→P9→P5というパスを選択した場合、これらのパターンの相違度の合計は、419+202+203=824となり、認識結果は「ル口市」となる。この処理を部分パターン51〜55及び統合パターン56〜59の全ての組み合わせについて行う。
【0093】
この結果、最も相違度の低い組み合わせとして、P8→P4→P5というパスを選択することができ、統合パターン58及び部分パターン54,55をそれぞれ一文字領域として切り出すことができる。ここで、統合パターン58は「山口市」というパターンの中の「山」という文字に対応し、部分パターン54は「山口市」というパターンの中の「口」という文字に対応し、部分パターン55は「山口市」というパターンの中の「市」という文字に対応している。従って、「山口市」というパターンの中の「山」という文字と「口」という文字が辺接触している場合においても、1文字ごとに切り出すことができる。
【0094】
図17は、本発明の一実施例に係わるパターン抽出処理をソフトウエアを用いて実現した構成を示すブロック図である。
図17において、61は全体的な処理を行う中央演算処理ユニット(CPU)、62はリードオンリメモリ(ROM)、63はランダムアクセスメモリ(RAM)、64は通信インターフェイス、65は通信ネットワーク、66は入出力インターフェイス、67は文字認識結果などを表示するディスプレイ、68は文字認識結果などを印刷するプリンタ、69はスキャナ70により読み取られた画像データなどを一時的に格納するメモリ、70は入力画像などを読み取るスキャナ、71はキーボード、72はマウスなどのポインティングデバイス、73は記憶媒体を駆動するドライバ、74はハードディスク、75はICメモリカード、76は磁気テープ、77はフロッピーディスク、78はCD−ROMやDVD−ROMなどの光ディスク、79はバスである。
【0095】
パターン抽出処理や文字認識を行うプログラム、画像データなどは、ハードディスク74、ICメモリカード75、磁気テープ76、フロッピーディスク77、光ディスク78などの記憶媒体に格納される。そして、パターン抽出処理や文字認識を行うプログラム及び画像データを、これらの記憶媒体からRAM63に読み出すことにより、文字領域の切り出しを行うことができる。また、パターン抽出処理や文字認識を行うプログラムを、ROM62に格納しておくこともできる。
【0096】
さらに、パターン抽出処理や文字認識を行うプログラム、画像データ及び文字認識結果などを、通信ネットワーク65を介して送受信したりすることもできる。通信インターフェイス64に接続される通信ネットワーク65として、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、アナログ電話網、デジタル電話網(ISDN:Integral Service Digital Network)、PHS(パーソナルハンディシステム)や衛星通信などの無線通信網を用いることができる。
【0097】
CPU61は、パターン抽出処理を行うプログラムが起動されると、処理対象となる画像データのラベリングを行うことにより連結成分を抽出し、連結成分として抽出されたパターンの細線化を行う。細線化が終了すると、細線化パターンの探索を行うことにより、パターンの端点、交点、または屈曲点を抽出し、これらの端点、交点、または屈曲点の接続関係を調べる。接続関係が求まると、これらの接続関係をグラフで表現し、グラフの辺や頂点を操作した時にグラフの連結成分数が変化するかどうかを調べることより、パターンの切断箇所の候補を抽出する。
【0098】
ここで、特徴点の接続関係を表すグラフを頂点隣接行列で表現することができる。そして、グラフの連結成分数の変化を頂点隣接行列を用いて調べることもできる。パターンの切断箇所の候補が抽出されると、これらの切断箇所の候補の位置でパターンを切断する。次に、文字認識を行うプログラムを起動し、切断された部分パターン及び部分パターを統合した統合パターンについて、文字認識を実行する。そして、相違度の最も小さいパターンの組み合わせをパターンの切断箇所に決定する。
【0099】
【発明の効果】
以上説明したように、本発明によれば、パターンの特徴点の接続関係に基づいて、パターンの接触箇所を判別することにより、パターンが傾いている場合においても、パターンの特徴点の接続関係は変化しないため、パターンの接触箇所を効率よく見つけることが可能となり、文字領域の切り出し精度を向上させることが可能となる。
【0100】
また、本発明の一態様によれば、パターンの端点、交点、分岐点または屈曲点を文字同士の接触点の候補とすることにより、文字同士の接触点を効率よく見つけることが可能となる。
【0101】
また、本発明の一態様によれば、パターンを切断した時のパターンの分離方向に基づいて、文字同士の接触点の候補を絞り込むことにより、文字の構成部分となる特徴点を文字同士の接触点の候補から除くことが可能となり、文字同士の接触点の検出を効率化することが可能となる。
【0102】
また、本発明の一態様によれば、パターンの接続関係をグラフで表現することにより、パターンの接続情報のみを残したまま、それ以外の画像情報を除去することが可能となり、パターンの接続関係を効率よく評価することが可能となる。
また、本発明の一態様によれば、パターンの接続関係を頂点隣接行列で表すことにより、グラフの連結成分数を効率よく求めることが可能となり、パターンを特徴点で切断した際に、パターンが分離するかどうかを効率よく調べることが可能となる。
【0103】
また、本発明の一態様によれば、グラフから辺を除去した時のグラフの連結成分数をカウントすることにより、パターンの特徴点でパターンが分離するかどうかを容易に判別することが可能となり、点接触の場合の接触位置を高速に検出することが可能となる。
【0104】
また、本発明の一態様によれば、パターンを接触方向に沿って探索した時に、急に細くなる箇所でパターンを切断することにより、点接触前のパターンの形状を保ちつつ、パターンを切断することが可能となる。
【0105】
また、本発明の一態様によれば、グラフの辺及びその辺の両端の特徴点の二重化を行った時のグラフの連結成分数をカウントすることにより、パターンの辺でパターンが分離するかどうかを容易に判別することが可能となり、辺接触の場合の接触位置を高速に検出することが可能となる。
【0106】
また、本発明の一態様によれば、パターンの辺を垂直方向に二等分した位置で、パターンを切断することにより、辺接触前のパターンの形状を保ちつつ、パターンを切断することが可能となる。
【0107】
また、本発明の一態様によれば、接触位置を示す候補点で切断したパターンの文字認識結果に基づいて、それらの候補点が接触点かどうかを判別することにより、1つの接触箇所に対して接触位置を示す候補点が複数検出された場合においても、接触位置でない候補点を接触点から除外することが可能となり、文字の接触箇所を精度よく見つけ出すことが可能となる。
【0108】
また、本発明の一態様によれば、相違度の小さい文字の切り出しに成功しても、それ以外の領域から1文字として切り出されたパターンの相違度が大きい場合には、その切り出し位置を文字同士の接触箇所でないと判断することにより、文字列のパターンから相違度の小さい文字の切り出し位置の候補が複数得られた場合においても、それらの候補を絞り込むことが可能となり、文字同士の接触箇所の検出精度を向上させることが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施例に係わるパターン抽出装置の構成を示すブロック図である。
【図2】本発明の一実施例に係わる文字認識装置の構成を示すブロック図である。
【図3】図2の接触候補箇所決定・切断部の処理を示すフローチャートである。
【図4】本発明の一実施例に係わる細線化パターンの具体例を示す図である。
【図5】次数2の頂点の決定方法を説明する図である。
【図6】(a)は、点接触したパターンの具体例を示す図、(b)は、図6(a)のパターンをグラフ化した例を示す図、(c)は、図6(b)のグラフから辺を除去した場合にグラフの連結成分数が増加する例を示す図である。
【図7】(a)は、図6(b)のグラフの頂点隣接行列を示す図、(b)は、図6(c)のグラフの頂点隣接行列を示す図である。
【図8】頂点隣接行列から接触点の候補を求める方法を示すフローチャートである。
【図9】(a)は、辺接触したパターンの具体例を示す図、(b)は、図9(a)のパターンをグラフ化した例を示す図、(c)は、図9(b)のグラフの辺及びその辺の端点の二重化を行った場合にグラフの連結成分数が増加する例を示す図である。
【図10】(a)は、図9(b)のグラフの頂点隣接行列を示す図、(b)は、図9(c)のグラフの頂点隣接行列を示す図である。
【図11】頂点隣接行列から辺接触の候補を求める方法を示すフローチャートである。
【図12】点接触のパターンの切断方法を示す図である。
【図13】辺接触のパターンの切断方法を示す図である。
【図14】図10(a)のパターンの切断例を示す図である。
【図15】切断されたパターンの統合方法を示す図である。
【図16】候補文字ラティス法による接触位置の決定方法を説明する図である。
【図17】本発明の一実施例に係わるパターン抽出処理をソフトウエアを用いて実現した構成を示すブロック図である。
【図18】従来の文字同士の接触位置の検出方法を示す図である。
【符号の説明】
1 特徴点検出手段
2 接続関係判別手段
3 接触箇所判別手段
11 OCR
12 観測部
13 文字列抽出部
14 接触文字判定部
15 接触候補箇所決定・切断部
16 候補文字ラティス生成部
17 認識辞書部
18 言語処理部
19 知識辞書部
61 CPU
62 ROM
63 RAM
64 通信インターフェイス
65 通信ネットワーク
66 入出力インターフェイス
67 ディスプレイ
68 プリンタ
69 メモリ
70 スキャナ
71 キーボード
72 ポインティングデバイス
73 ドライバ
74 ハードディスク
75 ICメモリカード
76 磁気テープ
77 フロッピーディスク
78 光ディスク
79 バス[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a pattern extraction device and a character segmentation device, and is particularly suitable for application when detecting a contact location of a contact character.
[0002]
[Prior art]
As a conventional method for detecting a contact position between characters, there is a method using a black pixel number histogram. In this method, a black pixel number histogram is obtained by counting the number of black pixels in the direction perpendicular to the direction of the character string, and the minimum point of the black pixel number histogram is used as a candidate for a contact position between characters.
[0003]
FIG. 18 is a diagram illustrating a conventional method for detecting a contact position between characters.
In FIG. 18A, it is assumed that a character pattern written by hand as “Inba-gun Shirai-cho” is input, and the characters “gun” and “white” are in contact at the position E4.
[0004]
Here, when determining the contact position of the pattern of FIG. 18A, as shown in FIG. 18B, a black pixel number histogram of the pattern of FIG. 18A is obtained. Then, the minimum points K1 to K5 of the black pixel number histogram are set as candidates for the contact portion.
[0005]
[Problems to be solved by the invention]
However, in the conventional method using the black pixel count histogram, if the character is tilted, another character line segment overlaps the contact portion, or the vertical character line segments in horizontal writing are in contact, There was a case where the black pixel count histogram value corresponding to the location did not become minimum, and there was a problem that the contact location could not be detected.
[0006]
For example, the black pixel number histogram value corresponding to the contact location E4 in FIG. 18A corresponds to the point E4 ′ in FIG. 18B, and the point E4 ′ is not a local minimum point. ) Is removed from the contact point candidates. As a result, the pattern of FIG. 18A cannot be cut at the position of the contact location E4, and the accuracy of character recognition deteriorates.
[0007]
SUMMARY OF THE INVENTION An object of the present invention is to provide a pattern extraction device and a character segmentation device that can improve the detection accuracy of a pattern contact location.
[0008]
[Means for Solving the Problems]
In order to solve the above-described problem, according to the present invention, the contact location of the pattern is determined based on the connection relation of the feature points extracted from the pattern.
[0009]
As a result, it is possible to determine the contact position of the character in consideration of the connection state when the characters contact each other, and it is possible to eliminate the influence of the inclination of the character when determining the contact position. Therefore, even when the contact portion of the pattern does not correspond to the minimum point of the black pixel number histogram, it is possible to efficiently find the contact portion of the pattern, and to improve the cutout accuracy of the character region.
[0010]
Further, according to one aspect of the present invention, end points, intersections, branch points, or bending points of a pattern are detected, and contact points between characters are found from these points.
As a result, when the characters come into contact with each other, the contact point is usually an end point, an intersection, or a bending point, so that it is possible to efficiently find a contact point candidate between the characters.
[0011]
Further, according to one aspect of the present invention, when the pattern is cut at the position of the feature point of the pattern, a pattern whose pattern is not separated in the character arrangement direction is excluded from the candidate contact points between the characters.
[0012]
This makes it possible to remove from the candidates for contact points between characters a pattern where the pattern is cut in a direction different from the contact direction of the characters. Since there is no need to consider it as a point candidate, it is possible to efficiently find contact points between characters.
[0013]
Further, according to one aspect of the present invention, the connection relation of patterns is expressed by a graph in which a feature point of the pattern is a vertex and a line segment sandwiched between the vertices is an edge.
[0014]
This makes it possible to extract only the pattern connection information from the image data and to efficiently evaluate the pattern connection relationship, so it is possible to efficiently find contact points between characters. It becomes.
[0015]
Further, according to one aspect of the present invention, the number of connected components of a graph is obtained by expressing the connection relationship of patterns by a vertex adjacency matrix and counting the number of diagonalized blocks of the vertex adjacency matrix.
[0016]
This makes it possible to efficiently determine the number of connected components in the graph, and when the pattern is cut at feature points, it is possible to easily check whether the pattern is separated. It becomes possible to find a point efficiently.
[0017]
Further, according to one aspect of the present invention, the cut portion of the contact character is detected based on a change in the number of connected components in the graph when the edges of the graph are removed.
As a result, when determining the number of connected components of a pattern, there is no need to directly determine from image data with a large amount of information, and the number of connected components can be determined from graph data with a smaller amount of information compared to image data. Therefore, the contact position in the case of point contact can be detected at high speed.
[0018]
According to one aspect of the present invention, when the end point of the second line segment in contact with the first line segment is detected, the black pixel run length in the first line segment direction is rapidly reduced. The pattern is cut at the place to be done.
[0019]
This makes it possible to determine the actual pattern cutting location from the contact location specified by the vertex on the graph, and to cut the contact pattern at a position where the shape of the pattern before point contact can be reproduced. It becomes.
[0020]
Further, according to one aspect of the present invention, the cut portion of the contact character is detected based on the change in the number of connected components in the graph when the graph edge and the feature points at both ends of the graph are doubled. I have to.
[0021]
As a result, when determining the number of connected components of a pattern, there is no need to directly determine from image data with a large amount of information, and the number of connected components can be determined from graph data with a smaller amount of information compared to image data. Therefore, the contact position in the case of side contact can be detected at high speed.
[0022]
According to one aspect of the present invention, when an overlap between sides is detected, the pattern is cut at a position where the side is divided into two equal parts.
This makes it possible to obtain the actual pattern cutting location from the contact location specified on the side of the graph, and to cut the pattern at a position where the shape of the pattern before the side contact can be reproduced. Become.
[0023]
Further, according to one aspect of the present invention, when a plurality of candidate points indicating the contact position are obtained for one contact position, based on the character recognition result of the pattern cut at these candidate points, It is determined whether or not the candidate point is a contact point.
[0024]
Here, when the character pattern is cut at a point that is not the contact position, the non-character pattern is cut out, and the degree of difference from the character of the pattern is high. When the character pattern is cut at the contact position, the character pattern is cut out. Therefore, the degree of difference from the character of the character pattern is low. For this reason, even when a point that is not the contact position is detected as a candidate point indicating the contact position, the candidate point can be excluded from the contact point, and the contact location of the character can be found with high accuracy.
[0025]
Moreover, according to one aspect of the present invention, a plurality of character candidate patterns are cut out by combining the cut pattern with another pattern. And the contact part of a pattern is determined based on the combination from which the sum total of the difference degree of those patterns and a character becomes the lowest.
[0026]
As a result, even when a cutout position of a character with a low degree of difference is detected, if the degree of difference from the character of the pattern remaining in the other area is high, the cutout position is determined as the contact location between the characters. It is possible to determine the contact position between characters even when multiple candidate cutout positions for characters with low dissimilarities are obtained from the character string pattern. The accuracy can be improved.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a pattern extraction apparatus according to an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing the configuration of a pattern extraction apparatus according to an embodiment of the present invention.
[0028]
In FIG. 1, a
When examining whether or not a feature point extracted from a pattern is a contact point between characters, it is determined based on whether or not the pattern is separated into two when the pattern is separated at the position of the feature point.
[0029]
Here, the amount of information of the image data is enormous, and it takes time to directly process the image data itself and check the number of connected components of the pattern. Therefore, the contact
[0030]
In addition, the contact
[0031]
FIG. 2 is a block diagram showing a configuration of a character recognition apparatus according to an embodiment of the present invention. In the following embodiment, a case where characters are written in horizontal writing will be described. However, even when characters are written in vertical writing, processing can be similarly performed by replacing rows with columns. .
[0032]
In FIG. 2, an OCR (optical character recognition device) 11 reads a form or document in which handwritten characters are entered, and outputs a recognition result of handwritten characters. The
[0033]
The contact candidate location determination / cutting
[0034]
When the cutting candidate location is determined, a partial pattern is generated by cutting the pattern determined to be a contact character at the cutting candidate location. The candidate character
[0035]
The
[0036]
FIG. 3 is a flowchart showing the processing of the contact candidate location determination / cutting
In FIG. 3, the contact candidate location determination / cutting
[0037]
FIG. 4 is a diagram showing a specific example of a thinning pattern according to an embodiment of the present invention. In FIG. 4A, by thinning the pattern “Shizuoka” in contact at the point E1, the thinning pattern in FIG. 4B in contact at the point E1 ′ can be obtained. .
[0038]
When the thinning pattern is obtained, end points, intersections, and bending points are extracted from the thinning pattern, and these points are set as the vertices of the graph (step S2). That is, let the end points be the primary vertices, the intersections at which the three, four line segments intersect, respectively, as the tertiary and quaternary vertices. The secondary vertex is a bending point on each side.
[0039]
FIG. 5 is a diagram illustrating a method for determining a vertex of
In FIG. 5, a point of interest P0 on a side sandwiched between two vertices and sample points P1 and P2 before and after the point are considered, and a vector having P1 as a start point and P0 as an end point is defined as d. 1 , A vector with P0 as the start point and P2 as the end point is d 2 The vector d 1 , D 2 Is obtained by the following equation.
[0040]
θ = cos -1 (D 1 ・ D 2 / | D 1 | ・ | D 2 |)
Where | d 1 |, | D 2 | Is the vector d 1 , D 2 Is the size of Angle θ is the threshold θ th If larger, that is, θ> θ th In this case, let P0 be the vertex of
[0041]
Once the vertices of the graph are obtained, the thinning pattern is searched by the contour tracking method, the connection relation between the end points, the intersections, and the bending points extracted from the thinning pattern is obtained, and the adjacent relation between the vertices is obtained (step S3). When the vertex adjacency is obtained, a graph in which the vertices are connected by edges is generated.
[0042]
FIG. 6A is a diagram illustrating a specific example of a point-contact pattern, and FIG. 6B is a diagram illustrating an example in which the pattern of FIG. 6A is graphed.
In FIG. 6A, when the pattern “Kamiyama” that is point-contacted at the position E2 is extracted by the contact
[0043]
Through the above processing, the vertices V0 to V11 are detected from the pattern of FIG. 6A, and the graph G1 of FIG. 6B in which these vertices are connected by the sides e0 to e10 can be generated.
[0044]
When the contact candidate location determination / cutting
[0045]
FIG. 7A is a diagram showing a vertex adjacency matrix of the graph of FIG.
In FIG. 7A, each of the row and column components corresponds to the vertices V0 to V11 of the graph G1, respectively. Here, in the graph G1 in FIG. 6B, when there are edges e0 to e10 connecting the two vertices V0 to V11, the matrix components specified by the two vertices V0 to V11 are one and two vertices V0. When there are no sides e0 to e10 connecting ~ V11, the matrix component specified by the two vertices V0 to V11 is 0. For example, in the graph G1 of FIG. 6B, since the vertices V3 and V4 are connected by the edge e3, the matrix components specified by the vertices V3 and V4 (the 4th row and the 5th column component and the 5th row and the 4th column) Component) is 1. Further, in the graph G1 of FIG. 6B, the vertices V2 and V5 are not connected by the edges e0 to e10, so that the matrix component specified by the vertices V2 and V5 (the component in the third row and the sixth column and the sixth row and the third column). The component in the column) is 0.
[0046]
When the vertex adjacency matrix is obtained, block diagonalization of the vertex adjacency matrix is performed by replacing the rows or columns of the vertex adjacency matrix. Then, the number of diagonalized blocks included in the vertex adjacency matrix after block diagonalization is counted (step S5). The number of diagonalized blocks included in the vertex adjacency matrix after block diagonalization corresponds to the number of connected components in the graph, and the number of diagonalized blocks included in the vertex adjacency matrix after block diagonalization is counted. Thus, the number of connected components in the graph can be obtained.
[0047]
Next, a point contact location candidate is derived (step S6). In the derivation of the point contact point candidates, when one side of the graph is removed one by one and the graph is separated into two by removing the side, for example, assuming that the connected component of the graph before removing the side is 1 When the connected component of the graph after removing the edge increases to 2, the vertexes at both ends of the edge are set as candidates for the point contact cutting point.
[0048]
Here, the vertex adjacency matrix corresponding to the graph after the edges are removed is obtained from the vertex adjacency matrix corresponding to the graph before the edges are removed, and the row or column of the vertex adjacency matrix is replaced. Perform block diagonalization. Whether the difference between the number of diagonalized blocks of the vertex adjacency matrix corresponding to the graph before removing the edge and the number of diagonalized blocks of the vertex adjacency matrix corresponding to the graph after removing the edge is 1 By checking whether or not the graph is separated into two, it can be determined.
FIG. 6C is a diagram illustrating an example in which the number of connected components in the graph increases when edges are removed from the graph of FIG.
[0049]
6C, when the edge e4 is removed from the graph G1 in FIG. 6B, the graph is separated into a graph G2 composed of vertices V0 to V4 and a graph G3 composed of vertices V5 to V11. In this case, the vertices V4 and V6 at both ends of the side e4 are set as point contact cutting point candidates. This makes it possible to detect the contact point E2 of the contact pattern in FIG.
[0050]
6 vertices V1 and V4 are selected as candidates for a cut point by point contact by removing edges e0 to e10 one by one from the graph G1 in FIG. 6B and examining whether the graph G1 is separated into two. , V6, V7, V9, and V11 are detected. At this stage, in addition to the vertex V6 corresponding to the contact point E2, vertices V1, V4, V7, V9, and V11 corresponding to intersections and bending points included in the character itself are also detected.
[0051]
FIG. 7B shows the vertex adjacency matrix of the graphs G2 and G3 in FIG.
In FIG. 7B, when the vertex adjacency matrix of FIG. 7B is obtained from the vertex adjacency matrix of FIG. 7A, it corresponds to the vertices at both ends of the side removed from the graph G1 of FIG. 6B. Set the matrix component to 0. For example, it is assumed that the graphs G2 and G3 in FIG. 6C are generated by removing the edge e4 from the graph G1 in FIG. In this case, since the vertices at both ends of the edge e4 are V4 and V6, the components specified by the vertices V4 and V6 of the vertex adjacency matrix in FIG. 7A, that is, the (5, 7) component and (7, 5 ) Set the component to 0. As a result, the vertex adjacency matrix of FIG. 7B is obtained.
[0052]
In the vertex adjacency matrix of FIG. 7B, two square matrices A1 and A2 are arranged diagonally diagonally, and can be expressed in the form of a direct sum of the two square matrices A1 and A2. Here, the number of diagonalized blocks (number of square matrices arranged diagonally diagonally) obtained by block diagonalization of the vertex adjacency matrix represents the number of connected components of the graph corresponding to the vertex adjacency matrix. Yes. Therefore, by using the vertex adjacency matrix, it is possible to determine whether or not the graph is separated into two when the edge is removed from the graph, and the vertexes at both ends of the edge at that time are point contact cutting point candidates. It can be.
[0053]
FIG. 8 is a flowchart showing a method for obtaining contact point candidates from the vertex adjacency matrix. In the flowchart of FIG. 8, it is usually about two points where characters touch each other at a plurality of locations, and therefore, processing for obtaining up to two-point contact is shown.
[0054]
In FIG. 8, two are selected from the vertices of the graph, and it is determined whether or not the j row k column component of the vertex adjacency matrix corresponding to the vertex is 1 (step S21). Then, if the j row k column component of the vertex adjacency matrix is 1, the j row k column component and the k row j column component are set to 0 (step S22). Next, the blocks of the vertex adjacency matrix in which the j row k column component and the k row j column component are set to 0 by exchanging the rows or columns of the vertex adjacency matrix in which the j row k column component and the k row j column component are set to 0 Diagonalization is performed, and the number of diagonalized blocks after block diagonalization is counted (step S23).
[0055]
Next, the number of diagonalized blocks in the vertex adjacency matrix before setting the j row k column component and the k row j column component to 0, and the vertex adjacency after setting the j row k column component and the k row j column component to 0 The number of diagonalized blocks of the matrix is compared (step S24), and the number of diagonalized blocks of the vertex adjacency matrix after setting the j row and k column components and the k row and j column components to 0 becomes the j row and k column components and If the number of diagonalized blocks in the vertex adjacency matrix before setting the k row and j column component to 0 is increased by 1, the vertex j and the vertex k are set as candidates for one-point contact cutting points (step S25). The above processing is repeated for all components in the j row and k column of the vertex adjacency matrix.
[0056]
Next, four vertices of the graph excluding candidates for one-point contact cutting points are selected, and it is determined whether the j-row k-column component and the m-row n-column component of the vertex adjacency matrix corresponding to the vertex are 1 (step). S26). When the j row k column component and the m row n column component of the vertex adjacency matrix are 1, the j row k column component and the k row j column component are set to 0, and the m row n column component and the n row m column component Is set to 0 (step S27). Next, by exchanging the rows or columns of the vertex adjacency matrix in which these four components are set to 0, block diagonalization of the vertex adjacency matrix in which these four components are set to 0 is performed. The number of diagonal blocks is counted (step S28).
[0057]
Next, the number of diagonalized blocks of the vertex adjacency matrix before setting these four components to 0 is compared with the number of diagonalized blocks of the vertex adjacency matrix after setting these four components to 0 ( In step S29), the number of diagonalization blocks of the vertex adjacency matrix after these four components are set to 0 is increased by 1 from the number of diagonalization blocks of the vertex adjacency matrix before these four components are set to 0 In such a case, vertex j, vertex k, vertex m, and vertex n are set as candidates for a cut point for two-point contact (step S30). The above processing is repeated for all combinations of components of j rows and k columns and m rows and n columns of the vertex adjacency matrix.
[0058]
Next, a side contact candidate location is derived (step S7). In the derivation of the edge contact candidate portion, when one side of the graph and two vertices connected to both ends of the side are doubled and the graph is separated into two by duplication, for example, the connected component of the graph before duplication is 1. If there is, if the connected component of the graph after duplication is increased to 2, that side is set as a candidate for a cut portion of the side contact.
[0059]
Here, the vertex adjacency matrix corresponding to the graph after duplexing the edge and the two vertices connected to both ends of the edge is the vertex adjacency corresponding to the graph before the edge and the two vertices connected to both ends of the edge are duplexed. A block diagonalization of the vertex adjacency matrix is performed by obtaining the matrix and replacing the rows or columns of the vertex adjacency matrix. Then, whether or not the difference between the number of diagonalized blocks of the vertex adjacency matrix corresponding to the graph before duplication and the number of diagonalized blocks of the vertex adjacency matrix corresponding to the graph after duplication becomes 1 is checked. Thus, it may be determined whether or not the graph is separated into two.
[0060]
FIG. 9A is a diagram showing a specific example of a side contact pattern, FIG. 9B is a diagram showing an example of the pattern of FIG. 9A, and FIG. 9C is FIG. It is a figure which shows the example which the number of connected components of a graph increases, when the edge of the graph of (b) and the end point of the side are doubled.
[0061]
In FIG. 9A, when the pattern “Yamaguchi” that is in edge contact at the position E3 is extracted by the contact
[0062]
Through the above processing, the vertices V0 to V7 are detected from the pattern of FIG. 9A, and the graph G11 of FIG. 9B in which these vertices are connected by the sides e0 to e7 can be generated.
[0063]
Next, in the graph G11 of FIG. 9B, for example, the edge e4 and the vertex V4 ′ connected to both ends of the edge e4 ′ by duplicating the edge e4 and the vertices V4 and V5 of the edge e4 are used. , V5 ′. Here, when duplexing is performed, the connection relationship between the vertices V4 and V5 and the other vertices V0 to V3, V6, and V7 is examined. For the vertices V4 and V5, only the connection relationship between the vertices V4 and V5 and the vertices adjacent in the left direction is given, and for the vertices V4 ′ and V5 ′, the vertices adjacent to the vertices V4 and V5 in the right direction Only the connection relation of is given.
[0064]
For example, when the vertex V6 is detected as a vertex adjacent to the vertex V4, the adjacent direction of the vertex V6 with respect to the vertex V4 is checked. As a result, when it is determined that the vertex V6 is adjacent to the vertex V4 in the right direction, the vertex V6 is separated from the vertex V4 of the graph G12, and the vertex V6 is connected to the vertex V4 ′ of the graph G13. When vertices V3 and V7 are detected as vertices adjacent to the vertex V5, the adjacent directions of the vertices V3 and V7 with respect to the vertex V5 are checked. As a result, when it is determined that the vertex V3 is adjacent to the vertex V5 in the left direction, the vertex V3 is separated from the vertex V5 ′ of the graph G13, and the vertex V3 is connected to the vertex V5 of the graph G12. If it is determined that the vertex V7 is adjacent to the vertex V5 in the right direction, the vertex V7 is separated from the vertex V5 of the graph G12, and the vertex V7 is connected to the vertex V5 ′ of the graph G13.
[0065]
As a result, as shown in FIG. 9C, the graph is divided into a graph G12 composed of vertices V0 to V5 and a graph G13 composed of vertices V4 ′, V5 ′, V6 and V7. In this case, the side e4 is set as a candidate for a cut point for side contact. This makes it possible to detect the contact side E3 of the contact pattern in FIG.
In the graph of FIG. 9B, the sides e0 to e7 are doubled one by one, and by checking whether the graph is separated into two, two sides e0 and e4 are selected as candidates for the cut portion by the side contact. Can be detected. At this stage, in addition to the side e4 corresponding to the contact location E3, the side e0 corresponding to the line segment constituting the character itself is also detected.
[0066]
FIG. 10A shows a vertex adjacency matrix of the graph of FIG. 9B, and FIG. 10B shows a vertex adjacency matrix of the graph of FIG. 9C.
In FIG. 10A, each row and column component corresponds to each of the vertices V0 to V7 of the graph. Here, in the graph of FIG. 9B, when there are edges e0 to e7 connecting the two vertices V0 to V7, the matrix components specified by the two vertices V0 to V7 are one, two vertices V0 to V0. When there are no sides e0 to e7 connecting V7, the matrix component specified by the two vertices V0 to V7 is zero.
[0067]
When obtaining the vertex adjacency matrix of FIG. 10B from the vertex adjacency matrix of FIG. 10A, the rows and columns corresponding to the vertices at both ends of the duplicated side of FIG. 9B are copied. Then, among the row and column components to be copied, the vertex component adjacent to the right direction is set to 0, and among the row and column components newly inserted by copying, the vertex adjacent to the left direction is set. The component of is set to 0.
[0068]
For example, by duplicating the edge e4 of the graph of FIG. 9B and the vertices V4 and V5 at both ends of the edge e4, vertices V4 ′ and V5 ′ connected to both ends of the edge e4 ′ and the edge e4 ′ are generated. Assume that the graph of FIG. 9C is generated. In this case, by copying a row and a column corresponding to the vertex V4 of the vertex adjacency matrix in FIG. 10A, a row and a column corresponding to the vertex V4 ′ are newly generated, and a row and a column corresponding to the vertex V5 are generated. By copying the column, a new row and column corresponding to the vertex V4 ′ is generated. Here, among the row and column components corresponding to the vertex V4, the component corresponding to the vertex V6 adjacent to the right of the vertex V4 is set to 0, and among the row and column components corresponding to the vertex V5, the vertex V5 The component corresponding to the vertex V7 adjacent in the right direction is set to 0, and the component corresponding to the vertex V3 adjacent in the left direction of the vertex V5 is set to 0 among the row and column components corresponding to the vertex V5 ′. And the vertex adjacency matrix of FIG.10 (b) is obtained by replacing a row and a column and performing block diagonalization.
[0069]
In the vertex adjacency matrix of FIG. 10B, two square matrices A1 and A2 are arranged diagonally diagonally, and can be expressed in the form of a direct sum of the two square matrices A1 and A2. Here, the number of diagonalized blocks (number of square matrices arranged diagonally diagonally) obtained by block diagonalization of the vertex adjacency matrix represents the number of connected components of the graph corresponding to the vertex adjacency matrix. Yes. For this reason, by using the vertex adjacency matrix, it is possible to determine whether or not the graph is separated into two when the graph edge is duplicated, and the edge at that time can be set as a candidate for a cutting point of edge contact. it can.
[0070]
FIG. 11 is a flowchart illustrating a method of obtaining edge contact candidates from the vertex adjacency matrix.
In FIG. 11, it is determined whether or not the j row k column component of the vertex adjacency matrix is 1 (step S41). Here, when the j row k column component of the vertex adjacency matrix is 1, the character line width h of the pattern corresponding to the side sandwiched between the vertex corresponding to the j row and the vertex corresponding to the k column is Check whether the following conditions are satisfied.
[0071]
H × a <h (1.0 <a)
Here, H is an average character width, a is a constant having a value larger than 1, and can be determined by experiment. Then, sides that do not satisfy this condition are excluded from duplication candidates (step S42). As a result of this processing, only those whose line width is thicker than the other sides can be selected as candidates for the sides to be duplicated. , Can be removed from the edge contact candidates.
[0072]
Also, in the case of horizontal writing, only the side in the vertical direction is duplicated in the vertical direction, so that a threshold value is also provided for the inclination of the side. That is, if the slope of the target side is S and the threshold of the slope is Sth,
S> Sth (in horizontal writing)
S <Sth (for vertical writing)
Duplication is performed only for candidates that satisfy the condition (step S42). The threshold value Sth can be determined by experiment.
[0073]
Next, the j-th row of the vertex adjacency matrix is copied to the j + 1-th row, the j + 1-th row and beyond of the vertex adjacency matrix are shifted, and the j-th column of the vertex adjacency matrix is copied to the j + 1-th column. The j + 1th and subsequent columns are shifted (step S43).
[0074]
Next, in horizontal writing, when there is a vertex adjacent to the right of the j-th vertex, the component corresponding to the vertex adjacent to the right of the components in the j-th row and the j-th column is set to 0, and the j-th vertex If there are vertices adjacent to the left in the left direction, the component corresponding to the vertex adjacent in the left direction among the components in the (j + 1) th row and the (j + 1) th column is set to 0 (step S44). In the case of vertical writing, when there is a vertex adjacent in the upward direction of the j-th vertex, the component corresponding to the vertex adjacent in the upward direction is set to 0 among the components in the j-th row and the j-th column, and the j-th vertex If there are vertices adjacent in the downward direction, the component corresponding to the vertex adjacent in the downward direction is set to 0 among the components in the (j + 1) th row and the (j + 1) th column.
[0075]
Next, the k-th row of the vertex adjacency matrix is copied to the k + 1-th row, the k + 1-th row and the subsequent rows of the vertex adjacency matrix are shifted, and the k-th column of the vertex adjacency matrix is copied to the k + 1-th column. The k + 1st and subsequent columns are shifted (step S45).
[0076]
Next, in horizontal writing, when there is a vertex adjacent to the right of the k-th vertex, the component corresponding to the vertex adjacent to the right of the k-th and k-th components is set to 0, and the k-th vertex If there are vertices adjacent to the left in the left direction, the component corresponding to the vertex adjacent in the left direction among the components in the (k + 1) th row and the (k + 1) th column is set to 0 (step S46). In the case of vertical writing, if there is a vertex adjacent in the upward direction of the k-th vertex, the component corresponding to the vertex adjacent in the upward direction is set to 0 among the components in the k-th row and the k-th column, and the k-th vertex If there are vertices adjacent in the downward direction, the component corresponding to the vertex adjacent in the downward direction is set to 0 among the components in the (k + 1) th row and the (k + 1) th column.
[0077]
Next, by exchanging the rows or columns of the vertex adjacency matrix corresponding to the graph in which the edges specified by the j-row and k-column components are doubled, the vertex adjacency matrix is subjected to block diagonalization, and the block diagonalization The number of diagonal blocks is counted (step S47). Next, the number of diagonalized blocks of the vertex adjacency matrix corresponding to the graph before the edge specified by the j row and k column component is doubled and the graph after the edge specified by the j row and k column component is doubled The number of diagonal blocks of the corresponding vertex adjacency matrix is compared with the number of diagonal blocks of the corresponding vertex adjacency matrix (step S48). If the number of diagonalized blocks in the vertex adjacency matrix corresponding to the graph before duplication of the edge specified by the j row and k column component is increased by 1, the edge between the vertex j and the vertex k is edge-contacted. A candidate for a cut portion of (step S49). The above processing is repeated for j = 1 to the total number of vertices and k = j + 1 to the total number of vertices.
[0078]
When the point contact location candidates and the side contact location candidates are extracted from the graph by the processes of steps S6 and S7 in FIG. 3, the contact location candidates are narrowed down (steps S8 to S10). The contact location candidates are narrowed down to prevent the pattern from being divided in the direction perpendicular to the character string direction. For example, in the case of horizontally written characters, contact between characters occurs in the horizontal direction, and in the case of vertically written characters, contact between characters occurs in the vertical direction. For this reason, in the case of horizontally written characters, only the contact location candidates that divide the pattern in the horizontal direction are selected, and the contact location candidates that divide the pattern in the vertical direction are removed. Also, do not be. In the case of vertically written characters, only contact point candidates for dividing the pattern in the vertical direction are selected, and contact point candidates for dividing the pattern in the horizontal direction are removed.
[0079]
Here, if the size in the character string direction of each separated graph is Wj and the size in the character string direction of the original graph is W,
W × C1 <Wj <W × C2
(0.0 <C1 <C2 <1.0, j = 1, 2)
Only the cutting candidates that become are selected. Here, C is a constant that takes a value between 0 and 1, and can be determined by experiment.
[0080]
When the contact location candidate is determined, the contact pattern is cut and a partial pattern is created (step S11). In the cutting of the contact pattern, the cutting position on the actual pattern is obtained from the vertex or side on the graph determined as the contact location candidate, and the contact pattern is cut at the cutting position.
[0081]
FIG. 12 is a diagram illustrating a method of cutting a point contact pattern.
In FIG. 12A, when the point contact point candidate is determined on the graph, the cutting
[0082]
FIG. 13 is a diagram illustrating a method of cutting a side contact pattern.
In FIG. 13A, when the candidate for the edge contact location is determined on the graph, the
[0083]
FIG. 14 is a diagram illustrating a cutting example of the pattern of FIG.
In FIG. 14, when vertices that are candidates for point contact or sides that are candidates for edge contact are obtained from the graph of FIG. 9B, the pattern of FIG. 9A is cut at the positions of these contact location candidates. Thus, the
[0084]
When the partial pattern is obtained, character recognition is performed for an integrated pattern obtained by a single pattern or a possible combination of the partial pattern and another pattern included in the character string on the same line. Then, a recognition candidate character type and a dissimilarity (or similarity) are obtained, and one character region and a character recognition candidate are determined by using a method such as a candidate character lattice.
[0085]
FIG. 15 is a diagram illustrating a method for integrating cut patterns.
In FIG. 15, when the
[0086]
Next, it is checked whether the horizontal length W2 of the
[0087]
Next, it is examined whether or not the horizontal length W3 of the
[0088]
Next, it is checked whether or not the horizontal length W4 of the
[0089]
When the
[0090]
FIG. 16 is a diagram for explaining a method for determining a contact position by the candidate character lattice method.
In FIG. 16A, it is assumed that
[0091]
When the
[0092]
For example, in FIG. 16B, when a path of P1 → P2 → P3 → P4 → P5 is selected as a combination of partial patterns, the total difference between these patterns is 284 + 189 + 126 + 177 + 203 = 979, and the recognition result is “ U-guchi City ". When a path of P6 → P9 → P5 is selected as a combination of partial patterns, the total difference between these patterns is 419 + 202 + 203 = 824, and the recognition result is “Leguchi City”. This process is performed for all combinations of the
[0093]
As a result, the path of P8 → P4 → P5 can be selected as the combination having the lowest difference, and the
[0094]
FIG. 17 is a block diagram showing a configuration in which pattern extraction processing according to an embodiment of the present invention is realized using software.
In FIG. 17, 61 is a central processing unit (CPU) that performs overall processing, 62 is a read only memory (ROM), 63 is a random access memory (RAM), 64 is a communication interface, 65 is a communication network, and 66 is Input / output interface; 67, display for displaying character recognition results; 68, printer for printing character recognition results; 69, memory for temporarily storing image data read by
[0095]
A program for performing pattern extraction processing and character recognition, image data, and the like are stored in a storage medium such as a
[0096]
Furthermore, a program for performing pattern extraction processing and character recognition, image data, character recognition results, and the like can be transmitted and received via the communication network 65. Examples of the communication network 65 connected to the
[0097]
When the program for performing pattern extraction processing is started, the CPU 61 extracts connected components by labeling image data to be processed, and thins the patterns extracted as connected components. When thinning is completed, the thinning pattern is searched to extract pattern end points, intersection points, or bending points, and the connection relationship between these end points, intersection points, or bending points is examined. When connection relations are obtained, these connection relations are represented by graphs, and by examining whether or not the number of connected components of the graph changes when the edges and vertices of the graph are manipulated, candidates for pattern cut portions are extracted.
[0098]
Here, a graph representing the connection relationship between feature points can be represented by a vertex adjacency matrix. The change in the number of connected components in the graph can be examined using the vertex adjacency matrix. When the candidates for pattern cutting portions are extracted, the pattern is cut at the positions of these cutting portion candidates. Next, a program for performing character recognition is started, and character recognition is executed for an integrated pattern obtained by integrating the cut partial patterns and partial patterns. Then, the combination of the patterns having the smallest difference is determined as the cut portion of the pattern.
[0099]
【The invention's effect】
As described above, according to the present invention, by determining the contact location of the pattern based on the connection relationship between the feature points of the pattern, even when the pattern is inclined, the connection relationship between the feature points of the pattern is Since the pattern does not change, it is possible to efficiently find the contact portion of the pattern, and it is possible to improve the character region cutout accuracy.
[0100]
In addition, according to one aspect of the present invention, it is possible to efficiently find contact points between characters by using the end points, intersections, branch points, or bending points of the pattern as candidates for contact points between characters.
[0101]
In addition, according to one aspect of the present invention, by narrowing down the candidate contact points between characters based on the pattern separation direction when the pattern is cut, the feature points that constitute the characters are contacted between the characters. It becomes possible to remove the point from the candidate point, and it becomes possible to improve the detection of the contact point between the characters.
[0102]
Also, according to one aspect of the present invention, it is possible to remove other image information while leaving only the pattern connection information by expressing the pattern connection relation in a graph. Can be evaluated efficiently.
In addition, according to one aspect of the present invention, it is possible to efficiently obtain the number of connected components of a graph by expressing the connection relation of patterns by a vertex adjacency matrix, and when a pattern is cut at a feature point, the pattern is It becomes possible to investigate efficiently whether to separate.
[0103]
Further, according to one aspect of the present invention, it is possible to easily determine whether or not a pattern is separated at a feature point of the pattern by counting the number of connected components in the graph when edges are removed from the graph. It is possible to detect the contact position in the case of point contact at high speed.
[0104]
Moreover, according to one aspect of the present invention, when searching for a pattern along the contact direction, the pattern is cut while maintaining the shape of the pattern before point contact by cutting the pattern at a portion that suddenly becomes thin. It becomes possible.
[0105]
Further, according to one aspect of the present invention, whether or not a pattern is separated at the edge of the pattern by counting the number of connected components of the graph when the edge of the graph and the feature points at both ends of the edge are doubled Can be easily discriminated, and the contact position in the case of side contact can be detected at high speed.
[0106]
Further, according to one aspect of the present invention, it is possible to cut the pattern while maintaining the shape of the pattern before the side contact by cutting the pattern at a position where the side of the pattern is divided into two equal parts in the vertical direction. It becomes.
[0107]
Moreover, according to one aspect of the present invention, by determining whether or not the candidate points are contact points based on the character recognition result of the pattern cut at the candidate points indicating the contact position, Even when a plurality of candidate points indicating the contact position are detected, candidate points that are not the contact position can be excluded from the contact points, and the contact point of the character can be found with high accuracy.
[0108]
In addition, according to one aspect of the present invention, even when a character with a small difference degree is successfully cut out, if the difference degree between patterns cut out as one character from other areas is large, the cutout position is set as a character. By determining that it is not a contact location between characters, even if multiple candidates for the cutout position of a character with a small difference are obtained from the character string pattern, it is possible to narrow down those candidates, and the contact location between characters Detection accuracy can be improved.
[Brief description of the drawings]
FIG. 1 is a block diagram showing the configuration of a pattern extraction apparatus according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration of a character recognition apparatus according to an embodiment of the present invention.
FIG. 3 is a flowchart showing processing of a contact candidate location determination / cutting unit in FIG. 2;
FIG. 4 is a diagram showing a specific example of a thinning pattern according to an embodiment of the present invention.
FIG. 5 is a diagram for explaining a method of determining a vertex of
6A is a diagram illustrating a specific example of a point-contact pattern, FIG. 6B is a diagram illustrating an example of the pattern of FIG. 6A, and FIG. 6C is a diagram illustrating FIG. It is a figure which shows the example which the number of connected components of a graph increases when an edge is removed from the graph of ().
7A is a diagram showing a vertex adjacency matrix of the graph of FIG. 6B, and FIG. 7B is a diagram showing a vertex adjacency matrix of the graph of FIG. 6C.
FIG. 8 is a flowchart illustrating a method for obtaining a contact point candidate from a vertex adjacency matrix.
9A is a diagram illustrating a specific example of a side contact pattern, FIG. 9B is a diagram illustrating an example of the pattern of FIG. 9A, and FIG. 9C is a diagram illustrating FIG. ) Is a diagram showing an example in which the number of connected components in the graph increases when the side of the graph and the end points of the side are doubled.
10A is a diagram showing a vertex adjacency matrix of the graph of FIG. 9B, and FIG. 10B is a diagram showing a vertex adjacency matrix of the graph of FIG. 9C.
FIG. 11 is a flowchart illustrating a method of obtaining edge contact candidates from a vertex adjacency matrix.
FIG. 12 is a diagram showing a method of cutting a point contact pattern.
FIG. 13 is a diagram illustrating a method of cutting a side contact pattern.
14 is a diagram showing a cutting example of the pattern of FIG.
FIG. 15 is a diagram illustrating a method for integrating cut patterns.
FIG. 16 is a diagram for explaining a method for determining a contact position by a candidate character lattice method;
FIG. 17 is a block diagram showing a configuration in which pattern extraction processing according to an embodiment of the present invention is realized using software.
FIG. 18 is a diagram illustrating a conventional method for detecting a contact position between characters.
[Explanation of symbols]
1 Feature point detection means
2 Connection relation discrimination means
3 Contact point discrimination means
11 OCR
12 Observation Department
13 Character string extractor
14 Contact character judgment part
15 Contact candidate location determination / cutting section
16 Candidate character lattice generator
17 Recognition dictionary
18 Language processor
19 Knowledge Dictionary
61 CPU
62 ROM
63 RAM
64 communication interface
65 Communication network
66 I / O interface
67 display
68 Printer
69 memory
70 scanner
71 keyboard
72 pointing devices
73 Driver
74 hard disk
75 IC memory card
76 Magnetic tape
77 Floppy disk
78 Optical disc
79 Bus
Claims (15)
前記検出された特徴点を頂点とし、該特徴点で挟まれた線分を辺とするグラフを生成するグラフ生成手段と、
前記グラフ生成手段によって生成されたグラフの各頂点に対応する行成分及び列成分を有する第1の頂点隣接行列を生成し、前記グラフの辺の除去を行った場合のグラフに対応する第2の頂点隣接行列を生成し、該第1の頂点隣接行列と該第2の頂点隣接行列との間で対角化ブロック数が変化した場合、除去された辺の端点を接触文字の接触箇所と判断する接触箇所判別手段と、
を備えることを特徴とするパターン抽出装置。A feature point detecting means for detecting a feature point consisting of an end point, an intersection point, and a bending point of the pattern;
Graph generating means for generating a graph having the detected feature point as a vertex and a line segment sandwiched between the feature points as sides ;
A first vertex adjacency matrix having a row component and a column component corresponding to each vertex of the graph generated by the graph generation means is generated, and a second corresponding to the graph when the edge of the graph is removed A vertex adjacency matrix is generated, and when the number of diagonal blocks changes between the first vertex adjacency matrix and the second vertex adjacency matrix, the end point of the removed side is determined as the contact location of the contact character A contact point discrimination means for
A pattern extraction apparatus comprising:
前記検出された特徴点を頂点とし、該特徴点で挟まれた線分を辺とするグラフを生成するグラフ生成手段と、
前記グラフ生成手段によって生成されたグラフの各頂点に対応する行成分及び列成分を有する第1の頂点隣接行列を生成し、前記グラフの辺及びその辺の両端の特徴点の二重化を行った場合のグラフに対応する第2の頂点隣接行列を生成し、該第1の頂点隣接行列と該第2の頂点隣接行列との間で対角化ブロック数が変化した場合、二重化された辺の位置を接触文字の接触箇所と判断して、切断箇所を検出する切断箇所検出手段と、
を備えることを特徴とするパターン抽出装置。A feature point detecting means for detecting a feature point consisting of an end point, an intersection point, and a bending point of the pattern;
Graph generating means for generating a graph having the detected feature point as a vertex and a line segment sandwiched between the feature points as sides;
When a first vertex adjacency matrix having a row component and a column component corresponding to each vertex of the graph generated by the graph generation unit is generated, and the edge of the graph and the feature points at both ends of the side are doubled When the second vertex adjacency matrix corresponding to the graph of (2) is generated and the number of diagonal blocks between the first vertex adjacency matrix and the second vertex adjacency matrix changes, the position of the doubled edge Cutting point detecting means for detecting the cutting point,
A pattern extraction apparatus comprising:
前記検出された特徴点を頂点とし、該特徴点で挟まれた線分を辺とするグラフを生成するグラフ生成手段と、
前記グラフ生成手段によって生成されたグラフの各頂点に対応する行成分及び列成分を有する第1の頂点隣接行列を生成し、前記グラフの辺の除去を行った場合のグラフに対応する第2の頂点隣接行列を生成し、該第1の頂点隣接行列と該第2の頂点隣接行列との間で対角化ブロック数が変化した場合、除去された辺の端点を接触文字の接触箇所と判断して、切断箇所を検出する切断箇所検出手段と、
を備えることを特徴とする文字切り出し装置。 A feature point detecting means for detecting a feature point consisting of an end point, an intersection point, and a bending point of the pattern;
Graph generating means for generating a graph having the detected feature point as a vertex and a line segment sandwiched between the feature points as sides;
A first vertex adjacency matrix having a row component and a column component corresponding to each vertex of the graph generated by the graph generation means is generated, and a second corresponding to the graph when the edge of the graph is removed A vertex adjacency matrix is generated, and when the number of diagonal blocks changes between the first vertex adjacency matrix and the second vertex adjacency matrix, the end point of the removed side is determined as the contact location of the contact character And a cutting point detecting means for detecting the cutting point,
A character segmentation device comprising:
前記検出された特徴点を頂点とし、該特徴点で挟まれた線分を辺とするグラフを生成するグラフ生成手段と、
前記グラフ生成手段によって生成されたグラフの各頂点に対応する行成分及び列成分を有する第1の頂点隣接行列を生成し、前記グラフの辺及びその辺の両端の特徴点の二重化を行った場合のグラフに対応する第2の頂点隣接行列を生成し、該第1の頂点隣接行列と該第2の頂点隣接行列との間で対角化ブロック数が変化した場合、二重化された辺の位置を接触文字の接触箇所と判断して、切断箇所を検出する切断箇所検出手段と、
を備えることを特徴とする文字切り出し装置。A feature point detecting means for detecting a feature point consisting of an end point, an intersection point, and a bending point of the pattern;
Graph generating means for generating a graph having the detected feature point as a vertex and a line segment sandwiched between the feature points as sides;
When a first vertex adjacency matrix having a row component and a column component corresponding to each vertex of the graph generated by the graph generation unit is generated, and the edge of the graph and the feature points at both ends of the side are doubled When the second vertex adjacency matrix corresponding to the graph of (2) is generated and the number of diagonal blocks between the first vertex adjacency matrix and the second vertex adjacency matrix changes, the position of the doubled edge Cutting point detecting means for detecting the cutting point,
A character segmentation device comprising:
分離後のグラフのサイズに基づいて、前記切断箇所検出手段により検出された切断箇所の候補の絞込みを行う絞込み手段とを備えることを特徴とする請求項3〜6のいずれか1項に記載の文字切り出し装置。A size calculating means for calculating the size of the graph based on the length of the side between the vertices of the graph, the horizontal distance between the vertices, and the vertical distance between the vertices;
7. The method according to claim 3 , further comprising: narrowing-down means for narrowing down candidates for the cut location detected by the cut location detecting means based on the size of the graph after separation. Character cutout device.
前記文字認識手段に実行される文字認識から、認識候補文字との相違度を求め、該相違度が所定値以下のパターンの切断箇所を前記パターンの接触箇所と判定する接触箇所判定手段と、
を備えることを特徴とする請求項3〜7のいずれか1項に記載の文字切り出し装置。Character recognition means for performing character recognition on the pattern cut at the cut position;
From the character recognition executed by the character recognition means, the difference between the recognition candidate character is obtained, and the contact location determination means for determining the cut location of the pattern whose difference is a predetermined value or less as the contact location of the pattern;
The character cutout device according to any one of claims 3 to 7 , further comprising:
前記接触箇所判定手段は、組み合わせにより得られるパターンのうち、最も前記相違度の小さいパターンの組み合わせから得られる切断箇所を前記パターンの接触箇所と判定することを特徴とする請求項8に記載の文字切り出し装置。A combination means for combining the cut pattern with other patterns is provided.
The said contact location determination means determines the cutting location obtained from the combination of the pattern with the smallest said difference among the patterns obtained by a combination as the contact location of the said pattern. Cutting device.
前記検出された特徴点を頂点とし、該特徴点で挟まれた線分を辺とするグラフを生成するステップと、Generating a graph having the detected feature point as a vertex and a line segment sandwiched between the feature points as sides;
前記グラフ生成手段によって生成されたグラフの各頂点に対応する行成分及び列成分を有する第1の頂点隣接行列を生成し、前記グラフの辺の除去を行った場合のグラフに対応する第2の頂点隣接行列を生成し、該第1の頂点隣接行列と該第2の頂点隣接行列との間で対角化ブロック数が変化した場合、除去された辺の端点を接触文字の接触箇所と判断して、切断箇所を検出するステップと、A first vertex adjacency matrix having a row component and a column component corresponding to each vertex of the graph generated by the graph generation means is generated, and a second corresponding to the graph when the edge of the graph is removed A vertex adjacency matrix is generated, and when the number of diagonal blocks changes between the first vertex adjacency matrix and the second vertex adjacency matrix, the end point of the removed side is determined as the contact location of the contact character And a step of detecting a cutting point;
を備えることを特徴とする文字切り出し方法。A character segmentation method comprising:
前記検出された特徴点を頂点とし、該特徴点で挟まれた線分を辺とするグラフを生成するステップと、Generating a graph having the detected feature point as a vertex and a line segment sandwiched between the feature points as sides;
前記グラフ生成手段によって生成されたグラフの各頂点に対応する行成分及び列成分を有する第1の頂点隣接行列を生成し、前記グラフの辺及びその辺の両端の特徴点の二重化を行った場合のグラフに対応する第2の頂点隣接行列を生成し、該第1の頂点隣接行列と該第2の頂点隣接行列との間で対角化ブロック数が変化した場合、二重化された辺の位置を接触文字の接触箇所と判断して、切断箇所を検出するステップと、When a first vertex adjacency matrix having a row component and a column component corresponding to each vertex of the graph generated by the graph generation unit is generated, and the edge of the graph and the feature points at both ends of the side are doubled When the second vertex adjacency matrix corresponding to the graph of (2) is generated and the number of diagonal blocks between the first vertex adjacency matrix and the second vertex adjacency matrix changes, the position of the doubled edge Detecting the cut portion as a contact portion of the contact character,
を備えることを特徴とする文字切り出し方法。A character segmentation method comprising:
前記検出された特徴点を頂点とし、該特徴点で挟まれた線分を辺とするグラフを生成するステップと、Generating a graph having the detected feature point as a vertex and a line segment sandwiched between the feature points as sides;
前記グラフ生成手段によって生成されたグラフの各頂点に対応する行成分及び列成分を有する第1の頂点隣接行列を生成し、前記グラフの辺の除去を行った場合のグラフに対応する第2の頂点隣接行列を生成し、該第1の頂点隣接行列と該第2の頂点隣接行列との間で対角化ブロック数が変化した場合、除去された辺の端点を接触文字の接触箇所と判断して、切断箇所を検出するステップと、A first vertex adjacency matrix having a row component and a column component corresponding to each vertex of the graph generated by the graph generation means is generated, and a second corresponding to the graph when the edge of the graph is removed A vertex adjacency matrix is generated, and when the number of diagonal blocks changes between the first vertex adjacency matrix and the second vertex adjacency matrix, the end point of the removed side is determined as the contact location of the contact character And a step of detecting a cutting point;
を少なくとも実行させるためのプログラムを格納したコンピュータ読み出し可能な記憶媒体。A computer-readable storage medium storing a program for executing at least the above.
前記検出された特徴点を頂点とし、該特徴点で挟まれた線分を辺とするグラフを生成するステップと、Generating a graph having the detected feature point as a vertex and a line segment sandwiched between the feature points as sides;
前記グラフ生成手段によって生成されたグラフの各頂点に対応する行成分及び列成分を有する第1の頂点隣接行列を生成し、前記グラフの辺及びその辺の両端の特徴点の二重化を行った場合のグラフに対応する第2の頂点隣接行列を生成し、該第1の頂点隣接行列と該第2の頂点隣接行列との間で対角化ブロック数が変化した場合、二重化された辺の位置を接触文字の接触箇所と判断して、切断箇所を検出するステップと、When a first vertex adjacency matrix having a row component and a column component corresponding to each vertex of the graph generated by the graph generation unit is generated, and the edge of the graph and the feature points at both ends of the side are doubled When the second vertex adjacency matrix corresponding to the graph of (2) is generated and the number of diagonal blocks between the first vertex adjacency matrix and the second vertex adjacency matrix changes, the position of the doubled edge Detecting the cut portion as a contact portion of the contact character,
を少なくとも実行させるためのプログラムを格納したコンピュータ読み出し可能な記憶媒体。A computer-readable storage medium storing a program for executing at least the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13453999A JP3798179B2 (en) | 1999-05-14 | 1999-05-14 | Pattern extraction device and character segmentation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13453999A JP3798179B2 (en) | 1999-05-14 | 1999-05-14 | Pattern extraction device and character segmentation device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000322514A JP2000322514A (en) | 2000-11-24 |
JP3798179B2 true JP3798179B2 (en) | 2006-07-19 |
Family
ID=15130692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13453999A Expired - Fee Related JP3798179B2 (en) | 1999-05-14 | 1999-05-14 | Pattern extraction device and character segmentation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3798179B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4882929B2 (en) * | 2007-09-11 | 2012-02-22 | 富士ゼロックス株式会社 | Image processing apparatus and image processing program |
JP2009199102A (en) * | 2008-02-19 | 2009-09-03 | Fujitsu Ltd | Character recognition program, character recognition device and character recognition method |
JP5343617B2 (en) * | 2009-02-25 | 2013-11-13 | 富士通株式会社 | Character recognition program, character recognition method, and character recognition device |
JP6166532B2 (en) * | 2012-12-28 | 2017-07-19 | グローリー株式会社 | Character recognition method and character recognition device |
JP6754120B2 (en) * | 2016-10-06 | 2020-09-09 | アイラボ株式会社 | Programs, information storage media and character dividers |
US20220414077A1 (en) * | 2019-12-05 | 2022-12-29 | Nec Corporation | Graph searching apparatus, graph searching method, and computer-readable recording medium |
-
1999
- 1999-05-14 JP JP13453999A patent/JP3798179B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000322514A (en) | 2000-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110738207B (en) | Character detection method for fusing character area edge information in character image | |
JP3445394B2 (en) | How to compare at least two image sections | |
US6970601B1 (en) | Form search apparatus and method | |
JP2951814B2 (en) | Image extraction method | |
Liu et al. | Identification of fork points on the skeletons of handwritten Chinese characters | |
US6711292B2 (en) | Block selection of table features | |
EP0785522A2 (en) | Method and system for detecting a pattern in an image | |
JP6754120B2 (en) | Programs, information storage media and character dividers | |
CN115240213A (en) | Form image recognition method and device, electronic equipment and storage medium | |
CN116824608A (en) | Answer sheet layout analysis method based on target detection technology | |
JP4704601B2 (en) | Character recognition method, program, and recording medium | |
Lawgali et al. | A Frame Work For Arabic Handwritten Recognition Based on Segmentation | |
EP1930852B1 (en) | Image search method and device | |
JP3798179B2 (en) | Pattern extraction device and character segmentation device | |
Kim et al. | Word segmentation of printed text lines based on gap clustering and special symbol detection | |
JP5414631B2 (en) | Character string search method, character string search device, and recording medium | |
JP3904397B2 (en) | Table recognition method | |
JP7338159B2 (en) | Information processing device and program | |
JP3517077B2 (en) | Pattern extraction device and method for extracting pattern area | |
JP2580976B2 (en) | Character extraction device | |
JP3157530B2 (en) | Character extraction method | |
JP3620299B2 (en) | Document filing device and document filing method | |
JP3209197B2 (en) | Character recognition device and recording medium storing character recognition program | |
JP4571447B2 (en) | Character image extraction program, character image extraction method, and character image extraction apparatus | |
JP2993533B2 (en) | Information processing device and character recognition device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051027 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051226 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060418 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060419 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090428 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120428 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130428 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140428 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |