JP2940446B2 - ストロークパターン整合装置 - Google Patents

ストロークパターン整合装置

Info

Publication number
JP2940446B2
JP2940446B2 JP7231043A JP23104395A JP2940446B2 JP 2940446 B2 JP2940446 B2 JP 2940446B2 JP 7231043 A JP7231043 A JP 7231043A JP 23104395 A JP23104395 A JP 23104395A JP 2940446 B2 JP2940446 B2 JP 2940446B2
Authority
JP
Japan
Prior art keywords
stroke
matching
line segment
partial
storage unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP7231043A
Other languages
English (en)
Other versions
JPH0981688A (ja
Inventor
敬嗣 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP7231043A priority Critical patent/JP2940446B2/ja
Publication of JPH0981688A publication Critical patent/JPH0981688A/ja
Application granted granted Critical
Publication of JP2940446B2 publication Critical patent/JP2940446B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Character Discrimination (AREA)
  • Image Analysis (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、座標点列のストロ
ークパターンの整合装置に関し、特にストロークパター
ンと2次元のビットマップ画像データを整合する装置に
関する。
【0002】
【従来の技術】従来この種のストロークパターンの整合
装置は、オンラインデータとして座標点列のデータの形
式で入力された文字データに対する文字認識のために用
いられている。例えば、「迫江:Rubber String Matc
hing法による手書き文字認識、電子通信学会パターン認
識と学習研究会資料PRL74−20、1974年」に
示されるように、時系列として入力されたストロークパ
ターンと白黒の2値画像として入力されたパターンとの
整合をとることにより、文字認識を実行する方法が記述
されている。
【0003】図3は、従来の技術を説明する図である。
端子101から入力された時系列のストロークパターン
はストローク記憶部102に保存される。この際に、ス
トロークパターンはK個の時系列の線分データから構成
されているとし、各時点での線分データをBkとする。
Bkは、DiK、Djk、Wk、Mk、Nk、Ik1、
Ik2、Jk1、Jk2の9個の要素からなっている。
DiKとDjkは、線分データの方向を示す単位ベクト
ルを表わす。単位は画素数であるが、距離の定義はユー
クリッド距離でも、市街地距離でも、どのような距離で
もよい。8隣接距離を用いた場合の、8方向の方向単位
ベクトルは、(DiK、Djk)の組み合わせは、
(1,0),(1,1),(0,1),(−1,1),
(−1,0),(−1,−1),(0,−1),(1,
−1)の8種類のうちの何れかとなる。必ずしもこのよ
うな方向単位ベクトルである必要はない。Wkは線分の
重要度を表わす係数で、適当に定めることができる。通
常のストロークでは、Wkを1とし、ストロークの終点
と他のストローク始点を結ぶ隠れストロークの上にある
Wkでは0としてもよい。MkとNkは、当該線分の最
短長と最大長を表わし、当該ストロークを伸長した場合
にもNkを越えてはならない。また、当該ストロークを
短縮した際にも、Mkより短くしてはならない。Ik
1、Jk1は当該ストロークの終点が存在する矩形領域
の左上の点の座標を示す。また、Ik2、Jk2は当該
ストロークの終点が存在する矩形領域の右下の点の座標
を示す。K個の線分データから1つのストロークのデー
タは成り立っているが、そのようなストロークパターン
が複数個含まれても同様に扱うことができる。
【0004】次に端子106から、2次元のビットマッ
プ画像データが入力され、画像記憶部307に記憶され
る。当該ビットマップ画像データは、各画素が値を持つ
ものならば、2値でも多値でもどちらでもよい。ただ
し、値が大きいほうが線らしい、つまり黒い線であるこ
とを表わすものとする。そのビットマップ画像データを
A(x,y)として表現する。これは横方向に第x画素
目、縦方向に第y画素目である画素の値を表わす。
【0005】ストローク整合部303では、ストローク
記憶部102のストロークパターンと画像記憶部307
のビットマップ画像データを用いて整合を実行する。線
分がある画素を通過した場合の当該画素での整合度を、
当該画素の値とする。第1番目の線分B1から順に、第
k番目の線分Bkの終点が存在する尤度として、当該画
素での整合度Gk(x,y)を求める。最終的に、第K
番目の線分BKの整合度GK(x,y)を求めて、最大
値を与える整合度を持つ画素(X,Y)が、最も当該ス
トロークが2次元ビットマップ画像データに一致した場
合の終点の位置を与える。本整合度は、下記の式(1)
式(2)式(3)によって表現される漸化式の計算を実
行して求められる。初期値であるG0(x,y)の設定
は、式(1)に従った計算を実行して得る。
【0006】 GO(x,y)=0 (xは1からIまでの値、yは1からJまでの値) (1) ここで、I,Jは、2次元ビットマップ画像の縦横サイ
ズを表わす。次に、式(2)に従った計算の実行により
第k番目の線分Bk単体の整合の程度Hk(Ik,J
k,Lk)を求める。この場合には、第k番目の線分の
終点の座標が(Ik,Jk)であった場合に、当該線分
の長さがLkとした場合の整合として求める。このとき
に当該線分の終点(Ik,Jk)は、先に述べた線分デ
ータBkの要素である終点の範囲に属さねばならない。
つまり、IkはIk1以上でIk2以下でなければなら
ず、JkはJk1以上でJk2以下でなければならな
い。
【0007】 Hk(Ik, Jk, Lk)=Wk Σx=1, Lk A(Ik-DiK(x-1), Jk-Djk(x-1)) (2) ここでΣx=1,Lk Yxは、Lk個の要素を持つY
xをx=1からLkまでの総和を求めることを表わす。
【0008】式(1)を用いて初期値の設定をして、式
(2)と式(3)をくり返し適用した計算を実行して、
最終的に第K番目の線分の終了点までの整合を実行す
る。
【0009】 Gk(x,y)=MAX(Hk(x,y,L)+Gk-1(x-Dik*L, y-Djk*L) 、Mk≦L ≦Nk) (3) ここで、MAX(F,Z)は、条件Zの下でのFの最大
値を求めることに相当する。この際に最大値を与えたL
の値をLkとして記憶しておく。
【0010】最終的にスコア計算部305では、第1番
目から第K番目の線分までの整合度を表わすGK(x,
y)の中から最大値GKを求める。その値と記憶されて
いる各線分の長さLkを用いて整合度のスコアを式
(4)に従って計算して求める。
【0011】 S=GK/(sqrt (Σk=1,K Lk *Wk**2)*sqrt Σx=1,I Σy=1,J A(x,y)**2)) (4) ここで、sqrt(x)はxの平方根を表わす。またx
**2は、xの二乗を表わす。求められたスコアSを端
子109から出力する。
【0012】多数の種類のパターンのクラスから入力し
たパターンが最も近いクラスを求めるためには、入力パ
ターンがストロークパターンで、対象のクラス集合が2
次元画像データとして表現されている場合には、入力ス
トロークパターンを端子101から入力して、認識対象
のクラスのデータを順次端子106から入力して、その
整合度のスコアを端子109から得て、その最大値を与
えるパターンのクラスを、認識結果とする。逆に入力パ
ターンが2次元画像データで、対象のクラス集合がスト
ロークパターンとして表現されている場合には、入力2
次元画像データを端子106から入力して、認識対象の
クラスのストロークパターンデータを順次端子101か
ら入力して、その整合度のスコアを端子109から得
て、その最大値を与えるパターンのクラスを、認識結果
とする。スコアの探索の際に、線分の方向(DiK,D
jk)のみに加算をおこなってスコアを計算するだけで
なく式(2)の計算の際に、少し方向を変えた場合のス
コアも計算してより大きいほうを選択することにより、
少々の方向変化を許容した整合を実行することができ
る。
【0013】
【発明が解決しようとする課題】この従来のストローク
パターン整合装置では、個々のストローク内の線分は、
その終点に既に整合されたスコアが表示されるだけで、
既に整合を終了した線分群がどのように整合されてその
終点に至ったかの情報は得られない。そのために図6に
示すような「2」のストロークパターンを図7のような
「7」の2次元ビットマップ画像データに整合した場合
に、図6の最終線分601は折れ曲がって図8の最終線
分801のようにその前線分と同じ場所を通るように変
形される。このために図6のストロークパターンは、図
7の同一線分を2回分通過してスコアを計算するので、
図7の「7」の2次元ビットマップ画像データに「7」
のストロークパターンを整合した場合よりも高いスコア
を出力し、誤った認識結果を与えてしまう。
【0014】
【課題を解決するための手段】上述した問題点を解決す
るために、本発明のストロークパターン整合装置は、ス
トロークパターン記憶するストロークパターン記憶手
段と2次元ビットマップ画像データを記憶する画像記憶
手段を有し、ストロークパターンと2次元ビットマップ
画像データとを整合するストローク整合手段とスコア計
算手段によって構成されるストロークパターン整合装置
において、変形されたストロークを記憶する変形ストロ
ーク記憶手段と、変形ストロークに基づいて2次元ビッ
トマップ画像データを修正する差分画像生成手段と、差
分画像生成手段によって生成された差分画像に基づいて
整合度を計算するスコア計算手段とを備えている。
【0015】本発明第2項のストロークパターン整合装
置は、ストロークパターン記憶するストロークパター
ン記憶手段と2次元ビットマップ画像データを記憶する
画像記憶手段を有し、ストロークパターンと2次元ビッ
トマップ画像データとを整合するストローク整合手段と
スコア計算手段によって構成されるストロークパターン
整合装置において、ストロークパターンから特徴点を抽
出して部分ストローク分割する特徴点検出記憶手段と、
生成された部分ストロークを2次元ビットマップ画像デ
ータと整合する部分ストローク整合手段と、変形された
部分ストロークを記憶する部分変形ストローク記憶手段
と、部分変形ストロークに基づいて2次元ビットマップ
画像データを修正する部分差分画像生成手段と、部分差
分画像生成手段によって生成された差分画像を画像記憶
手段へ転送する部分と、全体的な整合を計算するスコア
計算手段を備えている。
【0016】また、本発明第3項のストロークパターン
整合装置は、ストロークパターン記憶するストローク
パターン記憶手段と2次元ビットマップ画像データを記
憶する画像記憶手段を有し、ストロークパターンと2次
元ビットマップ画像データとを整合するストローク整合
手段とスコア計算手段によって構成されるストロークパ
ターン整合装置において、入力された2次元ビットマッ
プ画像データの特徴点を検出する特徴点生成記憶手段
と、変形されたストロークを記憶する変形ストローク記
憶手段と、変形ストロークが通過した特徴点を検出する
通過特徴点検出手段と、通過した特徴点に基づいて整合
度を修正して求めるスコア計算手段を備えている。
【0017】また、本発明第4項のストロークパターン
整合装置は、ストロークパターン記憶するストローク
パターン記憶手段と2次元ビットマップ画像データを記
憶する画像記憶手段を有し、ストロークパターンと2次
元ビットマップ画像データとを整合するストローク整合
手段とスコア計算手段によって構成されるストロークパ
ーン整合装置において、ストロークパターンから特徴点
を抽出して部分ストローク分割する特徴点検出記憶手段
と、生成された部分ストロークを2次元ビットマップ画
像データと整合する部分ストローク整合手段と、部分変
形ストロークが通過する特徴点を検出する通過特徴点検
出手段と、変形された部分ストロークを記憶するととも
に、通過特徴点検出手段からの信号に従って部分ストロ
ークの整合度を修正する部分変形ストローク記憶手段
と、全体的な整合を計算するスコア計算手段を備えてい
る。
【0018】
【発明の実施の形態】次に、本発明について図面を参照
して説明する。図1は、本発明の一実施例を示すブロッ
ク図である。本発明のストロークパターン整合装置は、
ストローク記憶部102と、画像記憶部107と、スト
ローク整合部103と、変形ストローク記憶部104
と、差分画像生成部108と、スコア計算部105とか
らなる。
【0019】端子101から入力された時系列のストロ
ークパターンはストローク記憶部102に保存される。
この際に、ストロークパターンはK個の時系列の線分デ
ータから構成されているとし、各時点での線分データを
Bkとする。Bkは、DiK、Djk、Wk、Mk、N
k、Ik1、Ik2、Jk1、Jk2の9個の要素から
なっている。DiKとDjkは、線分データの方向を示
す単位ベクトルを表わす。単位は画素数であるが、距離
の定義はユークリッド距離でも、市街地距離でも、どの
ような距離でもよい。8隣接距離を用いた場合の、8方
向の方向単位ベクトルは、(DiK,Djk)の組み合
わせは、(1,0),(1,1),(0,1),(−
1,1),(−1,0),(−1,−1),(0,−
1),(1,−1)の8種類のうちの何れかとなる。必
ずしもこのような方向単位ベクトルである必要はない。
Wkは線分の重要度を表わす係数で、適当に定めること
ができる。通常のストロークでは、Wkを1とし、スト
ロークの終点と他のストローク始点を結ぶ隠れストロー
クの上にあるWkでは0としてもよい。MkとNkは、
当該線分の最短長と最大長を表わし、当該ストロークを
伸長した場合にもNkを越えてはならない。また、当該
ストロークを短縮した際にも、Mkより短くしてはなら
ない。Ik1、Jk1は当該ストロークの終点が存在し
うる矩形領域の左上の点の座標を示す。また、Ik2、
Jk2は当該ストロークの終点が存在しうる矩形領域の
右下の点の座標を示す。K個の線分データから1つのス
トロークのデータは成り立っているが、そのようなスト
ロークパターンが複数個含まれても同様に扱うことがで
きる。その場合には、Kの値はストローク毎に異なって
いてもよい。
【0020】次に端子106から、2次元のビットマッ
プ画像データが入力され、画像記憶部107に記憶され
る。当該ビットマップ画像データは、各画素が値を持つ
ものならば、2値でも多値でもどちらでもよい。ただ
し、値が大きいほうが線らしい、つまり黒い線であるこ
とを表わすものとする。そのビットマップ画像データを
A(x,y)として表現する。これは横方向に第x画素
目、縦方向に第y画素目である画素の値を表わす。
【0021】ストローク整合部103では、ストローク
記憶部102のストロークパターンと画像記憶部107
のビットマップ画像データを用いて整合を実行する。線
分がある画素を通過した場合に当該画素での整合度を、
当該画素の値とする。第1番目の線分B1から順に第k
番目の線分Bkまでを整合した結果として、第k番目の
線分Bkの終点が存在する尤度として、当該画素での整
合度Gk(x,y)を求める。最終的に、第K番目の線
分BKの整合度GK(x,y)を求めて、最大値を与え
る整合度を持つ画素(X,Y)が、最も当該ストローク
が2次元ビットマップ画像データに一致した場合の終点
の位置を与える。本整合度は、前記従来技術の説明の式
(1)式(2)および後述の式(5)によって表現され
る漸化式の計算を実行して求められる。初期値であるG
0(x,y)の設定は、式(1)に従った計算を実行し
て得る。次に、式(2)に従った計算の実行により第k
番目の線分の整合の程度Hk(Ik,Jk,Lk)を求
める。この場合には、第k番目の線分の終点の座標が
(Ik,Jk)であった場合に、当該線分の長さがLk
とした場合の整合として求める。このときに当該線分の
終点(Ik,Jk)は、先に述べた線分データBkの要
素である終点の範囲に属さねばならない。つまり、Ik
はIk1以上でIk2以下でなければならず、JkはJ
k1以上でJk2以下でなければならない。ストローク
整合部103では、式(2)の計算の実行と同時に、第
k番目の線分の整合の際に、(Ik,Jk)座標を終点
として、線分の長さをLkとする線分の始点の座標をS
Ik(Ik,Jk,Lk)、SJk(Ik,Jk,L
k)として変形ストローク記憶部104へ転送する。
【0022】式(1)を用いて初期値の設定をして、式
(2)と式(5)をくり返し適用した計算を実行して、
最終的に第K番目の線分の終了点までの整合を実行す
る。
【0023】 Gk(Ik,Jk)=MAX(Hk(x,y,L)+Gk-1(SIk(Ik,Jk,L) 、SJk(Ik,Jk,L)) 、 Mk≦L ≦Nk) (5) ここで、MAX(F,Z)は、条件Zの下でのFの最大
値を求めることに相当する。この際に変形ストローク記
憶部104に最大値を与えたLの値をLkとして転送
し、変形ストローク記憶部104では(SIk(Ik,
Jk,Lk)、SJk(Ik,Jk,Lk))を始点座
標データ(SIk(Ik, Jk))、SJk(Ik,J
k))として記憶する。
【0024】最後の線分である第K番目の線分の整合を
終了した段階で、GK(x,y)の中から最大の値を持
つ座標X,Yを求めた後に、差分画像生成部108とス
コア計算部105が起動される。図9を用いてスコア計
算部105と差分画像生成部108の説明をする。
【0025】差分画像生成部108では、画像記憶部1
07から2次元ビットマップ画像データを差分画像記憶
部906に読み込む。また、スコア計算部105では、
変形ストローク記憶部104から、最終点である第K番
目の線分の終点である(X,Y)から始点座標データ
(SIK(X,Y),SJK(X,Y))を読みだし
て、線分始点終点記憶部901に記憶する。これらの第
K番目の線分の終点座標と始点座標を、線分生成部90
2に送る。線分生成部902では、当該線分の終点から
始点に向かって線分を引き、当該線分が通過する全ての
画素の値を差分画像記憶部906ら読みして、線分
スコア加算部903で順次スコア値TKに加算する。ま
た、終点と始点の間の距離を求めて、線分長記憶部90
5にPKとして記憶する。本実施例では、終点始点間の
距離をユークリッド距離で求めたが、どのような距離尺
度でも本質的な問題はない。線分生成部903では、始
点座標(x1,y1)と終点座標(x2,y2)を得た
ときに、dx=x2−x1とdy=y2−y1を計算し
て求め、dxの絶対値がdyの絶対値よりも大きいとき
とそれ以外の場合に分けて、線分の生成を行う。dxの
絶対値がdyの絶対値よりも大きい場合には、横方向に
x1からx2まで1画素づつ移動させて、各々のx座標
でのy座標の値をy=dy*(x−x1)/dx+y1
として計算して求める。また、dxの絶対値がdyの絶
対値よりも大きくない場合には、縦方向にy1からy2
まで1画素づつ移動させて、各々のy座標でのx座標の
値をx=dx*(y−y1)/dy+x1として計算し
て求める。これによって得られた(x,y)座標を差分
画像記憶部906に転送して、その座標での値を線分ス
コア計算部903に転送させる。このときに(x,y)
座標は一時的に差分画像記憶部906に保存される。
【0026】つづいて、差分画像計算部907では、差
分画像記憶部906に一時的に記憶された2次元ビット
マップ画像データから、当該線分の周辺の画素の値を抑
制する。抑制の計算では、画素値から一定値を減算して
もよいし、一定係数をかけてもよい。抑制のしかたは本
質的な問題ではない。本実施例では、2次元ビットマッ
プ画像データの各画素の値が、1から−1をとる場合に
ついて説明する。線分生成部902で生成されて、差分
画像計算部907に記憶されている線分上の画素の座標
データを読みだしながら、差分画像の生成を実行する。
読みだされた座標を(x,y)として、当該画素を中心
とする半径aの円の内部に含まれる画素の値を差分画像
記憶部906から読みだし、その値から2を減算し、再
び差分画像記憶906の元の位置に記録する。半径aの
値は、実施例では3画素としたが、これは本質的な問題
ではないので、どのような値でもよい。また、抑制の方
法では、実施例では一定値の減算としたが、どのような
値でもよい。
【0027】上記の第K番目の線分の始点は、同時に第
K−1番目の線分の終点の座標でもあり、上記と同様
に、線分始点終点記憶部901では、第K番目の線分の
始点を第K−1番目の線分の終点として、変形ストロー
ク記憶部104から当該線分BK−1の始点座標を求め
記憶する。当該線分BK−1の始点終点を用いて、線分
生成部902では、線分上の座標値の集合を生成し、線
分スコア計算部903に転送して、スコア値Tk−1を
記憶する。同時に線分長記憶部905では始点終点間の
線分長を求めて、線分長P−1として記憶する。続い
て差分画像生成部108中の差分画像計算部907を起
動して、当該線分B−1が通過する画素の値を抑制す
る。
【0028】同様に、第k+1番目の線分の処理が終了
した段階では、第k番目の線分の終点の座標(Xk,Y
k)が得られている。線分始点終点記憶部901では、
変形ストローク記憶部104から、Xk,Ykから当該
線分の始点座標座標(SIk(Xk,Yk)、SJk
(Xk,Yk))を求める。これによって得られた当該
線分Bkの終点座標と始点座標を線分生成部902に転
送して、当該線分Bk上の座標値の集合を生成し、線分
スコア計算部903に転送して、スコア値Tkを計算し
て、結果を記憶する。同時に線分長記憶部905では始
点終点間の線分長を求めて、線分長Pkとして記憶す
る。続いて差分画像生成部108中の差分画像計算部9
07を起動して、当該線分Bkが通過する画素の値を抑
制する。
【0029】最終線分である第K番目の線分から逆順
に、第1番目の線分まで、線分スコアの計算と、差分画
像の計算を繰り返して、第1番目の線分のスコア計算の
処理を終了した段階で、スコア計算部105内の線分ス
コア計算部903には、スコア値Tk(kは1からK)
が記憶され、線分長記憶部905には線分長Pk(kは
1からKまで)が記憶されている。ストロークスコア計
算部904では、最終的なスコアの計算を式(6)に従
って実行する。
【0030】 S=(Σk=1,K Tk*Wk)/ (sqrt(Σk=1,K Pk*Wk**2)*sqrt(Σx=1,I Σy=1,J A(x,y)**2)) (6) ここで、sqrt(x)はxの平方根を表わす。またx
**2は、xの二乗を表わす。求められたスコアSを端
子109から出力する。Wkは、ストローク記憶部10
2に記憶されている値を転送して、利用する。また、A
(x,y)は画像記憶部107に記憶されている修正さ
れていない入力パターンの値を用いる。
【0031】多数の種類のパターンのクラスから入力し
たパターンが最も近いクラスを求めるためには、入力パ
ターンがストロークパターンで、対象のクラス集合が2
次元画像データとして表現されている場合には、入力ス
トロークパターンを端子101から入力して、認識対象
のクラスのデータを順次端子106から入力して、その
整合度のスコアを端子109から得て、その最大値を与
えるパターンのクラスを、認識結果とする。逆に入力パ
ターンが2次元画像データで、対象のクラス集合がスト
ロークパターンとして表現されている場合には、入力2
次元画像データを端子106から入力して、認識対象の
クラスのストロークパターンデータを順次端子101か
ら入力して、その整合度のスコアを端子109から得
て、その最大値を与えるパターンのクラスを、認識結果
とする。スコアの探索の際に、線分の方向(DiK,D
jk)のみに加算をおこなってスコアを計算するだけで
なく式(2)の計算の際に、少し方向を変えた場合のス
コアも計算してより大きいほうを選択することにより、
少々の方向変化を許容した整合を実行することができ
る。
【0032】本実施例では、スコア計算部105の起動
の際に、スコアGK(x,y)から最大値のみを選択し
て、差分画像の生成とスコアの再計算を実施したが、ス
コアGK(x,y)の極大値を複数選択して、各極大値
毎に差分画像の生成とスコアの再計算を実施し、得られ
たスコアの最大値を最終的な整合のスコアとして端子1
09から出力してもよい。
【0033】次に、本発明の別の実施例を図2のブロッ
ク図を用いて説明する。本発明のストロークパターン整
合装置は、ストローク記憶部102と、画像記憶部20
7と、特徴点検出記憶部201と、部分ストローク整合
部203と、部分変形ストローク記憶部204と、部分
差分画像生成部208と、スコア計算部105とからな
る。
【0034】端子106から、2次元のビットマップ画
像データが入力され、画像記憶部107に記憶される。
当該ビットマップ画像データは、各画素が値を持つもの
ならば、2値でも多値でもどちらでもよい。ただし、値
が大きいほうが線らしい、つまり黒い線であることを表
わすものとする。そのビットマップ画像データをA
(x,y)として表現する。これは横方向に第x画素
目、縦方向に第y画素目である画素の値を表わす。
【0035】端子101から入力された時系列のストロ
ークパターンはストローク記憶部102に保存される。
この際に、ストロークパターンはK個の時系列の線分デ
ータから構成されているとし、各時点での線分データを
Bkとする。Bkは、DiK、Djk、Wk、Mk、N
k、Ik1、Ik2、Jk1、Jk2の9個の要素から
なっている。これらは、図1の実施例で説明したものと
同じものとする。K個の線分データから1つのストロー
クのデータは成り立っているが、そのようなストローク
パターンが複数個含まれても同様に扱うことができる。
【0036】ストローク記憶部102に蓄積されたスト
ロークパターンデータは、特徴点検出記憶部201に転
送される。特徴点検出記憶部201では、あらかじめ定
められた特徴を、ストロークパターンから検出する。本
実施例では、ストロークの屈曲点を、特徴点として選択
した。屈曲点を検出するためには、ストロークデータの
うちの第1番目の線分から第K番目の線分まで、順に方
向変化を累積して、一定しきい値を越える方向変化が検
出された場合に、その接続点を屈曲点として記憶する。
方向変化累積値として、初期的にD=0とする。第1番
目の線分と第2番目の線分の方向変化は、線分データの
うちの方向を示す要素Di1,Dj1とDi2,Dj2
をもちいて、式(7)に従った計算により方向変化を求
め累積する。
【0037】 D=D+ArcCOS(Dik*Di(k+1)+Djk*D(k+1)2/ Norm(Dik,Djk)/Norm(Di(k+1),Dj(k+1))) (7) ここで、ArcCOSは、COS関数の逆関数を与える
もので、単位はラジアンとする。また、Norm(x,
y)は、ベクトル(x,y)のノルムを与える関数とす
る。
【0038】kを1から順に1づつ増加してDの値を計
算していき、kがrの時にDの絶対値がしきい値を越え
たとすると、第r番目の線分Brと第r+1番目の線分B
(r+1)との接続点を特徴点として検出し、記憶す
る。それと同時にD=0とリセットして、再びr+1か
ら昇順に方向変化量の累積を求めて、特徴点検出を繰り
返す。得られた特徴点は、その直前の線分の番号を記憶
する。例えば、第k1番目と第(k1)+1番目の線分
の間の点と第k2番目と第(k2)+1番目の線分の間の
点が特徴点として検出された場合には、特徴点検出記憶
部201では、r(1)=k1とr(2)=k2を記憶
する。本実施例では、特徴点検出のためのしきい値を、
π/2としたが、この値は本質的なものではない。ま
た、検出対象とする特徴点は、本実施例では屈曲点とし
たが、ストロークを一定長毎に区切る点でもよいし、線
分同士の交点、屈曲点、端点などの幾何的な特徴点を組
み合わせたものでもよいし、これらの幾何的な特徴点
と、一定長ごとの特徴点を組み合わせたもでもよい。特
徴点の検出方法は本質的な問題ではない。
【0039】n個の特徴点が検出されたとして以降の説
明を行う。このとき検出されたn個の特徴点に接続する
線分の番号はr(1)からr(n)で、特徴点検出記憶
部201に記憶されているものとする。このときn個の
特徴点でストロークデータを区切り、得られたn+1個
の部分ストロークをSt(1)からSt(n+1)とし
て表わす。部分ストローク整合部203では、各部分ス
トロークを図1のストローク整合部103と同様の処理
で画像記憶部内の2次元ビットマップ画像データと整合
する。その整合の結果は、部分変形ストローク記憶部2
04に記憶される。部分変形ストローク記憶部204で
は、極大のスコアを与える点を複数個選択し、それを部
分差分画像生成部208に転送して、選択された複数個
のうちの1つを部分ストロークの最終点とした場合の差
分画像を生成し、画像記憶部207に転送し、記憶す
る。この記憶された差分画像は、次の部分ストロークの
整合に利用される。
【0040】初期的に部分ストローク整合部203の整
合度のマップG0(x,y)を式(1)と同様にして初
期化する。第R番目の部分ストロークを実行する場合に
ついて説明する。既に第0番目から第R−1番目までの
部分ストロークの整合は終了しているものとする。第R
−1番目の部分ストロークのマッチングにおいてQ(R
−1)個の極大点が選択されているとすると、合計Q
(R−1)個の整合度のマップG(R−1)(x,y,
q)と合計Q(R−1)個の差分画像A(R−1)
(x,y,q)が生成されているものとする。ただし、
qは1からQ(R−1)までの自然数で、R−1番目の
部分ストロークを整合した際の極大点の番号を表わす。
整合度マップの集合のうちの1つを初期値として、同一
番号の差分画像を用いて第R番目の部分ストロークの整
合を実行し、その変形ストロークを部分変形ストローク
記憶部204に記憶するとともに、部分ストロークの最
終線分の整合後のスコアマップGK(x,y)から複数
の極大点を求め、第R番目の部分ストローク整合後の通
し番号で第q1番目の極大点を選択して、極大点以外を
抑制したスコアマップを生成してG(R)(x,y,q
1)として記憶するとともに、部分差分画像生成部20
8で極大点を最終点とするストローク部分を抑制した部
分差分画像A(R)(x,y,q1)を生成して画像記
憶部207へ転送記憶する。これと同時に第R番目の部
分ストロークに関して通し番号でq1番目の極大点は、
第R−1番目の部分ストロークに関して通し番号でq番
目の極大点に関して生成されたことを示すデータ(R,
q1,q)を部分変形ストローク記憶部204に記憶す
る。第R−1番目の部分ストロークのマッチングによっ
て生成されたQ(R−1)個の極大点に関する全てのス
コアマップG(R−1)(x,y,q)と部分差分画像
A(R−1)(x,y,q)に対して上記の処理をくり
返し実行する。第n+1番目の部分ストロークの整合を
終了した段階で、Q(n)枚のスコアマップG(n)
(x,y,q)の中で最大値を与える点を選択し、その
点のスコアをスコア計算部205に転送して最終スコア
を計算して端子109から出力する。
【0041】以降に図2と図10を参照して詳細な実施
例の説明を行う。第R番目の部分ストロークの整合につ
いて説明する。
【0042】第R−1番目の部分ストロークのマッチン
グにおいてQ(R−1)個の極大点が選択されていると
すると、合計Q(R−1)個の整合度のマップG(R−
1)(x,y,q)と合計Q(R−1)個の差分画像A
(R−1)(x,y,q)が生成されているものとす
る。ただし、qは1からQ(R−1)までの自然数で、
R−1番目の部分ストロークを整合した際の極大点の通
し番号を表わす。これらの整合度マップは部分変形スト
ローク記憶部204中の整合度マップ記憶部1001に
記憶されているものとする。Q(R−1)個の整合度マ
ップのすべてについて第R番目の部分ストロークの整合
を実行するが、ここでは既にq−1個の整合度マップに
ついての処理は終了し、既にQ(R)個の極大点が選択
されているものとする。Q(R)は、R−1番目の部分
ストロークの整合を終了した段階では、0である。
【0043】部分ストローク整合部203では、整合度
マップ記憶部1001から第q番目の整合度マップG
(R−1)(x,y,q)を読みだし、式(8)に従っ
て整合度の初期設定を実施する。
【0044】 G0(x,y)=G(R−1)(x,y,q) (8) xは1からIまでの整数、yは1からJまでの整数ただ
し、I,Jは入力画像のサイズを表わす。同時に累積線
分長記憶部1006でも、当該線分の直前の部分ストロ
ークの最終線分のデータを用いて、第R番目の部分スト
ローク用の累積線分長マップL(0,x,y)=La
(x,y,R−1,q)として初期化する。
【0045】第R番目の部分ストロークの線分数をK個
として、部分ストローク整合部203では、ストローク
記憶部102のストロークパターンと画像記憶部207
の差分ビットマップ画像データA(R−1)(x,y,
q)を用いて整合を実行する。ただし、ここではA(R
−1)(x,y,q)を便宜的にA(x,y)として処
理手順を説明する。線分がある画素を通過した場合に当
該画素での整合度を、その画素の値とする。第1番目の
線分B1から順に、第k番目の線分の終点が存在する尤
度として、その画素での整合度Gk(x,y)を求め
る。最終的に、第K番目の線分BKの整合度GK(x,
y)を求める。本整合度は、式(2)式(5)によって
表現される漸化式の計算を実行して求められる。式
(2)に従った計算の実行により第k番目の線分の整合
の程度Hk(Ik,Jk,Lk)を求める。この場合に
は、第k番目の線分の終点の座標が(Ik,Jk)であ
った場合に、当該線分の長さをLkとした場合の整合と
して求める。このときに当該線分の終点(Ik,Jk)
は、先に述べた線分データBkの要素である終点の範囲
に属さねばならない。つまり、IkはIk1以上でIk
2以下でなければならず、JkはJk1以上でJk2以
下でなければならない。部分ストローク整合部203で
は、式(2)の計算の実行と同時に、第k番目の線分の
整合の際に、(Ik,Jk)座標を終点として、線分の
長さをLkとする線分の始点の座標をSIk(Ik,J
k,Lk)、SJk(Ik,Jk,Lk)として記憶す
る。さらに、式(5)の計算を実行する際には、整合度
の最大値を与えたLの値をLmとして、式(2)で得ら
れたSIk(x,y,Lm)、SJk(x,y,Lm)
をSI(k,x,y,R,q)、SJ(k,x,y,
R,q)として、部分変形ストローク記憶部204内の
線分始点終点記憶部1002に転送して記憶する。式
(5)の計算において得られた最大値を与える線分長
は、線分の始点の累積線分長に加算されて累積線分長マ
ップL(k,x,y)を下記の式(9)を用いて修正
し、累積線分長記憶部1006に記憶する。
【0046】 L(k,x,y)=L(k-1, SIk(x,y,Lm), SJk(x,y,Lm)*Wk**2 (9) 式(2)と式(5)をくり返し適用した計算を実行し
て、最終的に第R番目の部分ストローク中の最終線分で
ある第K番目の線分の終了点までの整合を実行する。つ
ぎに、GK(x,y)の中から極大点の検出を行い、極
大点の集合の中から複数の極大点を選択する。その時に
選択された極大点の個数をU(q)とする。極大点の検
出は、本実施例では、下の式(10)の条件を満たした
(x,y)としたが、どのような方法でもい。 GK(x,y) ≧GK(x-1,y) かつ GK(x,y) ≧GK(x+1,y) かつ GK(x,y) ≧GK(x,y-1) かつ GK(x,y) ≧GK(x,y+1) かつ GK(x,y) ≧GK(x-1,y-1) かつ GK(x,y) ≧GK(x-1,y-1) かつ GK(x,y) ≧GK(x+1,y-1) かつ GK(x,y) ≧GK(x+1,y+1) かつ GK(x,y) >GT (10) また、本実施例では、極大点の選択は、Ukを一定値5
とし、検出された極大点の数U(q)がUk以下のとき
は、すべての極大点を選択し記憶する。また、検出され
た極大点の数U(q)が5個以上のときは、GKの値が
大きいものから順に5個を選択し記憶する。記憶したG
Kの極大点座標は、V(R,Q(R)+1)からV
(R,Q(R)+U(q))として、部分ストローク終
点座標記憶部1003に記憶する。さらに、部分ストロ
ークの極大点番号q1と1つ前の部分ストロークの関連
する極大点番号qと部分ストローク番号Rを合わせて、
(R,q,r1)として、極大点番号記憶部1004に
記憶する。また、本実施例では、式(10)でのしきい
値GTを10としたが、どのような値でもよい。
【0047】次に、整合度マップGK(x,y)とビッ
トマップ画像データA(x,y)と累積線分長マップL
(K,x,y)の修正を行う。部分ストローク終点座標
記憶部1003に記憶された極大点V(R,Q(R)+
1)からV(R,Q(R)+U(q))までのU(q)
個の修正データを修正する。hを1からU(q)までの
自然数として、極大点V(R,Q(R)+h)に関して
修正処理の動作の説明をする。
【0048】部分変形ストローク記憶部204内の整合
度マップ修正部1005は、整合度マップ記憶部100
1から整合度マップGK(x,y)を読み込み、部分ス
トローク終点座標記憶部1003から第h番目の終点座
標である極大点座標V(R,Q(R)+h)を読み込
む。次に、座標V(R,Q(R)+h)の値を残して、
それ以外の座標の整合度から十分大きな値を減算する。
本実施例では、−10000としたが、これは本質的な
問題ではなく、どのような値でもよい。これによって生
成された整合度マップは、G(R)(x,y,Q(R)
+h)として整合度マップ記憶部1001に記憶する。
【0049】次に差分画像生成部208では、画像記憶
部207からビットマップ画像データA(R−1)
(x,y,q)を読み込み、部分ストローク終点座標記
憶部1003から第h番目の終点座標である極大点座標
V(R,Q(R)+h)を読み込む。この極大点座標を
(X,Y)とし、また部分ストローク中の最終線分番号
をKとして、線分始点終点記憶部1002に送信し、
(X,Y)を終点とする線分の始点座標SI(K,
,R,q)、SJ(K,,R,q)を読みだす。
この座標を(X′,Y′)とする。ここで、qは、1つ
前の部分ストロークを実行した際の極大点の通し番号
で、極大点番号記憶部1004に当該部分ストロークの
番号と当該極大点の通し番号Q(R)+hを送信して、
(R,q,Q(R)+h)を読みだして得ることができ
る。
【0050】これによって得られた第K番目の線分の終
点(,Y)と始点(X′,Y′)として、2次元ビッ
トマップ画像データA(R−1)(x,y,q)の中で
線分の終点から始点に向かって線分を引き、当該線分が
通過する画素の値を抑制する。画素値から一定値を減算
してもよいし、一定係数をかけてもよい。抑制のしかた
は本質的な問題ではない。本実施例では、2次元ビット
マップ画像データの各画素の値が、1から−1をとる場
合には、当該線分が通過するすべての画素に対して、当
該画素を中心とする半径aの円の内部に含まれる画素の
値から2を減算する。半径aの値は、実施例では3画素
としたが、これは本質的な問題ではないので、どのよう
な値でもよい。また、抑制の方法では、実施例では一定
値の減算としたが、どのような値でもよい。
【0051】上記の第k番目の線分の始点(X′,
Y′)は、同時に第k−1番目の線分の終点の座標でも
あり、これを(X,Y)とおく。上記と同様に、部分変
形ストローク記憶部204中の線分始点終点記憶部10
02に、終点座標(X,Y)と、線分番号k−1と、部
分ストローク番号Rと直前の部分ストロークでの極大点
番号qを送信して、線分の始点座標、(X,Y)を終点
とする線分の始点座標SI(k−1,X,Y,R,
q)、SJ(k−1,X,Y,R,q)を読みだす。これ
によって得られた当該線分の終点座標と始点座標に基づ
いて、当該線分が通過する画素の値を抑制する。この処
理を当該部分ストロークの最初の線分まで実行する。こ
れによって得られた差分画像をA(R)(x,y,Q
(R)+h)と表わし、画像記憶部207に転送して記
憶する。
【0052】また、累積線分長記憶部1006に、第R
番目の部分ストロークに関する第Q(R)+h番目の累
積線分長マップとしてLa(x,y,R,Q(R)+
h)=L(K,x,y)を生成して、再び累積線分長記
憶部1006に記憶する。
【0053】同様に、選択されたU(q)個の全ての極
大点について整合度マップの修正とビットマップ画像デ
ータの修正と累積線分長マップの修正を実行する。この
時点でQ(R)=Q(R)+U(q)を実行して、Q
(R)の修正を行う。
【0054】以上に説明した第R番目の部分ストローク
の整合と整合度極大点の選択と整合度マップの修正と差
分画像の生成を当該部分ストロークの直前の部分ストロ
ークの関連するQ(R−1)個の極大点について実行し
て、Q(R)個の第R番目の極大点とそれらに関する差
分画像と整合度マップと線分の始点終点リスが生成さ
れて、それぞれが部分ストローク終点座標記憶部100
3、極大点番号記憶部1004と画像記憶部207と整
合度マップ記憶部1001と線分始点終点記憶部100
2に記憶される。
【0055】第R番目の部分ストロークについて説明し
た処理を第1番目の部分ストロークから順に第n+1番
目の部分ストロークについて実施して、最終的な整合度
マップをえる。スコア計算部205では、最終である第
n+1番目の部分ストロークを整合した際に、Q(n+
1)個の極大点が選択されたとすると、Q(n+1)枚
の整合度マップG(n+1)(x,y,q)(1≦q≦
Q(n+1))が生成されて整合度マップ記憶部100
1に記憶されており、その中から最大値を与える整合度
を求める。最大整合度の値Gは座標(X,Y)で、第Q
番目の整合度マップから得られたとする。また、最大整
合度与えた累積線分長はLa(X,Y,n+1,Q)で
求められ、この値をLとする。
【0056】スコア計算部205は、GとLの値を用い
てスコアSを式(11)に従った計算により求める。
【0057】 S=G/(sqrt(L)*sqrt(Σx=1,I Σy=1,J A(x,y)**2)) (11) ここで、sqrt(x)はxの平方根を表わす。またx
**2は、xの二乗を表わす。ただし、A(x,y)は
端子106から入力されたもとの2次元ビットマップ画
像データを表わす。求められたスコアSを端子109か
ら出力する。
【0058】多数の種類のパターンのクラスから入力し
たパターンが最も近いクラスを求めるためには、入力パ
ターンがストロークパターンで、対象のクラス集合が2
次元画像データとして表現されている場合には、入力ス
トロークパターンを端子101から入力して、認識対象
のクラスのデータを順次端子106から入力して、その
整合度のスコアを端子109から得て、その最大値を与
えるパターンのクラスを、認識結果とする。逆に入力パ
ターンが2次元画像データで、対象のクラス集合がスト
ロークパターンとして表現されている場合には、入力2
次元画像データを端子106から入力して、認識対象の
クラスのストロークパターンデータを順次端子101か
ら入力して、その整合度のスコアを端子109から得
て、その最大値を与えるパターンのクラスを、認識結果
とする。スコアの探索の際に、線分の方向(DiK,D
jk)のみに加算をおこなってスコアを計算するだけで
なく式(2)の計算の際に、少し方向を変えた場合のス
コアも計算してより大きいほうを選択することにより、
少々の方向変化を許容した整合を実行することができ
る。
【0059】次に、図4を用いて本発明の別の実施例を
説明する。本発明のストロークパターン整合装置は、ス
トローク記憶部102と、画像記憶部407と、特徴点
生成記憶部417と、ストローク整合部103と、変形
ストローク記憶部104と、通過特徴点検出部408
と、スコア計算部105とからなる。
【0060】端子101から入力された時系列のストロ
ークパターンはストローク記憶部102に保存される。
この際に、ストロークパターンはK個の時系列の線分デ
ータから構成されているとし、各時点での線分データを
Bkとする。Bkは、DiK、Djk、Wk、Mk、N
k、Ik1、Ik2、Jk1、Jk2の9個の要素から
なっている。これらは、図1の実施例で説明したものと
同じものとする。K個の線分データから1つのストロー
クのデータは成り立っているが、そのようなストローク
パターンが複数個含まれても同様に扱うことができる。
【0061】次に端子106から、2次元のビットマッ
プ画像データが入力され、画像記憶部407に記憶され
る。当該ビットマップ画像データは、各画素が値を持つ
ものならば、2値でも多値でもどちらでもよい。ただ
し、値が大きいほうが線らしい、つまり黒い線であるこ
とを表わすものとする。そのビットマップ画像データを
A(x,y)として表現する。これは横方向に第x画素
目、縦方向に第y画素目である画素の値を表わす。ま
た、端子416からは、端子106から入力されたビッ
トマップ画像データと同格のデータが入力され特徴点生
成記憶部417で、特徴点が生成されて記憶される。端
子416から入力されるパターンが、2次元ビットマッ
プ画像データを生成するもととなった時系列パターンデ
ータデータの場合には、図2の特徴点検出部201と同
様の特徴点検出処理を実施して特徴点を生成することが
できる。また、端子416から入力されるデータが、端
子106から入力される2次元ビットマップ画像データ
と同一のデータであった場合には、その2次元ビットマ
ップデータを細線化して、各画素の連結数をチェックす
る。連結数が3以上の場合には、その画素を特徴点とし
て選択記憶する。これ以外にも、特徴点の検出方法は多
数あるが、その方法はどのようなものでもよい。
【0062】ストローク整合部103では、ストローク
記憶部102のストロークパターンと画像記憶部407
のビットマップ画像データを用いて整合を実行する。線
分がある画素を通過した場合に当該画素での整合度を、
その画素の値とする。第1番目の線分B1から順に、第
k番目の線分の終点が存在する尤度として、その画素で
の整合度Gk(x,y)を求める。最終的に、第K番目
の線分BKの整合度GK(x,y)を求めて、最大値を
与える整合度を持つ画素(X,Y)が、最も当該ストロ
ークが2次元ビットマップ画像データに一致した場合の
終点の位置を与える。本整合度は、式(1)式(2)式
(5)によって表現される漸化式の計算を実行して求め
られる。初期値であるG0(x,y)の設定は、式
(1)に従った計算を実行して得る。次に、式(2)に
従った計算の実行により第k番目の線分の整合の程度H
k(Ik,Jk,Lk)を求める。この場合には、第k
番目の線分の終点の座標が(Ik,Jk)であった場合
に、当該線分の長さがLkとした場合の整合として求め
る。このときに当該線分の終点(Ik,Jk)は、先に
述べた線分データBkの要素である終点の範囲に属さね
ばならない。つまり、IkはIk1以上でIk2以下で
なければならず、JkはJk1以上でJk2以下でなけ
ればならない。ストローク整合部103では、式(2)
の計算の実行と同時に、第k番目の線分の整合の際に、
(Ik,Jk)座標を終点として、線分の長さをLkと
する線分の始点の座標をSIk(Ik,Jk,Lk)、
SJk(Ik,Jk,Lk)として変形ストローク記憶
部104へ転送する。
【0063】式(1)を用いて初期値の設定をして、式
(2)と式(5)をくり返し適用した計算を実行して、
最終的に第K番目の線分の終了点までの整合を実行す
る。この際に変形ストローク記憶部104に最大値を与
えたLの値をLkとして転送し、変形ストローク記憶部
104では(SIk(Ik,Jk,Lk)、SJk(I
k,Jk,Lk))を始点座標データ(SIk(Ik,
Jk)、SJk(Ik,Jk))として記憶する。
【0064】最後の線分である第K番目の線分の整合を
終了した段階で、GK(x,y)の中から最大の値を持
つ座標X,Yを求めた後に、通過特徴点検出部408と
スコア計算部405が起動される。また、その場合の最
大値をGとする。
【0065】通過特徴点検出部408では、変形ストロ
ーク記憶部104から、最終点である第K番目の線分の
終点である(X,Y)から始点座標データ(SIK
(X,Y)、SJk(X,Y))を読みだして、一つ前
の線分の終点座標XK−1、YK−1とする。これらの
第K番目の線分の終点から始点に向かって線分を引き、
特徴点生成記憶部417に記憶されている特徴点を通過
するかを調べる。この際には、特徴点を中心として半径
aの領域を通過すれば、特徴点を通過したものとする。
本実施例では、半径3画素の円の一部を通過すれば特徴
点を通過したものとみなした。各特徴点では、何回線分
が通過したかを記録する。ただし、連続する線分が単一
の特徴点を通過する場合には、1回の通過と計数する。
同時に始点終点間の線分長を求めて、線分長PKとして
記憶する。
【0066】上記の第K番目の線分の始点は、同時に第
K−1番目の線分の終点の座標でもあり、上記と同様
に、変形ストローク記憶部104から、当該線分の始点
座標を求める。これによって得られた当該線分の終点座
標と始点座標を通過特徴点検出部408に転送して、特
徴点生成記憶部417に記憶されている特徴点を通過す
るかを調べる。通過する特徴点がある場合には、当該特
徴点の通過回数に1を加える。もし、同一特徴点を2回
以上通過する場合を検出した場合には、信号をスコア計
算部405に転送して、スコアGから一定値を減じる。
本実施例では、この減算値を−10としたがこれは本質
的な問題ではなく、どのような値でもよい。この処理と
同時に始点終点間の線分長を求めて、線分長長PK−1
として記憶する。
【0067】同様に、第k番目の線分の処理が終了した
段階では、第k−1番目の線分の終点の座標(Xk−
1、Yk−1)が得られている。変形ストローク記憶部
104から、Xk−1、Yk−1から当該線分の始点座
標座標(SIk(Xk−1,Yk−1)、SJk(Xk
−1,Yk−1))を求める。これによって得られた当
該線分の終点座標と始点座標を通過特徴点検出部408
に転送して、特徴点生成記憶部417に記憶されている
特徴点を通過するかを調べる。通過する特徴点がある場
合には、当該特徴点の通過回数に1を加える。もし、同
一特徴点を2回以上通過する場合を検出した場合には、
信号をスコア計算部405に転送して、スコアGから一
定値を減じる。本実施例では、この減算値を−10とし
たがこれは本質的な問題ではなく、どのような値でもよ
い。同時に線分長を求めて、線分長Pk−1として記憶
する。
【0068】最終線分である第K番目の線分から逆順
に、第1番目の線分まで、通過特徴点の検出とスコアの
計算を繰り返して、第1番目の線分のスコア計算の処理
を終了した段階で、スコア計算部405では、スコア値
Gと線分長Pk(kは1からKまで)とを用いて、最終
的なスコアの計算を式(12)に従って実行する。S=G/
sqrt(Σk=1,K Pk*Wk**2)*sqrt(Σx=1,I Σy=1,J A
(x,y)**2)) (12)ここで、sqrt(x)はxの平
方根を表わす。またx**2は、xの二乗を表わす。求
められたスコアSを端子109から出力する。
【0069】多数の種類のパターンのクラスから入力し
たパターンが最も近いクラスを求めるためには、入力パ
ターンがストロークパターンで、対象のクラス集合が2
次元画像データとして表現されている場合には、入力ス
トロークパターンを端子101から入力して、認識対象
のクラスのデータを順次端子106から入力して、その
整合度のスコアを端子109から得て、その最大値を与
えるパターンのクラスを、認識結果とする。逆に入力パ
ターンが2次元画像データで、対象のクラス集合がスト
ロークパターンとして表現されている場合には、入力2
次元画像データを端子106から入力して、認識対象の
クラスのストロークパターンデータを順次端子101か
ら入力して、その整合度のスコアを端子109から得
て、その最大値を与えるパターンのクラスを、認識結果
とする。スコアの探索の際に、線分の方向(DiK,D
jk)のみに加算をおこなってスコアを計算するだけで
なく式(2)の計算の際に、少し方向を変えた場合のス
コアも計算してより大きいほうを選択することにより、
少々の方向変化を許容した整合を実行することができ
る。
【0070】本実施例では、スコア計算部405の起動
の際に、スコアGK(x,y)から最大値のみを選択し
て、通過特徴点検出とスコアの再計算を実施したが、ス
コアGK(x,y)の極大値を複数選択して、各極大値
毎に通過特徴点検出とスコアの再計算を実施し、得られ
た複数の再計算スコアの最大値を最終的な整合のスコア
として端子109から出力してもよい。
【0071】次に、図5を用いて本発明の別の実施例を
説明する。本発明のストロークパターン整合装置は、ス
トローク記憶部102と、画像記憶部407と、特徴点
生成記憶部417と、特徴点検出記憶部201と、部分
ストローク整合部203と、部分変形ストローク記憶部
204と、通過特徴点検出部408と、スコア計算部2
05とからなる。
【0072】端子101から入力された時系列のストロ
ークパターンはストローク記憶部102に保存される。
この際に、ストロークパターンはK個の時系列の線分デ
ータから構成されているとし、各時点での線分データを
Bkとする。Bkは、DiK、Djk、Wk、Mk、N
k、Ik1、Ik2、Jk1、Jk2の9個の要素から
なっている。これらは、図1の実施例で説明したものと
同じものとする。K個の線分データから1つのストロー
クのデータは成り立っているが、そのようなストローク
パターンが複数個含まれても同様に扱うことができる。
【0073】次に端子106から、2次元のビットマッ
プ画像データが入力され、画像記憶部407に記憶され
る。当該ビットマップ画像データは、各画素が値を持つ
ものならば、2値でも多値でもどちらでもよい。ただ
し、値が大きいほうが線らしい、つまり黒い線であるこ
とを表わすものとする。そのビットマップ画像データを
A(x,y)として表現する。これは横方向に第x画素
目、縦方向に第y画素目である画素の値を表わす。ま
た、端子416からは、端子106から入力されたビッ
トマップ画像データと同格のデータが入力され特徴点生
成記憶部417で、特徴点が生成されて記憶される。特
徴点生成記憶部417の説明は、図4の特徴点生成記憶
部417と同様であるので省略する。
【0074】ストローク記憶部102に蓄積されたスト
ロークパターンデータは、特徴点検出記憶部201に転
送される。特徴点検出記憶部201の動作の説明は、図
2の特徴点検出記憶部201の動作同様であるので省
略する。
【0075】n個の特徴点が検出されたとして以降の説
明を行う。このとき検出されたn個の特徴点に接続する
線分の番号はr(1)からr(n)で、特徴点検出記憶
部201に記憶されているものとする。このときn個の
特徴点でストロークデータを区切り、得られたn+1個
の部分ストロークをSt(1)からSt(n+1)とし
て表わす。部分ストローク整合部203では、各部分ス
トロークを図1のストローク整合部103と同様の処理
で画像記憶部内の2次元ビットマップ画像データと整合
する。その整合の結果は、部分変形ストローク記憶部2
04に記憶される。部分変形ストローク記憶部204で
は、極大のスコアを与える点を複数個選択し、それを通
過特徴点検出部408に転送して、選択された複数個の
うちの1つを部分ストロークの最終点とした場合の通過
特徴点を検出し、スコアマップの修正を行う。
【0076】初期的に部分ストローク整合部203の整
合度のマップG0(x,y)を式(1)と同様にして初
期化する。第R番目の部分ストロークを実行する場合に
ついて説明する。既に第0番目から第R−1番目までの
部分ストロークの整合は終了しているものとする。第R
−1番目の部分ストロークのマッチングにおいてQ(R
−1)個の極大点が選択されているとすると、合計Q
(R−1)個の整合度のマップG(R−1)(x,y,
q)と合計Q(R−1)個の差分画像A(R−1)
(x,y,q)が生成されているものとする。ただし、
qは1からQ(R−1)までの自然数で、R−1番目の
部分ストロークを整合した際の極大点の番号を表わす。
整合度マップの集合のうちの1つを初期値として、第R
番目の部分ストロークと画像記憶部407内の2次元ビ
ットマップ画像データとの整合を実行し、その変形スト
ロークを部分変形ストローク記憶部204に記憶すると
ともに、部分ストロークの最終線分の整合後のスコアマ
ップGK(x,y)から複数の極大点を求め、第R番目
の部分ストローク整合後の通し番号で第q1番目の極大
点を選択して、極大点以外を抑制したスコアマップを生
成してG(R)(x,y,q1)として記憶するととも
に、通過特徴点検出部408は、最終点とする部分スト
ロークが通過する特徴点をチェックして、同一特徴点を
2回以上通過する場合には、整合度マップの値を修正す
る。これと同時に第R番目の部分ストロークに関して通
し番号でq1番目の極大点は、第R−1番目の部分スト
ロークに関して通し番号でq番目の極大点に関して生成
されたことを示すデータ(R,q1,q)を部分変形ス
トローク記憶部204に記憶する。第R−1番目の部分
ストロークのマッチングによって生成されたQ(R−
1)個の極大点に関する全てのスコアマップG(R−
1)(x,y,q)に対して上記の処理をくり返し実行
する。第n+1番目の部分ストロークの整合を終了した
段階で、Q(n+1)枚のスコアマップG(n+1)
(x,y,q)の中で最大値を与える点を選択し、その
点のスコアをスコア計算部205に転送して最終スコア
を計算して端子109から出力する。
【0077】以降に図5と図11を参照して詳細な実施
例の説明を行う。第R番目の部分ストロークの整合につ
いて説明する。
【0078】第R−1番目の部分ストロークのマッチン
グにおいてQ(R−1)個の極大点が選択されていると
すると、合計Q(R−1)個の整合度のマップG(R−
1)(x,y,q)が生成されているものとする。ただ
し、qは1からQ(R−1)までの自然数で、R−1番
目の部分ストロークを整合した際の極大点の通し番号を
表わす。これらの整合度マップは部分変形ストローク記
憶部204中の整合度マップ記憶部1001に記憶され
ているものとする。Q(R−1)個の整合度マップのす
べてについて第R番目の部分ストロークの整合を実行す
るが、ここでは既にq−1個の整合度マップについての
処理は終了し、既にQ(R)個の極大点が選択されてい
るものとする。Q(R)は、R−1番目の部分ストロー
クの整合を終了した段階では、0である。
【0079】部分ストローク整合部203では、整合度
マップ記憶部1001から第q番目の整合度マップG
(R−1)(x,y,q)を読みだし、図2の説明の式
(8)に従って整合度の初期設定を実施する。同時に累
積線分長記憶部1006でも、当該線分の直前の部分ス
トロークの最終線分のデータを用いて、第R番目の部分
ストローク用の累積線分長マップL(0,x,y)=L
a(x,y,R−1,q)として初期化する。
【0080】第R番目の部分ストロークの線分数をK個
として、部分ストローク整合部203では、ストローク
記憶部102のストロークパターンと画像記憶部207
のビットマップ画像データA(x,y)を用いて整合を
実行する。線分がある画素を通過した場合に当該画素で
の整合度を、その画素の値とする。第1番目の線分B1
から順に、第k番目の線分の終点が存在する尤度とし
て、その画素での整合度Gk(x,y)を求める。最終
的に、第K番目の線分BKの整合度GK(x,y)を求
める。本整合度は、式(2)式(5)によって表現され
る漸化式の計算を実行して求められる。式(2)に従っ
た計算の実行により第k番目の線分の整合の程度Hk
(Ik,Jk,Lk)を求める。この場合には、第k番
目の線分の終点の座標が(Ik,Jk)であった場合
に、当該線分の長さをLkとした場合の整合として求め
る。このときに当該線分の終点(Ik,Jk)は、先に
述べた線分データBkの要素である終点の範囲に属さね
ばならない。つまり、IkはIk1以上でIk2以下で
なければならず、JkはJk1以上でJk2以下でなけ
ればならない。部分ストローク整合部203では、式
(2)の計算の実行と同時に、第k番目の線分の整合の
際に、(Ik,Jk)座標を終点として、線分の長さを
Lkとする線分の始点の座標をSIk(Ik,Jk,L
k)、SJk(Ik,Jk,Lk)として記憶する。さ
らに、式(5)の計算を実行する際には、整合度の最大
値を与えたLの値をLmとして、式(2)で得られたS
Ik(x,y,Lm)、SJk(x,y,Lm)をSI
(k,x,y,R,q)、SJ(k,x,y,R,q)
として、部分変形ストローク記憶部204内の線分始点
終点記憶部1002に転送して記憶する。式(5)の計
算において得られた最大値を与える線分長は、線分の始
点の累積線分長に加算されて累積線分長記憶マップL
(k,x,y)を図2の説明の式(9)式を用いて修正
し、累積線分長記憶部1006に記憶する。
【0081】式(2)と式(5)をくり返し適用した計
算を実行して、最終的に第R番目の部分ストローク中の
最終線分である第K番目の線分の終了点までの整合を実
行する。つぎに、GK(x,y)の中から極大点の検出
を行い、極大点の集合の中から複数の極大点を選択す
る。その時に選択された極大点の個数をU(q)とす
る。極大点の検出は、本実施例では、図2の説明の式
(10)の条件を満たした(x,y)としたが、どのよ
うな方法でもい。
【0082】また、本実施例では、極大点の選択は、極
大点の数の上Ukを一定値5とし、検出された極大点
の数U(q)がUk以下のときは、すべての極大点を選
択し記憶する。また、検出された極大点の数U(q)が
5個以上のときは、GKの値が大きいものから順に5個
を選択し記憶する。記憶したGKの極大点座標は、V
(R,Q(R)+1)からV(R,Q(R)+U
(q))として、部分ストローク終点座標記憶部100
3に記憶する。さらに、部分ストロークの極大点番号q
1と1つ前の部分ストロークの関連する極大点番号qと
部分ストローク番号Rを合わせて、(R,q,q1)と
して、極大点番号記憶部1004に記憶する。また、本
実施例では、式(10)でのしきい値GTを10とした
が、どのような値でもよい。
【0083】次に、整合度マップGK(x,y)と累積
線分長マップL(K,x,y)と通過特徴点リストの修
正を行う。部分ストローク終点座標記憶部1003に記
憶された極大点V(R,Q(R)+1)からV(R,Q
(R)+U(q))までのU(q)個の修正データを修
正する。hを1からU(q)までの自然数として、極大
点V(R,Q(R)+h)に関して修正処理の動作の説
明をする。通過特徴点検出部508は、当該部分ストロ
ークの直前である第R−1番目の部分ストロークを整合
した結果の第q番目の極大点を選択した場合の通過点リ
ストF(R−1,q)を特徴点生成記憶部417から読
みだす。通過点リストF(R−1,q)は、特徴点生成
記憶部417で生成された特徴点について、それぞれの
特徴点を既に部分ストロークが通過している回数を記憶
したものである。
【0084】部分変形ストローク記憶部204内の整合
度マップ修正部1105は、整合度マップ記憶部100
1から整合度マップGK(x,y)を読み込み、部分ス
トローク終点座標記憶部1003から第h番目の終点座
標である極大点座標V(R,Q(R)+h)を読み込
む。次に、座標V(R,Q(R)+h)の値を残して、
それ以外の座標の整合度から十分大きな値を減算する。
本実施例では、−10000としたが、これは本質的な
問題ではなく、どのような値でもよい。これによって生
成された整合度マップは、G(R)(x,y,Q(R)
+h)として整合度マップ記憶部1001に記憶する。
【0085】次に整合度マップ修正部1105は部分ス
トローク終点座標記憶部1003から第h番目の終点座
標である極大点座標V(R,Q(R)+h)を読み込
む。この極大点座標を(X,Y)とし、また部分ストロ
ーク中の最終線分番号をKとして、線分始点終点記憶部
1002に送信し、(X,Y)を終点とする線分の始点
座標SI(K,x,y,R,q)、SJ(K,x,y,
R,q)を読みだす。この座標を(X′,Y′)とす
る。ここで、qは、1つ前の部分ストロークを実行した
際の極大点の通し番号で、極大点番号記憶部1004に
当該部分ストロークの番号と当該極大点の通し番号Q
(R)+hを送信して、(R,q,Q(R)+h)を読
みだして得ることができる。
【0086】これによって得られた第K番目の線分の終
点(X,Y)と始点(X′,Y′)として、線分の終点
から始点に向かって線分を引き、通過点リストF(R−
1,q)中の特徴点を通過するかを調べる。この際に
は、特徴点を中心として半径aの領域を通過すれば、特
徴点を通過したものとする。本実施例では、半径3画素
の円の一部を通過すれば特徴点を通過したものとみなし
た。各特徴点では、何回線分が通過したかを記録する。
ただし、連続する線分が単一の特徴点を通過する場合に
は、1回の通過と計数する。同時に始点終点間の線分長
を求めて、線分長長PKとして記憶する。
【0087】上記の第K番目の線分の始点は、同時に第
K−1番目の線分の終点の座標でもあり、上記と同様
に、部分変形ストローク記憶部204中の線分始点終点
記憶部1002に、終点座標(X,Y)と、線分番号K
−1と、部分ストローク番号Rと直前の部分ストローク
での極大点番号qを送信して、線分の始点座標、(X,
Y)を終点とする線分の始点座標SI(K−1,X,
Y,R,q)、SJ(K−1,X,Y,R,q)を読み
だす。これによって得られた当該線分の終点座標と始点
座標を通過特徴点検出部408に転送して、通過点リス
トF(R−1,q)中の特徴点を通過するかを調べる。
通過する特徴点がある場合には、当該特徴点の通過回数
に1を加える。もし、同一特徴点を2回以上通過する場
合を検出した場合には、整合度マップ修正部1105に
信号を転送して、整合度マップG(R)(V(R,Q
(R)+h),Q(R)+h)から一定値を減じる。本
実施例では、この減算値を−10としたがこれは本質的
な問題ではなく、どのような値でもよい。この処理と同
時に始点終点間の線分長を求めて、線分長長PK−1と
して記憶する。
【0088】同様に、第k番目の線分の始点(X′,
Y′)は、同時に第k−1番目の線分の終点の座標でも
あり、これを(X,Y)とおく。上記と同様に、部分変
形ストローク記憶部204中の線分始点終点記憶部10
02に、終点座標(X,Y)と、線分番号k−1と、部
分ストローク番号Rと直前の部分ストロークでの極大点
番号qを送信して、線分の始点座標、(X,Y)を終点
とする線分の始点座標SI(k−1,X,Y,R,
q)、SJ(k−1,X,Y,R,q)を読みだす。こ
れによって得られた当該線分の終点座標と始点座標を通
過特徴点検出部408に転送して、通過特徴点リストF
(R−1,q)中の特徴点を通過するかを調べる。通過
する特徴点がある場合には、当該特徴点の通過回数に1
を加える。もし、同一特徴点を2回以上通過する場合を
検出した場合には、整合度マップ修正部1105に信号
を転送して、整合度マップG(R)(V(R,Q(R)
+h),Q(R)+h)から一定値を減じる。本実施例
では、この減算値を−10としたがこれは本質的な問題
ではなく、どのような値でもよい。同時に線分長を求め
て、線分長Pk−1として記憶する。
【0089】最終線分である第K番目の線分から逆順
に、第1番目の線分まで、通過特徴点の検出と整合度マ
ップの修正を繰り返して、第1番目の線分の整合度マッ
プの修正の処理を終了した段階で、整合度マップG
(R)(V(R,Q(R)+h),Q(R)+h)を整
合度マップ記憶部1001に記憶する。また、累積線分
長記憶部1006に、第R番目の部分ストロークに関す
る第Q(R)+h番目の累積線分長マップとしてLa
(x,y,R,Q(R)+h)=L(K,x,y)を生
成して、再び累積線分長記憶部1006に記憶する。
【0090】同様に、選択されたU(q)個の全ての極
大点について整合度マップの修正と累積線分長マップの
修正を実行する。この時点でQ(R)=Q(R)+U
(q)を実行して、Q(R)の修正を行う。
【0091】以上に説明した第R番目の部分ストローク
の整合と整合度極大点の選択と整合度マップの修正を当
該部分ストロークの直前の部分ストロークの関連するQ
(R−1)個の極大点について実行して、Q(R)個の
第R番目の極大点とそれらに関する整合度マップと線分
の始点終点リスが生成されて、それぞれが部分ストロー
ク終点座標記憶部1003、極大点番号記憶部1004
と画像記憶部207と整合度マップ記憶部1001と線
分始点終点記憶部1002に記憶される。
【0092】第R番目の部分ストロークについて説明し
た処理を第1番目の部分ストロークから順に第n+1番
目の部分ストロークについて実施して、最終的な整合度
マップをえる。スコア計算部205では、最終である第
n+1番目の部分ストロークを整合した際に、Q(n+
1)個の極大点が選択されたとすると、Q(n+1)枚
の整合度マップG(n+1)(x,y,q)(1≦q≦
Q(n+1))が生成されており、その中から最大値を
与える整合度を求める。最大整合度の値Gは座標(X,
Y)で、第Q番目の整合度マップから得られたとする。
また、最大整合度与えた累積線分長はLa(X,Y,n
+1,Q)で求められ、この値をLとする。
【0093】スコア計算部205は、GとLの値を用い
てスコアSを図2の説明の式(11)に従った計算によ
り求め、得られたスコアSを端子109から出力する。
【0094】多数の種類のパターンのクラスから入力し
たパターンが最も近いクラスを求めるためには、入力パ
ターンがストロークパターンで、対象のクラス集合が2
次元画像データとして表現されている場合には、入力ス
トロークパターンを端子101から入力して、認識対象
のクラスのデータを順次端子106から入力して、その
整合度のスコアを端子109から得て、その最大値を与
えるパターンのクラスを、認識結果とする。逆に入力パ
ターンが2次元画像データで、対象のクラス集合がスト
ロークパターンとして表現されている場合には、入力2
次元画像データを端子106から入力して、認識対象の
クラスのストロークパターンデータを順次端子101か
ら入力して、その整合度のスコアを端子109から得
て、その最大値を与えるパターンのクラスを、認識結果
とする。スコアの探索の際に、線分の方向(DiK,D
jk)のみに加算をおこなってスコアを計算するだけで
なく式(2)の計算の際に、少し方向を変えた場合のス
コアも計算してより大きいほうを選択することにより、
少々の方向変化を許容した整合を実行することができ
る。
【0095】
【発明の効果】以上説明したように、本発明によるスト
ロークパターン整合装置は、既に整合されたストローク
の形状を用いて、整合対象となる2次元ビットマップ画
像データを修正するように構成したため、2つの異なる
部分ストロークが、1つの部分ストロークに重なって整
合された場合には、整合度の評価値を低減し、誤ったパ
ターンとの整合を防ぐという効果を有する。
【0096】また、既に整合されたストロークの形状を
用いて、整合対象となる2次元ビットマップ画像データ
上で通過した点を確認するように構成したため、2つの
異なる部分ストロークが、1つの部分ストロークに重な
って整合された場合には、整合度の評価値を低減し、誤
ったパターンとの整合を防ぐという効果を有する。
【図面の簡単な説明】
【図1】本発明の構成を示すブロック図。
【図2】本発明の構成を示すブロック図。
【図3】従来のストロークパターン整合装置の構成を示
すブロック図。
【図4】本発明の構成を示すブロック図。
【図5】本発明の構成を示すブロック図。
【図6】整合対象となるストロークパターンの例。
【図7】整合対象となる2次元ビットマップ画像データ
の例。
【図8】ストロークパターンと画像データの整合の問題
点を示す図。
【図9】スコア計算部の1実施例を示す図。
【図10】部分変形ストローク記憶部の1実施例を示す
図。
【図11】部分変形ストローク記憶部の別の1実施例を
示す図。
【符号の説明】
101、106、416 入力端子 109 出力端子 102 ストローク記憶部 103、303 ストローク整合部 104 変形ストローク記憶部 105、205、305 スコア計算部 405 スコア計算部 107、207、307 画像記憶部 407 画像記憶部 108 差分画像生成部 201 特徴点検出記憶部 203 部分ストローク整合部 204 部分変形ストローク記憶部 208 部分差分画像生成部 417 特徴点生成記憶部 408 通過特徴点検出部 901 線分始点終点記憶部 902 線分生成部 903 線分スコア計算部 904 ストロークスコア計算部 905 線分長記憶部 906 差分画像記憶部 907 差分画像計算部 1001 整合度マップ記憶部 1002 線分始点終点記憶部 1003 部分ストローク終点座標記憶部 1004 極大点番号記憶部 1005、1105 整合度マップ修正部 1006 累積線分長記憶部 601 ストロークパターンの1線分の例 801 整合後のストロークパターンの1線分の例
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭61−198382(JP,A) 特開 昭63−206881(JP,A) 特開 平1−156889(JP,A) 特開 昭60−15784(JP,A) 「Rubber String Ma tching法による手書き文字認 識」,電子情報通信学会技術研究報告, PRL74−20,p.1−10,昭和49年9 月 (58)調査した分野(Int.Cl.6,DB名) G06K 9/62 G06T 7/00 JICSTファイル(JOIS)

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】ストロークパターン記憶するストローク
    パターン記憶手段と2次元ビットマップ画像データを記
    憶する画像記憶手段を有し、ストロークパターンと2次
    元ビットマップ画像データとを整合するストローク整合
    手段とスコア計算手段によって構成されるストロークパ
    ターン整合装置において、 変形されたストロークを記憶する変形ストローク記憶手
    段と、変形ストロークに基づいて2次元ビットマップ画
    像データを修正する差分画像生成手段と、差分画像生成
    手段によって生成された差分画像に基づいて整合度を計
    算するスコア計算手段とを備えたことを特徴とするスト
    ロークパターン整合装置。
  2. 【請求項2】ストロークパターン記憶するストローク
    パターン記憶手段と、2次元ビットマップ画像データを
    記憶する画像記憶手段を有し、ストロークパターンと2
    次元ビットマップ画像データとを整合するストローク整
    合手段とスコア計算手段によって構成されるストローク
    パターン整合装置において、 ストロークパターンから特徴点を抽出して部分ストロー
    ク分割する特徴点検出記憶手段と、生成された部分スト
    ロークを2次元ビットマップ画像データと整合する部分
    ストローク整合手段と、少なくとも変形された部分スト
    ロークと累積線分長と整合度のマップとを記憶するとと
    もに整合度のマップを修正する部分変形ストローク記憶
    手段と、部分変形ストロークに基づいて2次元ビットマ
    ップ画像データを修正する部分差分画像生成手段と、部
    分差分画像生成手段によって生成された差分画像を画像
    記憶手段へ転送する部分と、全体的な整合を計算するス
    コア計算手段を備えたことを特徴とするストロークパタ
    ーン整合装置。
  3. 【請求項3】ストロークパターン記憶するストローク
    パターン記憶手段と、2次元ビットマップ画像データを
    記憶する画像記憶手段を有し、ストロークパターンと2
    次元ビットマップ画像データとを整合するストローク整
    合手段とスコア計算手段によって構成されるストローク
    パターン整合装置において、 入力された2次元ビットマップ画像データの特徴点を検
    出する特徴点生成記憶手段と、変形されたストロークを
    記憶する変形ストローク記憶手段と、変形ストロークが
    通過した特徴点を検出する通過特徴点検出手段と、通過
    した特徴点に基づいて整合度を修正して求めるスコア計
    算手段を備えたことを特徴とするストロークパターン整
    合装置。
  4. 【請求項4】ストロークパターン記憶するストローク
    パターン記憶手段と2次元ビットマップ画像データを記
    憶する画像記憶手段を有し、ストロークパターンと2次
    元ビットマップ画像データとを整合するストローク整合
    手段とスコア計算手段によって構成されるストロークパ
    ターン整合装置において、 ストロークパターンから特徴点を抽出して部分ストロー
    ク分割する特徴点検出記憶手段と、生成された部分スト
    ロークを2次元ビットマップ画像データと整合する部分
    ストローク整合手段と、部分変形ストロークが通過する
    特徴点を検出する通過特徴点検出手段と、少なくとも
    形された部分ストロークと累積線分長と整合度のマップ
    とを記憶するとともに通過特徴点検出手段からの信号に
    従って部分ストロークの整合度を修正する部分変形スト
    ローク記憶手段と、全体的な整合を計算するスコア計算
    手段を備えたことを特徴とするストロークパターン整合
    装置。
