(57)【要約】【課題】図形の照合パターンを用意しなくても，ユーザの意図的な頂点の描画を簡易な処理で抽出することができるようにする。【解決手段】手書き図形計測装置１０において，座標取得部１２は，単位時間計測部１１で計測した所定の単位時間経過ごとに，手書き図形入力装置２０からユーザが描画している手書き図形の現在の座標を取得する。ベクトル生成部１３は，現在取得された座標とすでに取得されていた一つ前の座標とからベクトルを生成する。頂点検出部１４は，閾値記憶部１５に記憶されているベクトル長閾値より小さいベクトル長のベクトルが閾値記憶部１５に記憶されている頂点候補閾値以上連続して続いた場合に，頂点が描画されていると判定する。【選択図】図１
2005056209.tif 000002
【特許請求の範囲】
【請求項１】
入力装置から手書き入力された図形の頂点を，コンピュータによって検出する手書き図形計測方法であって，
前記入力装置による手書き図形の描画の開始から終了まで，あらかじめ設定された単位時間ごとに，手書き図形入力位置の座標を取得する過程と，
前記取得した座標をもとに，前記設定された単位時間ごとの手書き図形入力位置の移動距離を算出する過程と，
前記算出した移動距離があらかじめ設定された移動距離の閾値よりも小さい状態が連続する回数をカウントする過程と，
前記カウントした回数があらかじめ設定された回数の閾値以上であるときに頂点が描画されていると判定する過程とを有する
ことを特徴とする手書き図形計測方法。
【請求項２】
入力装置から手書き入力された図形の頂点を，コンピュータによって検出する手書き図形計測方法であって，
前記入力装置による手書き図形の描画の開始から終了まで，あらかじめ設定された単位時間ごとに，手書き図形入力位置の座標を取得する過程と，
前記取得した座標をもとに，前記設定された単位時間ごとの手書き図形入力位置の移動距離および移動方向を算出する過程と，
前記算出した移動距離があらかじめ設定された移動距離の閾値よりも小さい状態が連続する回数をカウントする過程と，
前記カウントした回数があらかじめ設定された回数の閾値以上であり，前記算出した移動距離があらかじめ設定された移動距離の閾値よりも小さい状態が連続する前の移動方向と後の移動方向とがなす角度があらかじめ設定された角度の閾値以上である場合に，頂点が描画されていると判定する過程とを有する
ことを特徴とする手書き図形計測方法。
【請求項３】
入力装置から手書き入力された図形の頂点を検出する手書き図形計測装置であって，
前記入力装置による手書き図形の描画の開始から終了まで，あらかじめ設定された単位時間ごとに，手書き図形入力位置の座標を取得する座標取得手段と，
前記取得した座標をもとに，前記設定された単位時間ごとの手書き図形入力位置の移動距離を算出する算出手段と，
前記算出した移動距離があらかじめ設定された移動距離の閾値よりも小さい状態が連続する回数をカウントし，その回数があらかじめ設定された回数の閾値以上であるときに，頂点が描画されていると判定する頂点検出手段とを備える
ことを特徴とする手書き図形計測装置。
【請求項４】
入力装置から手書き入力された図形の頂点を検出する手書き図形計測装置であって，
前記入力装置による手書き図形の描画の開始から終了まで，あらかじめ設定された単位時間ごとに，手書き図形入力位置の座標を取得する前記座標取得手段と，
前記取得した座標をもとに，前記設定された単位時間ごとの手書き図形入力位置の移動距離および移動方向を算出する算出手段と，
前記算出した移動距離があらかじめ設定された移動距離の閾値よりも小さい状態が連続する回数をカウントし，その回数があらかじめ設定された回数の閾値以上であり，前記算出した移動距離があらかじめ設定された移動距離の閾値よりも小さい状態が連続する前の移動方向と後の移動方向とがなす角度があらかじめ設定された角度の閾値以上である場合に，頂点が描画されていると判定する頂点検出手段とを備える
ことを特徴とする手書き図形計測装置。
【請求項５】
請求項１または請求項２に記載された手書き図形計測方法を，コンピュータに実行させるための手書き図形計測プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，コンピュータの画面上などでユーザが任意に図形を描画できる画面入出力装置においてユーザが描画した図形を判別する技術に関するものであり，特に，手書き図形の頂点を容易に検出する技術に関するものである。
【背景技術】
【０００２】
従来，ユーザにより手書き入力された図形や文字を認識する方法として，標準パターンと入力パターンとに含まれるストロークの特徴点を照合するものがあった。例えば，下記の特許文献１「オンライン手書き文字認識装置」では，標準パターンと入力パターンのストロークについてそれぞれ等間隔で特徴点を抽出し，ストロークおよび特徴点の対応をそれぞれ決定することにより，変形した手書きであっても安定したパターンの整合が可能となっている。
【特許文献１】特開平８−１６７００２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし，上記の従来技術ような方法では標準パターンとの照合が必須でなり，単純に図形の頂点の位置を検出したり，頂点数を算出するような場合には，その計算処理が必要以上に複雑になってしまっていた。
【０００４】
また，頂点の数を抽出するだけであれば，直線と見なせる線分の数を算出する方法があるが，頂点数を抽出したい図形が手書きの場合には，線分と判定するための直線との近似などの処理が必要であった。
【０００５】
本発明は，上記の問題点の解決を図り，ユーザにより手書き入力された図形や文字の線分における頂点を，他のデータの参照を行わずに抽出することを可能とし，手書きによる多少のブレがあっても辺となる線分を容易に判定することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は，上記の課題を解決するため，図形等の手書き入力時における辺となる線分の描画ストロークと頂点付近の描画ストロークとの時間的な差，すなわち描画速度の変化に着目して頂点の抽出を行うことを特徴とする。
【０００７】
図形等の手書き入力時における頂点付近の描画ストロークは，物理的に手を動かす方向を変えて角度をつけようとするユーザの意識が働くため，線分のストロークと比べてストロークの描画が遅くなる。これらのストロークの時間的な差異を抽出することで，ユーザが意図的に頂点を描いたか否かを判定することができる。
【０００８】
本発明では，ユーザの描画の開始から終了までのストローク中に，できるだけ短い単位時間での描画の向きと移動距離を示すベクトルを順次生成する。頂点付近ではストロークの描画が遅くなるため，頂点付近を描画しているときに生成されるベクトルは，線分を描画しているときに生成されるベクトルと比べてベクトル長が短くなる。頂点で描画する手の動きが止まると，生成されるベクトルのベクトル長は０になる。しかし，実際には手書き描画において，頂点を描画しているときに描画する手の動きが完全に止まるとは限らない。
【０００９】
そこで，本発明では，ベクトル長に閾値を設け，このベクトル長閾値より小さいベクトル長のベクトルが別途設定する頂点候補閾値以上連続して生成されている場合に，頂点が描画されているものと判定する。
【００１０】
また，ストロークの描画が遅い場合には，線分の描画中にもかかわらず頂点が描画されていると判定されてしまう可能性がある。このような誤判定を防ぐために，頂点が描画されていると判定する前後のベクトルの向きが，あらかじめ設定された角度閾値以内の場合には，頂点が描画されていると判定しないようにしてもよい。
【００１１】
以上の頂点の検出において，円のように曲線だけによって描かれる図形の場合には，頂点が存在しないため，頂点数は０（ゼロ）となる。
【００１２】
なお，ベクトル生成の単位時間や，ベクトル長閾値，頂点候捕閾値，角度閾値について，タッチパネルディスプレイなどの画面入出力装置の大きさに対するユーザの平均的なストロークの描画のスピードをもとに事前に設定する。リアルタイムに頂点を計測する場合に全体ストロークに時間制限を設けるようにしてもよい。制限時間内に描画が終了しなかった場合には，ユーザに再入力を要求する。
【発明の効果】
【００１３】
本発明によれば，図形の照合パターンを用意することなく，単位時間におけるユーザの手書きストロークから単位時間ごとにストロークの向きと移動距離を示すベクトルを生成し，０に近い閾値以内のベクトル長のベクトルが別途設定した頂点候補閾値の値以上連続して生成されているときに頂点が描画されていると判定することで，ユーザの意図的な頂点の描画を抽出することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下，本発明を実施するための最良の形態を，図面を用いて説明する。図１は，本発明に係る手書き図形計測装置の構成例を示す図である。手書き図形計測装置１０は，単位時間計測部１１，座標取得部１２，ベクトル生成部１３，頂点検出部１４，閾値記憶部１５を備える。これらの各部は，ＣＰＵとメモリとソフトウェアプログラムとによって実現することができる。また，手書き図形計測装置１０は，タッチパネルディスプレイやタブレット等の手書き図形入力装置２０と接続されている。
【００１５】
手書き図形計測装置１０において，単位時間計測部１１は，手書き図形入力装置２０におけるユーザの手書き図形の入力の開始から終了までの間，あらかじめ設定された単位時間が経過するごとに，その旨を座標取得部１２に通知する。座標取得部１２は，単位時間計測部１１からの通知を受けると，手書き図形入力装置２０からユーザが描画している手書き図形の現在の座標を取得する。
【００１６】
ベクトル生成部１３は，座標取得部１２により取得された現在の座標とすでに取得されていた一つ前の座標とからベクトルを生成する。頂点検出部１４は，閾値記憶部１５にあらかじめ記憶されている各閾値を用いて，生成されたベクトルから頂点を検出する。
【００１７】
図２は，本実施の形態における手書き図形の頂点数計測処理フローチャート（１）である。図２のフローチャートは，図１に示す手書き図形計測装置１０を用いて手書き図形の頂点数の計測を行う場合の処理の例を示している。この例では，ユーザがコンピュータに接続されたタッチパネルディスプレイ（手書き図形入力装置２０）上で任意の図形を描画するものとし，ユーザがタッチパネルディスプレイに接触しているか否かで描画中か否かを判定するものとする。
【００１８】
まず，頂点候補カウンタＣ１と頂点数カウンタＣ２とに０（ゼロ）を代入し，初期化する（ステップＳ１０）。ユーザのタッチパネルディスプレイへの接触を検出すると（ステップＳ１１），接触した現在のタッチパネルディスプレイ上の座標を取得し（ステップＳ１２），その座標をベクトルの開始点に設定する（ステップＳ１３）。
【００１９】
あらかじめ設定された単位時間だけ待機した後（ステップＳ１４），ユーザが接触している現在のタッチパネルディスプレイ上の座標を取得し（ステップＳ１５），その座標をベクトルの終了点に設定する（ステップＳ１６）。
【００２０】
ここで，あらかじめ設定される単位時間は，タッチパネルディスプレイのサイズやコンピュータの処理能力にもよるが，数ｍｓｅｃ〜数１０ｍｓｅｃ単位が望ましい。
【００２１】
また，単位時間待機している間にもユーザは描画を行っているため，単位時間待機後の座標は待機前の座標から移動しており，これらの座標により生成されたベクトルは，単位時間の描画の向きと移動量とを表すことになる。すなわち，ベクトル長が単位時間の描画の移動量であり，単位時間の待機中にまったく座標の移動がなければ，ベクトル長は０となる。よって，ベクトル長が０であれば頂点が描画されているものと考えられる。
【００２２】
ただし，実際には完全に描画が停止した状態でなくても，頂点が描画されていると認められる場合がある。ここでは，次の２つの条件を満たしたときに，頂点が描画されているものと判定する。
〔条件１〕：ベクトル長Ｌがあらかじめ設定されたベクトル長閾値Ｔｈ１よりも小さい。〔条件２〕：条件１を満たす状態があらかじめ設定された頂点候補閾値Ｔｈ２の回数以上連続する。
【００２３】
ここで，ベクトル長閾値Ｔｈ１とは，停止あるいはそれに近い状態であると判断される単位時間あたりの移動量の閾値である。単位時間の長さやタッチパネルディスプレイのサイズ，精度などの状況によって事前に設定される。また，頂点候補閾値Ｔｈ２は，頂点が描画されていると判定するために必要な，ベクトル長Ｌがベクトル長閾値Ｔｈ１より小さいベクトルの連続出現回数の閾値である。頂点が描画されていると判定可能な停止状態の継続時間を，単位時間で割った値などでよい。これらの閾値は，種々の図形や文字の描画実験において単位時間ごとにストロークのベクトル長を観測し，それらの多くの実験結果を統計処理して定めてもよい。
【００２４】
ステップＳ１３において設定された開始点とステップＳ１６で設定された終了点とからなるベクトルのベクトル長Ｌが条件１（ベクトル長Ｌ＜ベクトル長閾値Ｔｈ１）を満たすか否かを判定し（ステップＳ１７），条件１を満たす場合には，頂点候補カウンタＣ１に１を加える（ステップＳ１８）。次に，描画中であるか否か，すなわちユーザがまだタッチパネルに接触しているか否かを判定し（ステップＳ１９），描画中であればステップＳ１３に戻って次のベクトルを算出する。
【００２５】
ステップＳ１７において条件１を満たさない場合には，頂点候補カウンタＣ１が条件２（頂点候補カウンタＣ１≧頂点候補閾値Ｔｈ２）を満たすか否かを判定し（ステップＳ２０），条件２を満たす場合には，頂点であると判定して頂点数カウンタＣ２に１を加え（ステップＳ２１），頂点候補カウンタＣ１を０（ゼロ）にクリアする（ステップＳ２２）。次に，描画中であるか否かを判定し（ステップＳ１９），描画中であればステップＳ１３に戻って次のベクトルを算出する。
【００２６】
ステップＳ２０において条件２を満たさない場合には，頂点候補カウンタＣ１を０（ゼロ）にクリアし（ステップＳ２２），ステップＳ１９の判定へ進む。
【００２７】
ステップＳ１９においてユーザがタッチパネルディスプレイに接触していなければ，ユーザによる描画が終了しているものとし，その時点での頂点数カウンタＣ２の値を頂点数として出力し（ステップＳ２３），処理を終了する。
【００２８】
なお，ステップＳ１５において取得された現在の座標は，ステップＳ１９から処理が戻った場合に，ステップＳ１３において次のベクトルの開始点に設定される。
【００２９】
次にユーザの描画の例を用いて，頂点検出の詳細を説明する。図３は，本実施の形態における手書き図形の頂点の検出を説明する図である。図３の例は，ユーザが三角形を描画した場合の例である。
【００３０】
図３（ａ）において，ユーザはストロークＳｔ１，ストロークＳｔ２，ストロークＳｔ３の順に三角形を描画しているものとする。一つ一つ点は単位時間ごとに取得された座標を示している。頂点付近の座標点群を頂点候補群とし，描画された順に，頂点候補群Ｖ１，頂点候補群Ｖ２，頂点候補群Ｖ３とする。ストロークの途中では座標点の間隔が広くなっており，頂点候補群Ｖ１〜Ｖ３の付近では座標点の間隔が狭くなっている。これは，辺を描画しているときの描画の速度は速く，頂点付近を描画しているときの描画の速度は遅いことを示す。
【００３１】
図３（ｂ）は，図３（ａ）におけるストロークＳｔ１の途中から，頂点候補群Ｖ１，ストロークＳｔ２の途中までを示している。図３において，座標点Ｐ１から座標点Ｐ１２まで順に座標が取得されているものとし，座標点Ｐｎを開始点とし，座標点Ｐｎ＋１を終了点として生成されたベクトルをベクトルＡｎとする（図３（ｂ）の場合，ｎ＝１〜１１）。ここで，矢印Ａはベクトル長閾値Ｔｈ１を示しており，ベクトル長の比較のために，各座標点ＰｎからのベクトルＡｎの方向と平行に標記してある。
【００３２】
図３（ｂ）において，ベクトルＡ１〜Ａ３とベクトルＡ９〜Ａ１１は，ベクトル長閾値Ｔｈ１を示す矢印Ａよりもベクトル長Ｌが長く，ベクトルＡ４〜Ａ８は，ベクトル長閾値Ｔｈ１を示す矢印Ａよりもベクトル長Ｌが短いので，頂点候補カウンタＣ１は５となる。ここで，例えば，頂点候補閾値Ｔｈ２が４と設定されているものとすると，頂点候補群Ｖ１は条件２（頂点候補カウンタＣ１≧頂点候補閾値Ｔｈ２）を満たすこととなる。よって，頂点候補群Ｖ１の部分で頂点が描画されていると判定される。
【００３３】
以上のように，ユーザによるタッチパネルディスプレイ上での描画の開始から終了まで図２に示す手書き図形の頂点数計測処理を実行することにより，手書き図形計測装置１０を用いて容易に手書き図形の頂点数を計測することができる。
【００３４】
図２に示すフローチャートでは，頂点数を検出する例を説明したが，頂点数をカウントするステップＳ２１において，頂点の位置の計算を行うことにより，頂点数だけでなく，頂点の位置を検出することもできる。頂点の位置は，例えばベクトル長Ｌがベクトル長閾値Ｔｈ１より小さい連続するベクトル群の開始点および終了点の重心位置として定めることができる。例えば，図３（ｂ）における座標点Ｐ４〜Ｐ８の重心位置を算出して，それを頂点の位置とする。
【００３５】
また，例えばベクトル長Ｌがベクトル長閾値Ｔｈ１より小さい区間の前後のベクトルの開始点および終了点を結ぶそれぞれの線分を延長した交点を，頂点の位置として求めてもよい。図３（ｂ）の例では，座標点Ｐ３，Ｐ４の線分と，座標点Ｐ９，Ｐ１０の線分とを延長したときの交点を，頂点の位置として定める。
【００３６】
次に，ストロークの描画が遅いために，線分のストローク中にもかかわらず条件１，条件２を満たしてしまうような場合でも対処可能な手書き図形の頂点の検出の例について説明する。
【００３７】
図４は，ストロークの描画が遅いために辺の部分で頂点が描画されていると判断されてしまう例を説明する図である。図４（ａ）は，頂点候補群が辺の部分である例を示しており，図４（ｂ）は，頂点候補群が頂点の部分である例を示している。
【００３８】
図４（ａ）は，座標点Ｐ２０から座標点Ｐ２９に向けて描画したものであり，図４（ｂ）は，座標点Ｐ３０から座標点Ｐ３９に向けて描画したものである。また，図４（Ａ）において，座標点Ｐ２３から座標点Ｐ２７までの部分（頂点候補群Ｖ４）は，単位時間ごとに生成されたベクトル（Ａ２３〜Ａ２６）のベクトル長Ｌがベクトル長閾値Ｔｈ１よりも短くなっており，図４（ｂ）において，座標点Ｐ３３から座標点Ｐ３７までの部分（頂点候補群Ｖ５）は，単位時間ごとに生成されたベクトル（Ａ３３〜Ａ３６）のベクトル長Ｌがベクトル長閾値Ｔｈ１よりも短くなっている。
【００３９】
図４（ａ）における座標点Ｐ２０から座標点Ｐ２７までの描画と，図４（ｂ）における座標点Ｐ３０から座標点Ｐ３７までの描画はまったく同じ描画であり，図４（ａ）における座標点Ｐ２７から座標点Ｐ２９までの描画と，図４（ｂ）における座標点Ｐ３７から座標点Ｐ３９までの描画が，異なる描画となっている。
【００４０】
例えば，頂点候補閾値Ｔｈ２が４と設定されているものとすると，図２示す手書き図形の頂点数計測処理では，図４（ａ）の頂点候補群Ｖ４の部分でも，図４（ｂ）の頂点候補群Ｖ５の部分でも頂点が描画されていると判定する。
【００４１】
図４（ｂ）では，頂点前ベクトルＡ３２の方向と，頂点後ベクトルＡ３７の方向とが，異なる方向になっている。よって，図４（ｂ）の例において，頂点候補群Ｖ５の部分で頂点が描画されていると判定するのは正しい。
【００４２】
ところが，図４（ａ）では，頂点前ベクトルＡ２２と頂点後ベクトルＡ２７とのベクトルの方向が同じ方向になっている。このことから，頂点候補群Ｖ４の部分で頂点が描画されているのではなく，辺の描画中にユーザの描画が一時的に遅くなったために，頂点候補群Ｖ４の部分の座標点の間隔が狭くなってしまったことがわかる。よって，図４（ａ）の例において，頂点候補群Ｖ４の部分で頂点が描画されていると判定するのは間違いである。
【００４３】
そこで，本実施の形態では，図４に示すような状態の場合にも正しい判定を行うために，前述した条件１，条件２の条件に，次の条件３を加えて，頂点の描画を判定する。
〔条件３〕：頂点候補群の前後の２つのベクトル（頂点前ベクトル，頂点後ベクトル）のなす角度θ１が同方向あるいはある一定の角度閾値Ｔｈ３以内であれば頂点候補としない。
【００４４】
すなわち，生成されたベクトル長Ｌがベクトル長閾値Ｔｈ１よりも小さいという条件１を満たすときには，頂点候補カウンタＣ１を増加させていき，条件１を満たさないときで頂点候補カウンタＣ１が頂点候補閾値Ｔｈ２以上であるという条件２を満たす場合において，頂点候補をカウントする前のベクトル（頂点前ベクトル）と現在のベクトル（頂点後ベクトル）とがなす角度θ１が，ある一定の角度閾値Ｔｈ３以上である場合にのみ，頂点が描画されていると判定する。ここで，条件１を満たすベクトルの前のベクトル（頂点前ベクトル）は，あらかじめ保持しておく。
【００４５】
これにより，図４（ａ）の場合には，頂点前ベクトルＡ２２の方向と頂点後ベクトルＡ２７の方向とが同じであるので，頂点候補群Ｖ４では頂点が描画されていないと判定され，図４（ｂ）の場合には，頂点前ベクトルＡ３２の方向と頂点後ベクトルＡ３７の方向とが異なるので，頂点候補群Ｖ５では頂点が描画されていると判定される。
【００４６】
なお，描画開始直後は頂点前ベクトルがないため，描画開始直後の現在のベクトルを描画開始ベクトルとして別に保持おき，描画終了時の現在のベクトルと描画開始ベクトルとがなす角度θ２がある一定の角度閾値Ｔｈ３以上である場合には，頂点が描かれていると判定する。
【００４７】
図５は，本実施の形態における手書き図形の頂点数計測処理フローチャート（２）である。図５のフローチャートは，図２に示す手書き図形の頂点数計測処理に，上記条件３を判定する処理を加えたものになっている。
【００４８】
まず，頂点候補カウンタＣ１と頂点数カウンタＣ２とに０（ゼロ）を代入し，初期化する（ステップＳ３０）。ユーザのタッチパネルディスプレイへの接触を検出すると（ステップＳ３１），接触した現在のタッチパネルディスプレイ上の座標を取得し（ステップＳ３２），その座標をベクトルの開始点に設定する（ステップＳ３３）。
【００４９】
あらかじめ設定された単位時間だけ待機した後（ステップＳ３４），ユーザが接触している現在のタッチパネルディスプレイ上の座標を取得し（ステップＳ３５），その座標をベクトルの終了点に設定する（ステップＳ３６）。
【００５０】
ステップＳ３３において設定された開始点とステップＳ３６で設定された終了点とからなるベクトルのベクトル長Ｌが条件１（ベクトル長Ｌ＜ベクトル長閾値Ｔｈ１）を満たすか否かを判定し（ステップＳ３７），条件１を満たす場合には，頂点候補カウンタＣ１に１を加える（ステップＳ３８）。次に，描画中であるか否か，すなわちユーザがまだタッチパネルに接触しているか否かを判定し（ステップＳ３９），描画中であればステップＳ３３に戻って次のベクトルを算出する。
【００５１】
ステップＳ３７において条件１を満たさない場合には，頂点候補カウンタＣ１が条件２（頂点候補カウンタＣ１≧頂点候補閾値Ｔｈ２）を満たすか否かを判定し（ステップＳ４０），条件２を満たさない場合には，ステップＳ４５の処理へ進む。
【００５２】
ステップＳ４０において条件２を満たす場合には，現在のベクトルが描画開始直後のベクトルであるか否かを判定し（ステップＳ４１），描画開始直後のベクトルであれば，現在のベクトルを描画開始ベクトルとして保持し（ステップＳ４２），ステップＳ４５の処理へ進む。
【００５３】
ステップＳ４１において描画開始直後のベクトルでなければ，頂点前ベクトルと現在のベクトル（頂点後ベクトル）とがなす角度θ１が条件３（頂点前ベクトルと頂点後ベクトルとのなす角度θ１≧角度閾値Ｔｈ３）を満たすか否かを判定し（ステップＳ４３），条件３を満たさない場合には，ステップＳ４５の処理へ進む。
【００５４】
ステップＳ４３において条件３を満たす場合には，頂点であると判定して頂点数カウンタＣ２に１を加え（ステップＳ４４），ステップＳ４５の処理へ進む。
【００５５】
現在のベクトルを頂点前ベクトルとして保持し（ステップＳ４５），頂点候補カウンタＣ１を０（ゼロ）にクリアする（ステップＳ４６）。次に，描画中であるか否かを判定し（ステップＳ３９），描画中であれば，ステップＳ３３に戻って次のベクトルを算出する。
【００５６】
ステップＳ３９においてユーザがタッチパネルディスプレイに接触していなければ，ユーザによる描画が終了しているものとして，ステップＳ４７へ進む。ステップＳ４７では，ユーザが描画した図形が閉じた図形であるか否かを判定する。すなわち，描画の開始点と終了点とがほぼ同じ位置とみなしてよいか否かを判定する（ステップＳ４７）。閉じた図形でなければ，頂点数カウンタＣ２の値を，求める頂点数として出力し（ステップＳ５０），処理を終了する。
【００５７】
ステップＳ４７の判定において閉じた図形であれば，描画開始ベクトルと現在のベクトルとがなす角度θ２が角度閾値Ｔｈ３以上であるという条件を満たすか否かを判定し（ステップＳ４８），条件を満たす場合にのみ，さらに頂点数カウンタＣ２に１を加える（ステップＳ４９）。その後，頂点数カウンタＣ２の値を，求める頂点数として出力し（ステップＳ５０），処理を終了する。
【００５８】
以上のように，頂点の検出の判定に条件３を加えることにより，線分の描画中にベクトル長閾値Ｔｈ１よりも小さいベクトル長Ｌのベクトルが連続して頂点候補の数が頂点候補閾値Ｔｈ２以上になってしまったときに頂点が描画されたと判定してしまう誤りを，防ぐことができる。
【００５９】
なお，本実施の形態においても，頂点数を検出するだけではなく，頂点の位置を検出することができることは，図２で説明した例と同様である。頂点の位置を検出する必要がある場合には，頂点候補群の重心位置を算出したり，頂点前ベクトルの線分の延長線と頂点後ベクトルの線分の延長線との交点を算出したりすればよい。
【００６０】
以上の手書き図形を計測する処理は，コンピュータとソフトウェアプログラムとによって実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも，ネットワークを通して提供することも可能である。
【産業上の利用可能性】
【００６１】
手書きで入力された図形や文字の頂点数または頂点の位置は，ユーザが入力しようとした図形や文字の重要な特徴となる。したがって，本発明は，例えば手書きで入力された図形や文字を認識する装置などに，適用することが可能である。
【図面の簡単な説明】
【００６２】
【図１】本発明に係る手書き図形計測装置の構成例を示す図である。
【図２】本実施の形態における手書き図形の頂点数計測処理フローチャート（１）である。
【図３】本実施の形態における手書き図形の頂点の検出を説明する図である。
【図４】ストロークの描画が遅いために辺の部分で頂点が描画されていると判断されてしまう例を説明する図である。
【図５】本実施の形態における手書き図形の頂点数計測処理フローチャート（２）である。。
【符号の説明】
【００６３】
１０  手書き図形計測装置
１１  単位時間計測部
１２  座標取得部
１３  ベクトル生成部
１４  頂点検出部
１５  閾値記憶部
２０  手書き図形入力装置
【図１】
2005056209.tif 000003
【図２】
2005056209.tif 000004
【図３】
2005056209.tif 000005
【図４】
2005056209.tif 000006
【図５】
2005056209.tif 000007