JP7231043A 1995-09-08 1995-09-08 ストロークパターン整合装置 Expired - Fee Related JP2940446B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7231043A JP2940446B2 (ja) 1995-09-08 1995-09-08 ストロークパターン整合装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7231043A JP2940446B2 (ja) 1995-09-08 1995-09-08 ストロークパターン整合装置

Publications (2)

Publication Number Publication Date
JPH0981688A JPH0981688A (ja) 1997-03-28
JP2940446B2 true JP2940446B2 (ja) 1999-08-25

Family

ID=16917390

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7231043A Expired - Fee Related JP2940446B2 (ja) 1995-09-08 1995-09-08 ストロークパターン整合装置

Country Status (1)

Country Link
JP (1) JP2940446B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1305003C (zh) * 2003-09-29 2007-03-14 摩托罗拉公司 用户界面上的书写标记识别

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
「Rubber String Matching法による手書き文字認識」,電子情報通信学会技術研究報告,PRL74−20,p.1−10,昭和49年9月

Also Published As

Publication number Publication date
JPH0981688A (ja) 1997-03-28

Similar Documents

Publication Publication Date Title
US6516087B1 (en) Method for real time correlation of stereo images
US20150294469A1 (en) Image processing device and image processing method, and program
JP7103240B2 (ja) 物体検出認識装置、方法、及びプログラム
JP3238580B2 (ja) 太め細め文字生成装置
JP2940446B2 (ja) ストロークパターン整合装置
EP0246898B1 (en) method of curve approximation
JP2626528B2 (ja) 図形認識装置
CN111666933A (zh) 一种文本检测的方法、装置、电子设备和存储介质
US6233354B1 (en) Character recognition device
US6166745A (en) Graphic form shaping apparatus and graphic form shaping method
JP2865528B2 (ja) 指紋照合装置
CN112348069B (zh) 数据增强方法、装置、计算机可读存储介质及终端设备
JP2003022446A (ja) 署名照合装置、署名照合方法およびその方法をコンピュータに実行させるプログラム
JP2000132692A (ja) 曲線の特徴点抽出方法及びこの方法を記録した記録媒体
EP0585861A2 (en) Image verification method
JPH08227457A (ja) 線対称図形整形装置
JPS59161782A (ja) パタ−ン・マツチング方法
JP3304404B2 (ja) 傾き検出方法および画像処理装置
JP2865529B2 (ja) 指紋照合装置
JPH0350692A (ja) 文字認識装置
CN116958981B (zh) 一种文字识别方法及装置
JP3052849B2 (ja) オンライン文字認識装置
JP2882327B2 (ja) 線図形整合装置
JP2002334332A (ja) 画像照合装置、画像照合方法、プログラム及び記録媒体
JP2865530B2 (ja) 指紋照合装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080618

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090618

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100618

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100618

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110618

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110618

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120618

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120618

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees