説明

画像処理方法、画像処理装置、プログラム、及びプログラム記憶媒体

【課題】ラスタ画像からベクトル画像へ変換する際に行う関数近似において、変曲点の接線方向をそろえたい場合であっても、都度傾きの変化量を計算することによる処理を複雑化せずに簡易に行う。
【解決手段】変曲点の接線方向を適応的に判定して決定する。このとき、ラスタ画像から得られる座標点列からアンカ点と、その点の性質を表す属性を共に抽出し、変曲点に属する属性を持つアンカ点の接線方向を前後で揃える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理技術に関するものであり、特にラスタ画像から特徴点を抽出し、関数近似を行うことでベクタ画像へ変換を行う画像処理技術に関する。
【背景技術】
【0002】
近年、ディスプレイや印刷機器など解像度の異なる機器の混在化が進み、一つの画像情報を異なる解像度で表示する機会が増えてきている。ところが低解像度機器に適した画像を高解像度機器で表示しようとすると、機器の解像度を生かすことができず画質の劣化が目立ってしまう。このことからラスタ形式で表現された画像を、解像度に依存しないベクタ形式へ変換する、ベクトル化技術が必要となってきている。
【0003】
ベクトル化技術の検討は以前からも行われており、例えば、二値画像を対象としたベクトル化手法が特許文献1で開示されている。この手法は二値画像の輪郭を、以下の条件を満たす点で分割し、分割区間に対してそれぞれベジェ曲線で近似を行う。
【0004】
角点1:隣接する点列を結ぶベクトルの変化が鋭角となる点
角点2:連続する点と点との距離がある閾値より大きい場合の両端の点
変曲点:連続するベクトルの外積の符号が変化する点
座標点列の抽出処理として、例えば、特許文献2のような手法が開示されている。この手法によれば注目画素とその近傍画素の状態に基づいて、水平方向及び垂直方向の画素間ベクトルを検出し、これら画素間ベクトル同士の接続状態を判別して、画素間ベクトルの接続状態から画像データの座標点列を抽出するように動作する。画素の中心位置ではなく、画素の縁単位に座標点列を抽出することにより、1画素幅の細線に対しても有為な幅を持たせることが出来る座標点列抽出法である。
【0005】
また2値画像のみならず、数色に及ぶ線画やイラスト画像を対象としたベクトル化手法が例えば、特許文献3で開示されている。この手法は、色領域間で共通な境界線を抽出し、関数近似を行うという処理フローで原理的に隙間が生じないカラー画像のベクトル化を実現している。ここでの座標点列抽出手法は特許文献2とは異なり、隣接する画素間で色が閾値以上異なる線を追跡することで抽出している。抽出後の座標点列から色領域間で共通する境界線を求め、色領域を出力する際に共通の関数近似結果を適用し、ベクトル化を行う。
【0006】
また、近似処理を行う際、近似区間とのつながりを平滑にする近似手法として、例えば、特許文献4で開示されている。曲線式Aで表現された複数の区間を統合し、その統合した区間をより高次の曲線式Bで近似し、表現することでデータ削減と文字輪郭線の滑らかさを維持・改善する手法である。この中で、統合した区間を分割点で区切り、区切られた区間を曲線式Bで近似を行っている。しかし区切られた区間で独立して近似を行うと、分割点の前後で滑らかさが失われてしまうので、2つの曲線が共通接線を持つように制御点の位置を修正することで、分割点前後での滑らかさを保持する手法を開示している。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2005−310070号公報
【特許文献2】特許第3026592号
【特許文献3】特開2006−031245号公報
【特許文献4】特開平04−116690号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら従来技術では近似処理を行う際に分割点前後で接線方向を揃えるか否かという判定は行っていなかった。このことから接線方向を揃える場合、全ての分割点で揃える処理を行うため、図1(a)を入力画像とすると図1(b)に示すようにエッジ部が丸まってしまう。接線方向を揃えなかった場合は、全ての区間で独立して近似するため分割点での連続性は保証されず、図1(c)に示すように曲線の途中角張ってしまう結果となる。
【0009】
これを防止するには、接線方向を揃える区間とそうでない区間を適応的に判定すればよい。しかし、分割点を決定した後、接線方向を決定する段階で判定しようとすると、都度傾きの変化量を計算する必要があるため、前後数辺分の参照が再度必要となり、処理が複雑化する。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本発明に係る画像処理装置は以下の構成を備える。画像データの形状を表現する座標点列から、アンカ点を抽出するために予め定められた複数の抽出ルールに基づき、アンカ点の座標と当該アンカ点が予め定められた複数の属性のいずれに属するかとを決定し、前記アンカ点の座標と当該アンカ点の属性を含む情報を出力するアンカ点情報抽出手段と、着目アンカ点の前記属性および前記着目アンカ点から所定の範囲にあるアンカ点の座標に応じて前記着目アンカ点における接線方向を決定する接線方向決定手段と、前記着目アンカ点の接線方向及び座標からコントロール点座標を算出するコントロール点座標算出手段と、前記アンカ点の座標と前記コントロール点座標とを含む情報を出力するデータ出力手段とを有する。
【発明の効果】
【0011】
本発明によれば、変曲点の接線方向を適応的に判定して決定する場合であっても、処理を複雑化せずに簡易に行うことができる。
【図面の簡単な説明】
【0012】
【図1】接線方向をそろえるか否かの違いによるベクトル化結果を示す図。
【図2】本発明に係る画像処理装置のブロック構成図。
【図3】本発明に係る画像処理装置のメイン処理ブロック構成図。
【図4】実施形態1に係る画像処理装置のメイン処理を示すフローチャートの図。
【図5】二値画像における一画素と一画素より生成される座標点を示す図。
【図6】二値画像と二値画像より生成される座標点列例を示す図。
【図7】多値画像と多値画像より生成される座標点列例を示す図。
【図8】ベジェ曲線の概念を示す図。
【図9】着目点と周辺の座標点を示す図。
【図10】実施形態1に係るアンカ点候補情報抽出処理を示すフローチャートの図。
【図11】実施形態1に係るアンカ点候補判定処理を示すフローチャートの図。
【図12】実施形態1に係るアンカ点候補判定処理を示すフローチャートの図。
【図13】実施形態1に係るアンカ点候補情報抽出ルールの例を示す図。
【図14】実施形態1に係るアンカ点決定処理を示すフローチャートの図。
【図15】実施形態1に係る削減処理を示すフローチャートの図。
【図16】実施形態1に係るコントロール点座標決定処理に関する説明図。
【図17】実施形態1に係る接線方向決定処理を示すフローチャートの図。
【図18】実施形態1に係る接線方向決定処理における接線方向例を示す図。
【図19】実施形態2に係るアンカ点決定処理を示すフローチャートの図。
【図20】実施形態1と実施形態3に係る座標点追跡の違いを示す図。
【図21】実施形態3に係る着目点と周辺の座標点と中点を示す図。
【図22】実施形態3に係るアンカ点候補情報抽出処理を示すフローチャートの図。
【図23】実施形態3に係るアンカ点候補判定処理を示すフローチャートの図。
【図24】実施形態3に係るアンカ点候補判定処理を示すフローチャートの図。
【図25】実施形態3に係る屈曲点と変曲点の抽出ルールの例を示す図。
【図26】入力画像と本発明を適用した際に得られるベクトル化結果を示す図。
【発明を実施するための形態】
【0013】
<実施形態1>
以下、添付の図面を参照して本発明の実施の形態を説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【0014】
本実施形態の画像処理装置の構成例について、図2のブロック図を参照して説明する。図2において、CPU(Central Processing Unit)7は装置全体を制御する。なお、以下に示す各処理フローは、特段の記載が無い限り、CPU7によって実行される。ROM(Read Only Memory)6は変更を必要としないプログラムやパラメータを格納する。RAM(Random Access Memory)5は外部装置等から供給されるプログラムやデータを一時記憶する。スキャナ1は、文書等を光電走査して電子的な画像データを取得し、画像入出力I/O3はスキャナ1と画像処理装置を接続する。画像メモリ2は、スキャナ1で読み取られた画像データ等を保持する。外部記憶装置12は固定して設置されたハードディスクやメモリカード、あるいは着脱可能なフレキシブルディスク(FD)やCompact Disk(CD)等の光ディスク、磁気や光カード、ICカード、メモリカード等のプログラム記憶媒体を含む。また、I/O13はこれら外部記憶装置12とコンピュータ装置との入出力を行う。I/O15はユーザの操作を受け、データを入力するマウス等のポインティングデバイス10やキーボード9等の入力デバイスとの入出力を行う。映像I/O14は画像処理装置の保持するデータや供給されたデータを表示するためのディスプレイモニタ8との入出力を行う。通信I/F4は、インターネット等のネットワーク回線に接続するためのインタフェースである。システムバス11は上述した各ユニットを通信可能に接続する。
【0015】
[処理フロー]
以下、CPU7上で実行されるプログラムにより本願発明を実現する処理手順を、図3のブロック図と図4のフローチャートを用いて説明する。
【0016】
図4のフローチャートにおいて、S100で処理を開始すると、処理対象となる画像領域を含む画像データを入力する。画像入力に関しては、スキャナ1にて読み取られた画像データを画像入出力I/O3を介して画像メモリ2に入力する。また、通信I/F4を介して、装置外部より処理対象となる画像領域を含む画像を入力してもよく、あるいは、外部記憶装置12に予め記憶される画像データをI/O13を介して読み込むものであってもよい。得られた入力画像データは、画像メモリ2上に保持される。以上の処理は図3における画像入力手段1000を実現している。
【0017】
次に読み取った画像データに対してS110で座標点列抽出処理を行う。ここで扱う画像データに含まれる1つの黒画素を図5に示す。図5で示すように、画像データにおける1画素は、4つの頂点を有し、垂直方向の向きを示す垂直ベクトルと水平方向の向きを示す水平ベクトルより構成される正方形として扱う。1画素を4つの頂点を有する正方形として扱い、複数の画素の集合である画像データのアウトラインを抽出すると、水平ベクトルと垂直ベクトルからなる座標点列がアウトラインデータとして得られる。このような座標点列の抽出方法は、種々提案されており、特に特許文献2で開示されている座標点列抽出方法を用いれば、画像一面より効率良くかつ高速に座標点列を抽出することが可能である。例えば、図6(a)で示す画像から抽出された座標点列は、図6(b)に示すような、水平ベクトル、垂直ベクトルが交互に並ぶ構成となる座標点列となる。すなわち、座標点とは、水平ベクトル、または垂直ベクトルの方向が変化する点を意味する。
【0018】
またこのとき、読み取った画像データが複数色に及ぶ場合は、特許文献3に記載されている座標点列追跡法を適用することができる。即ち、図7(a)に示したように、3色以上の色領域の交点が存在した時、交点において座標点列の分割を行い、図7(b)で示したようにそれぞれを異なる座標点列として抽出する手法である。図7(b)は、4つの座標点列が得られた場合の例である。本実施形態では座標点列を追跡した結果、始点と終点が同一の座標となるような座標点列を閉輪郭、始点と終点が異なった座標となる座標点列を開輪郭と呼称する。以上の処理は図3における座標点列抽出手段1100を実現している。また、S100とS110は合わせて図3における座標点列入力手段100を実現している。
【0019】
次にS120、S130、S140、S150では抽出した座標点列に対して関数近似処理を行う。本実施形態では置き換える関数として、3次ベジェ曲線を用いる。3次ベジェ曲線は図8に示すとおり、2つのアンカ点と2つのコントロール点から構成され、以下の式によって定義される。このとき図8において、黒丸はアンカ点a1,a2を、白丸はコントロール点c1,c2をそれぞれ示す。またtは媒介変数であり0≦t≦1とする。
【0020】

よって3次ベジェ曲線を用いて関数近似を行うには、S110で得た座標点列を適切に区切るアンカ点の決定と、その間を構成する座標点列の形状を適切に近似するコントロール点の決定が必要となる。以下から本実施形態における関数近似処理のフローを説明する。
【0021】
まずS120ではアンカ点候補情報抽出処理を行う。ここでは、S110で抽出した座標点列において着目している点と、その近傍の座標点のなすパターンが、あらかじめ定められた複数の抽出ルールで規約済みのパターンであった場合に、当該着目点をアンカ点の候補としアンカ点候補情報を出力する。S120では、図9に示すように現在着目している座標点列の点を着目点P(i=1,2,…n)とし、着目点Piから見て座標点列追跡方向と逆方向の座標点をPi−1、Pi−2…とし、座標点列追跡方向と順方向の座標点をPi+1、Pi+2…とする。また、アンカ点候補情報とは、アンカ点の候補として抽出した座標と、その着目点P近傍のパターン特性を示す属性を指す。
【0022】
図10は、CPU7によって実行される、S120で行われるアンカ点候補情報抽出処理のフローである。まずS121で、追跡する座標点列の初期点を設定し、該当の座標点を着目点とする。次にS122では着目点P自身をアンカ点候補とすべきか否かを判定する。
【0023】
なお、本発明において、複数の閾値を用いて判定等を行っているが、閾値の設定に関しては、実験的に導いてもよいし、所定の式等に基づいて決定してもよい。また、閾値以上、閾値以内と記載している箇所があるが、設定した閾値の特性や必要に応じて、判定条件は調整してもよい(例えば、閾値より小さい、など)。
【0024】
[着目点判定処理]
図11は、CPU7によって実行される、着目点判定処理の詳細な処理フローである。まずS1221で着目点の端点判定を行う。端点は図13(a)に示したように開輪郭の着目座標点Pに対し、前、もしくは後に座標点が存在しない点である。端点と判定された場合は、S1222に遷移し、その着目点P自身の座標と、「端点」という属性を保持し、処理を終える。
【0025】
S1221にて端点でないと判定された場合は、S1223の折点判定に遷移する。折点は図13(b)に示したように座標Pi−1、Pi+1を参照点とし、着目点Pと参照点Pi−1、Pi+1それぞれとがなす辺Pi−1と辺Pi+1の長さが共に閾値T1以上となる点とする。また、辺Pi−1と辺Pi+1は、向きが水平方向から垂直方向もしくは垂直方向から水平方向へ変化することとする。ここで言う辺の長さとは、座標間に内包される画素長を指す。このとき閾値T1は、一意に定めてもよいし、画像の大きさを加味して可変としてもよい。本実施形態ではCを座標点列の外接矩形の外周の長さとして、閾値T1=2+C/300としている。ただし、閾値T1は2≦T1≦6の範囲で限定をしている。折点と判定された場合は、S1222に遷移し、その着目点P自身の座標と、「折点」という属性を保持し、処理を終える。
【0026】
S1223にて折点でないと判定された場合は、S1224に遷移する。S1224では現在着目している座標点が端点から数えて奇数点目か偶数点目かを判定する。すなわち、iが偶数か奇数かを判定する。ここで偶数点目であると判定された時はS1227へ遷移し、着目点P自身の座標のみを保持し、そのまま処理を終える。奇数点目と判定された場合はS1225へ遷移する。
【0027】
S1225では屈曲点判定を行う。屈曲点は図13(f)に示したように座標Pi−2、Pi+2を参照点とし、線分Pi−2と、線分Pi+2とがなす角度θを算出し、角度θが閾値T2以上となる点とする。本実施形態では閾値T2=25°としている。屈曲点と判定された場合は、S1222へ遷移し、その着目点P自身の座標と、「屈曲点」という属性を保持し、処理を終える。
【0028】
S1225で屈曲点ではないと判定された場合は、S1226の変曲点判定へ遷移する。変曲点は図13(g)に示したように座標Pi−4、Pi−2、Pi+2を参照点とし、線分Pi−4i−2の傾きαと、線分Pi−2の傾きβと、線分Pi+2の傾きγを算出する。そして、傾きの変化量となるβ‐α、γ‐βをそれぞれ算出し、この傾きの変化量同士の正負が入れ替わる点を変曲点とする。すなわち、傾きの変化量における連続したベクトル間において、その外積の符号が変化する点を変曲点とする。ただし、傾きの変化量β‐αの絶対値が閾値T3以下となる場合は、β‐αの絶対値が閾値T3以上の値を取るまで傾きαをとる線分をPi−6i−4、Pi−8i−6…と遡らせて判定を行う。本実施形態では閾値T3=1.0×10−7としている。変曲点と判定された場合は、S1222へ遷移し、その着目点P自身の座標と、「変曲点」という属性を保持し、処理を終える。S1226で変曲点ではないと判定された場合は、S1227に移り、着目点P自身の座標のみを保持し、そのまま処理を終える。
【0029】
[着目辺判定処理]
以上まででS122の着目点P自身のアンカ点候補判定は終えた。次に着目辺Pi+1上にアンカ点候補を取るべきか否かを判定するS123に移る。ここで、着目辺とは着目点Pと、その次に存在する座標点Pi+1を結ぶ辺を指す。ここでアンカ点候補が抽出された場合は、その座標は着目辺上となるためS110で抽出した座標点列Pi+1の間に書き加える。図12はその詳細な処理フローである。
【0030】
まずS1231で着目辺Pi+1が直線保持辺か否かを判定する。直線保持辺は図13(c)、(d)に示したように、判定するためにまず座標Pi−2、Pi−1、Pi+1または座標Pi+1、Pi+2、Pi+3を参照点とする。そして、ベクトルPi−2i−1、Pi+1の長さ|Pi−2i−1|、|Pi+1|、またはベクトルPi+1、Pi+2i+3の長さ|Pi+1|、|Pi+2i+3|をそれぞれ算出する。そして、|Pi+1|が|Pi−2i−1|の閾値T4倍以上、または|Pi+1|が|Pi+2i+3|の閾値T4倍以上となり、かつ双方のベクトル方向が同一である辺を直線保持辺であるとする。つまり、直線保持辺は、近傍の辺に対し、一定の値以上の長さを有することとなる。直線保持辺であると判定された場合、S1232へ遷移する。そして、T5を閾値として、着目辺Pi+1上において、座標P、Pi+1からそれぞれ距離|Pi+1|/T5だけ離れた位置にある点を2点決定し、その属性を「直線保持点」として保持し、処理を終える。このとき閾値T4、閾値T5は、所定の値として一意に定めてもよいし、画像の大きさを加味して可変としてもよい。本実施形態では閾値T4=10、閾値T5=5としている。
【0031】
S1231で着目辺Pi+1が直線保持辺でないと判定された場合は、S1233の頂点を含む辺判定の処理へ遷移する。頂点を含む辺は、図13(e)に示したように座標Pi−1、Pi+1、Pi+2を参照点とし、ベクトルPi−1と、ベクトルPi+1i+2の方向が逆行する辺であるとする。つまり、この例において、着目辺Pi+1が頂点を含む辺となる。着目辺Pi+1が頂点を含む辺であると判定された場合、S1234に移り、線分Pi+1の中点座標と、属性「頂点」を保持し、処理を終える。S1233で着目辺Pi+1が頂点を含む辺でないと判定された場合は、そのまま処理を終える。
【0032】
以上まででS123の着目辺Pi+1のアンカ点候補判定は終えた。次にS124で、現在の着目点が追跡している座標点列の終点であるか否かを判定する。すなわち、すべての座標点に対し、アンカ点候補判定の処理が終了したか否かを判定する。終点ではないと判定された場合は、S125で着目点を座標点列上における次の座標点として、再度S122へ遷移する。終点であると判定された時はアンカ点候補情報抽出処理を終える。以上の処理は図3におけるアンカ点候補情報抽出手段1200を実現している。
【0033】
[アンカ点決定処理]
次に抽出したアンカ点候補情報に基づいてS130でアンカ点決定処理を行う。ここで、S120においてアンカ点候補として抽出された座標点列をQ(j=1,2,…m)と呼称する。そして着目点Qに対し、その前後の近傍の座標点Qj−2、Qj−1、Qj+1、Qj+2を参照点とする。そして、その参照点のうちいずれかにS120において抽出したアンカ点候補が2つ以上あった場合、各アンカ点候補の属性に応じて削減するか否かを決定する。またここでいう削減とは、S120でアンカ点候補として抽出した座標における属性を削除し、アンカ点候補ではない座標点の状態に戻すことを指す。ただし、属性「頂点」と「直線保持点」においては、S120で辺上に新たに書き加えた点であるので、削減する場合は元のS110で抽出した座標点列の状態に戻すために、属性だけでなく、その座標も削減することとする。
【0034】
図14は、CPU7によって実行される、S130で行われるアンカ点決定処理の詳細なフローである。まずS131で、追跡する座標点列の初期点を設定し、該当の座標点を着目点Qとして、S132へ遷移する。S132では、着目点Qがアンカ点候補として抽出された点か否かを判定する。着目点Qがアンカ点候補として抽出された点でなかった場合は、S136へ遷移する。着目点Qがアンカ点候補として抽出された点であった時は、S133へ遷移する。S133では着目しているアンカ点候補Qに対し、前後の近傍の座標点が2点以内(Qj−2、Qj−1、Qj+1、Qj+2)である点を参照点とし、参照点内にアンカ点候補が存在するか否かを判定する。参照点内にアンカ点候補が存在しなかった場合は、S136へ遷移する。参照点内にアンカ点候補が存在した場合は、S134へ遷移する。
【0035】
S134ではアンカ点候補同士の優先順位の比較を行う。ここで、アンカ点候補の優先順位は、アンカ点候補情報における属性に依存する。本実施形態ではアンカ点候補の優先順位を高いものから「折点」、「直線保持点」、「頂点」、「屈曲点」、「変曲点」とあらかじめ定義しておく。また「端点」は、近似処理を終えた後、各座標点列をつなぎ合わせる過程で必要な点であるため、例外として削減対象とはしない。着目アンカ点候補Qの優先順位が、参照点内に存在するアンカ点候補の優先順位よりも高い場合、S136へ移る。着目アンカ点候補Qの優先順位が、参照点内に存在するアンカ点候補の優先順位以下であった場合はS135に移る。
【0036】
[削減処理]
S135ではアンカ点候補の削減処理を行う。すなわち、アンカ点候補が有する属性を削除することにより、アンカ点候補としての座標点を削減している。図15は、CPU7によって実行される削減処理の詳細なフローである。まずS1351では、着目アンカ点候補Qの属性が「変曲点」か否かを判定する。着目アンカ点候補Qの属性が「変曲点」であった場合、S1352へ遷移し、着目アンカ点候補Qの属性を削除し、処理を終える。着目アンカ点候補Qの属性が「変曲点」でなかった場合、S1353へ遷移する。S1353では、着目アンカ点候補Qの属性が「屈曲点」か否かを判定する。着目アンカ点候補Qの属性が「屈曲点」であった場合、S1354へ遷移し、参照点内のアンカ点候補が、当該着目アンカ点候補Qに隣接する参照点Qj−1、Qj+1か否かを判定する。そして参照点Qj−1、Qj+1がアンカ点候補であった場合はS1355へ遷移し、着目アンカ点候補Qの属性を削除して処理を終える。アンカ点の候補が隣接しない座標点であった場合はそのまま処理を終える。S1353にて着目アンカ点候補Qの属性が「屈曲点」でなかった場合、S1356へ遷移する。
【0037】
S1356では、着目アンカ点候補Qの属性が「頂点」か否かを判定する。着目アンカ点候補Qの属性が「頂点」であった場合、S1357へ遷移し、着目アンカ点候補よりも優先度の高い属性を有するアンカ点候補が、当該着目アンカ点候補Qに隣接する参照点Qj−1、Qj+1双方に存在するか否かを判定する。そして参照点Qj−1、Qj+1双方に着目アンカ点候補Qよりも高い優先度の属性を有するアンカ点候補が存在した場合はS1358へ遷移し、着目アンカ点候補Qの属性と座標を削除し、処理を終える。隣接する参照点Qj−1、Qj+1双方にアンカ点候補が存在しない場合はそのまま処理を終える。
【0038】
S1356にて着目アンカ点候補Qの属性が「頂点」でなかった場合、S1359へ遷移する。S1359では、着目アンカ点候補Qの属性が「直線保持点」か否かを判定する。着目アンカ点候補Qの属性が「直線保持点」であった場合、必ず参照点Qj+1は同じ「直線保持点」となる。よって次にS13510へ遷移し、着目アンカ点候補よりも優先度の高い属性を有するアンカ点候補が参照点Qj−1、Qj+2双方に存在するか否かを判定する。そして参照点Qj−1、Qj+2双方に着目アンカ点候補よりも優先度の高い属性を有するアンカ点候補が存在した場合はS13511へ遷移し、参照点Qj+1に存在するアンカ点候補と、着目アンカ点候補Qの属性と座標を削除し、処理を終える。参照点Qj−1、Qj+2双方にアンカ点候補が存在しない場合はそのまま処理を終える。着目アンカ点候補Qの属性が「直線保持点」でなかった場合、処理を終える。
【0039】
ここまでで着目アンカ点候補を削除するか否かの判定を終えた。次にS136で、現在の着目点が追跡している座標点列の終点であるか否かを判定する。すなわち、すべてのアンカ点候補に対して本処理を適用したか否かを判定する。終点ではないと判定された場合は、S137で着目アンカ点候補を座標点列上における次のアンカ点候補に移し、再度S132へ遷移する。現在の着目アンカ点候補が終点であると判定された時はアンカ点決定処理を終える。以上の処理は図3におけるアンカ点決定手段1300を実現している。また、S120とS130は、合わせてアンカ点情報抽出手段200を実現している。
【0040】
[アンカ点候補属性の目的と優先順位]
ここで、各アンカ点候補属性の目的と優先順位の理由について説明する。まず、「端点」は開輪郭における始端、及び終端を意味し、先にも述べたとおり近似処理を終えた後この点を基準に各座標点列をつなぎ合わせるので、削減は行わず、また優先順位の比較対象外とする。
【0041】
次に「折点」は入力画像の座標点列における角張った部分を表現することを目的としている。「折点」画像において特徴的な点であり、削減による視覚的な変化はいずれのパターンでも大きい。このことからアンカ点候補中、1位の優先順位とし、削減は行わないこととする。
【0042】
次に「直線保持点」は入力画像の座標点列におけるx方向、y方向における直線部分の表現を目的としている。このため「直線保持点」は必ず2点隣り合う形で抽出する。この点を削減した場合、直線が曲線となってしまう場合があるため視覚的な変化が大きい。しかし、2点の「直線保持点」を直近で囲む形で「折点」が存在する場合は、その目的から「直線保持点」を削減しても視覚的な劣化は起こらない。このことからアンカ点候補の優先順位は全属性中、2位としている。
【0043】
次に「頂点」は入力画像の座標点列におけるエッジや曲線の極値点を表現することを目的としている。このため「頂点」は削減することによる視覚的な変化が大きい。しかし、「頂点」を直近で囲む形で「折点」や「直線保持点」が存在する場合、「頂点」を削減しても視覚的な劣化は起こらない。このことからアンカ点候補の優先順位は全属性中、3位としている。
【0044】
次に「屈曲点」は入力画像の座標点列における急峻な角度の変化を表現することを目的としている。しかし本実施形態における屈曲点の抽出は、着目点前後の角度のみを参照して判定を行っているため、入力画像に不規則なパターンが存在した場合過剰に抽出してしまう。また画像中の角度変化が大きい点を抽出しているため、削減した場合の影響は大きいものの、「頂点」や「折点」などの画像における代表的な特徴部に直近で存在した場合は削減を行っても画像の変化は目立たちにくい。このことからアンカ点候補の優先順位は全属性中、4位としている。
【0045】
最後に「変曲点」は入力画像の座標点列において傾き変化量が入れ替わった点で近似区間を区切ることで、複雑なパターンの近似区間をなくすことを目的としている。しかし本実施形態における変曲点の抽出は、局所領域のみを参照して判定を行っているため、入力画像に不規則なパターンが存在した場合過剰に抽出してしまう。また、変曲点は曲線の途中に存在する点であり、他の属性のような特徴的な点を抽出した点ではないため、削減した場合の変化は視覚的に目立ちにくい。このことから、アンカ点候補の優先順位は全属性中、5位としている。
【0046】
なお、アンカ点に付加される属性は、ここで挙げられたものに限定されるわけではなく、さらに細かく定義してもよい。また、処理を行う画像の特性に合わせて、上記の属性の一部のみを用いて処理を行ってもよい。
【0047】
[コントロール点決定処理]
次にS140、S150で行うコントロール点決定処理について説明する。この処理では特許文献1で開示されている手法を適用することができる。すなわち、図16に示すように、コントロール点c1、c2間を結ぶ線分c1c2は、アンカ点a1、a2を結ぶ線分a1a2と平行であると仮定する。そして線分a1a2から最も距離が離れた座標点列上の点Pと線分a1a2との距離をDf、線分a1a2と線分c1c2との距離をDとすると、D=4/3Dの関係が成り立つゆえ、線分c1c2が一意に定まる。そして、アンカ点a1、a2における接線をそれぞれ決定し、接線方向と線分c1c2との交点をコントロール点c1、c2として一意に定める。このとき各アンカ点における接線方向は、S140の、接線方向決定処理によって行う。接線方向は3次ベジェ曲線で近似する上で、曲率を司る。このため各アンカ点において、アンカ点間で区切られた区間の座標点形状を鑑みて接線方向を決定する必要がある。本発明においてはこの接線方向の決定に、アンカ点候補情報抽出時に得た属性を利用して簡易に行うことを実現している。ここで、S130のアンカ点決定処理で得た座標点列をR(k=1,2,…l)とし、座標点列追跡方向と逆方向の座標点をRk−1、Rk−2…とし、座標点列追跡方向と順方向の座標点をRk+1、Rk+2…と呼称することとする。
【0048】
[接線方向決定処理]
図17は、CPU7によって実行される、S140で行われる接線方向決定処理の詳細なフローである。まずS141で接線方向を決定する対象となるアンカ点の属性を参照し、属性が「直線保持点」、もしくは「折点」であるか否かを判定する。アンカ点の属性が「直線保持点」、もしくは「折点」であった場合には、S142へ遷移し、それぞれ図18(c)、図18(b)で示したように、隣接する座標点Rk−1、Rk+1の方向を接線方向とし、処理を終える。S141にて属性が「直線保持点」、もしくは「折点」でなかった場合にはS143へ遷移する。S143では、属性が「変曲点」であるか否かを判定する。属性が「変曲点」であった場合には、S144へ遷移し、図18(f)で示したように、アンカ点Rの前後2点先の座標点Rk−2、Rk+2を結ぶ直線の傾きを求め、求めた傾きの平均を算出する。このとき傾きの平均は、閾値T6以内とする誤差の範囲内(第一の誤差)であっても良い。そして算出した傾きの平均に基づき、互いに向きが逆行する方向を接線方向とし、処理を終える。このとき互いの向きは正確に180度(すなわち、それぞれの接線が正反対の方向を向いている)としてもよいし、閾値T7以内とする誤差の範囲内(第二の誤差)であっても良い。。またここで言う閾値T6、T7の一例としてはT6=0.1、T7=1.0等を定義しうる。S143にて属性が「変曲点」でなかった場合にはS145へ遷移する。S145では接線方向を決定する対象となるアンカ点の前後二点先の座標点Rk−2、Rk+2の方向を接線方向とし、処理を終える。以上の処理により、図3における接線方向決定手段1400を実現している。
【0049】
[接線方向]
ここで、各属性における接線方向について説明する。まず「折点」は入力画像の座標点列の角張った部分を表現するため、「折点」前後の近似区間で直交するように接線方向を取るのが好ましい。このことから、図18(b)に示したように「折点」に隣接する座標点の方向をそれぞれ接線方向とすれば接線方向を直交とすることができ、角張った表現が可能となる。
【0050】
次に「直線保持点」は入力画像の座標点列の直線部分を保持しつつ隣接する近似区間に滑らかに接続するため「直線保持点」前後の接線方向は並行でかつ逆行する方向に取るのが好ましい。このことから図18(c)に示したように「直線保持点」に隣接する座標点の方向を接線方向とすれば、平行かつ逆行する形で接線方向を取ることができ、これにより直線を保持しつつ、滑らかに隣接する近似区間とつなげることが可能となる。
【0051】
次に「頂点」は入力画像の座標点列のエッジや緩やかな曲線の極値点を表現するため、接線方向は「頂点」前後の近似区間における曲率を鑑みた方向であるのが好ましい。このことから図18(d)に示したように前後二点先の座標点の方向を接線方向とすれば、緩やかな「頂点」は緩やかな接線方向をとりつつ、急峻な「頂点」は急峻な角度の接線方向を取ることができ、緩やかな極点と急峻なエッジを表現することが可能となる。
【0052】
次に「屈曲点」は入力画像の座標点列における角度の急峻な変化を表現するため、「屈曲点」前後の近似区間の曲率の変化を鑑みた接線方向であることが好ましい。このことから図18(e)に示したように前後二点先の座標点の方向を接線方向とすれば、「屈曲点」前後の近似区間で別々に接線方向を取ることができ、かつ曲率の変化を加味できるので急峻な角度の変化を表現することができる。
【0053】
次に「変曲点」は曲線の途中で傾き変化量の正負が変化した点を取るため、前後の近似区間では接線方向を平行でかつ逆行する方向にとり、滑らかに接続するのが好ましい。このことから図18(f)に示したように前後二点先の座標点の方向をそれぞれ算出し、それらの傾きの平均となる方向にそれぞれ接線方向を取ることで、接線方向を平行でかつ逆行する方向に取ることができ、滑らかに曲線を接続することができる。
【0054】
最後に「端点」は前後どちらかの座標点が存在しないゆえ、前後の近似区間の接続を鑑みなくてもよい。このため図18(a)に示したように座標点が存在する座標点列状の二点先の座標点の方向を接線方向としておくことで、近似区間となる座標点列の曲率に準じた接線方向を取ることができる。
【0055】
[コントロール点座標算出処理]
以上まででアンカ点における接線方向の決定ができた。次にS150でコントロール点座標算出処理を行う。ここではまず、アンカ点で分割された区間における座標点列に対し、アンカ点間を結ぶ線分a1a2から最も距離が離れた座標点Pを検索する。そして検出した座標点Pと線分a1a2までの距離Dを求める。この距離Dに基づき、線分a1a2に平行であり、かつ線分a1a2から距離D=4/3×D離れた線分c1c2を導出する。そして導出した線分c1c2に対し、S140で決定した各アンカ点の接線方向との交点をコントロール点として決定する。このとき、アンカ点a1、a2間に他の座標点が存在しない、二つのアンカ点の接線方向が互いに逆行している、もしくは線分a1a2の長さを距離Dfで除算した値が閾値T5以下である場合、該当区間は直線部であるとしコントロール点は出力しない。本実施形態において閾値T5=30とする。以上の処理により、図3におけるコントロール点座標算出手段1500を実現している。また、S140とS150とによりコントロール点座標決定手段300を実現している。
【0056】
最後にS160では生成したデータを、同一の座標を有する「端点」同士を結合し、ベクトルデータとして出力する。この処理により、図3におけるデータ出力手段400を実現している。以上の処理を行うことにより、最終的に図26に示したベクトルデータが得られる。
【0057】
<実施形態2>
実施形態1では、アンカ点決定処理において、着目アンカ点候補の前後の座標点二点以内に他のアンカ点候補が存在した場合に削減処理を行った。しかし、アンカ点候補に含まれる座標点数が3点以上離れている場合は、例え冗長なアンカ点候補が存在した場合でも削減することはできない。そこで本実施形態では、隣接するアンカ点候補の優先順位を比較し、その上で削減処理を行う。また、アンカ点候補同士を比較して削減を行った場合、削減した結果をアンカ点候補情報に上書きし、上書きした結果における隣接アンカ点候補を再度判定していくこととしている。このことにより、より広い範囲での削減処理が可能となり、データ量の削減に寄与することができる。
【0058】
図19は、CPU7によって実行される本実施形態の処理フローである。まず、座標点列を追跡し、S231で初めのアンカ点候補を第一アンカ点候補として抽出する。次にS232で第一アンカ点候補からさらに座標点列を追跡し、次に検出されたアンカ点候補を第二アンカ点候補とする。次にS233で第一アンカ点候補と第二アンカ点候補が有する属性の優先順位の比較を行う。第二アンカ点候補の優先順位が低かった場合はS234へ遷移する。S234では第一アンカ点候補と第二アンカ点候補で区切られた区間の座標点列の形状を判定する。ここで形状を判定する要素として、例えば、座標点列の角度、長さ、座標点数、削減したアンカ点候補の数などが挙げられる。ここで削減を行うと判定された場合は、S236へ遷移し、第二アンカ点候補を削減してS232に戻る。削減を行わないと判定された場合、S238へ遷移する。
【0059】
S233で第一アンカ点候補の優先順位が低かった、もしくは同一であった場合はS235へ遷移する。S235ではS234と同様に第一アンカ点候補と第二アンカ点候補で区切られた区間の座標点列の形状を判定する。ここで形状を判定する要素として、例えば、座標点列の角度、長さ、座標点数、削減したアンカ点候補の数などが挙げられる。ここで削減を行うと判定された場合は、S237へ遷移し、第一アンカ点候補を削減し、その後S238へ遷移する。また削減を行わないと判定された場合、S238へ遷移する。S238では現在第二アンカ点候補として着目している点を第一アンカ点候補とし、S232へ戻る。
【0060】
以上の処理を、処理した座標点数が開輪郭、閉輪郭における総座標点数となるまで行う。この処理により座標点列の追跡方向に従って、次々にアンカ点候補を比較していくことができ、アンカ点候補間の座標点数に制限されることのないアンカ点決定処理を実行することができる。
【0061】
<実施形態3>
実施形態1では、アンカ点候補情報抽出処理において、前ステップで抽出した座標点列に対して図9に示したように追跡を行い、アンカ点候補情報を抽出した。こうした場合、「変曲点」や「屈曲点」のように角度の変化を用いて抽出を行う属性は、座標点列の角度を算出する必要があることから、図20(a)に示したように、一点おきに判定を行うようにしている。
【0062】
しかしこのとき、同じ座標点列でも図20(a)の座標点1を判定する場合と図20(a)の座標点2を判定する場合では異なる抽出結果が得られてしまい、2つの場合で最終的な近似結果が一致しないことがある。これに対応するため、実施形態1における図4のS120のアンカ点候補情報抽出処理で、角度変化を用いてアンカ点候補情報の抽出を行う「変曲点」と「屈曲点」の判定を、図20で示したような各座標点列間を結ぶ辺の中点を用いて行ってもよい。即ち、図10のフローチャートで示した一連の処理フローを、図22で示すフローチャートに沿って処理するように構成してもよい。尚、アンカ点候補情報抽出処理以外の処理は実施形態1と同様の処理を行えばよい。
【0063】
ここでは、図21に示すように現在着目している座標点列の点を着目点P(i=1,2,…n)と呼称する。また、着目点Pから見て座標点列追跡方向と逆方向の座標点をPi−1、Pi−2…とし、座標点列追跡方向と順方向の座標点をPi+1、Pi+2…と呼称する。さらに座標点Pと座標点Pi+1間を結ぶ辺の中点をC(l=1,2,…n−1)と呼称する。そして、着目点Pから見て座標点列追跡方向と逆方向の座標点同士がなす中点をCl−1、Cl−2…とし、座標点列追跡方向と順方向座標点同士がなす中点をCl+1、Cl+2…と呼称することとする。
【0064】
以下、本実施形態におけるアンカ点候補情報抽出処理の詳細を図22に示すフローチャートを用いて述べる。まずS321で、追跡する座標点列の初期点を設定し、該当の座標点を着目点とする。次にS322では着目点P自身をアンカ点候補とすべきか否かを判定する。
【0065】
図23は、CPU7によって実行される、着目点判定処理の詳細な処理フローである。まずS3221で着目点の端点判定を行う。この処理は実施形態1における図11のS1221と同様のものでよい。端点と判定された場合は、S3222へ遷移し、その着目点P自身の座標と、「端点」という属性を保持して、処理を終える。S3221で端点でないと判定された場合は、S3223の折点判定へ遷移する。この処理は実施形態1における図11のS1223と同様のものでよい。折点と判定された場合は、S3222に移り、その着目点P自身の座標と、「折点」という属性を保持し、処理を終える。S3223で折点でないと判定された場合は、S3224へ遷移する。そして、着目点P自身の座標のみを保持し、そのまま処理を終える。
【0066】
ここまでの処理により、S322の着目点P自身のアンカ点候補判定は終えた。次に、図22において、着目辺Pi+1上にアンカ点候補を取るべきか否かを判定するS323へ遷移する。図24は、CPU7によって実行される、着目辺判定処理の詳細な処理フローである。まずS3231で着目辺Pi+1が直線保持辺か否かを判定する。この処理は実施形態1における図12のS1231と同様のものでよい。着目辺Pi+1が直線保持辺であると判定された場合、S3232へ遷移する。そして、実施形態1と同様に座標を2点取り、その属性を「直線保持点」として保持し、処理を終える。
【0067】
S3231で着目辺Pi+1が直線保持辺でないと判定された場合は、S3233の頂点を含む辺判定へ遷移する。この処理は実施形態1における図12のS1233と同様のものでよい。着目辺Pi+1が頂点を含む辺であると判定された場合、S3234へ遷移する。そして、線分Pi+1の中点座標と、属性「頂点」を保持し、処理を終える。S3233で着目辺Pi+1が頂点を含む辺でないと判定された場合は、S3235の屈曲点を含む辺判定へ遷移する。屈曲点を含む辺を判定するために、まず図25(a)に示したように着目辺Pi+1の中点座標Cと、辺Pi−1の中点座標Cl−1と、辺Pi+1の中点座標Cl+1を参照点とし、線分Cl−1と、線分Cl+1とがなす角度θを算出する。そして、角度θが閾値T8以上となる辺を屈曲点を含む辺とする。本実施形態では閾値T8=25°としている。着目辺Pi+1が屈曲点を含む辺であると判定された場合、S3234へ遷移する。そして、線分Pi+1の中点座標Cと、属性「屈曲点」を保持し、処理を終える。
【0068】
S3235で着目辺Pi+1が屈曲点を含む辺でないと判定された場合は、S3236の変曲点を含む辺判定へ遷移する。変曲点を含む辺を判定するために、まず図25(b)に示したように、着目辺Pi+1の中点座標Cと、辺Pi−1の中点座標Cl−1と、辺Pi−2i−1の中点座標Cl−2と、辺Pi+1の中点座標Cl+1を参照点とする。そして、線分Cl−2l−1の傾きαと、線分Cl−1の傾きβと、線分Cl+1の傾きγを算出する。そして、傾きの変化量となるβ‐α、γ‐βを算出し、この傾きの変化量同士の正負が入れ替わる点を変曲点とする。ただし、傾きの変化量β‐αの絶対値が閾値T9以下となる場合は、β‐αの絶対値が閾値T9以上の値を取るまで傾きαをとる線分をCl−3l−2、Cl−4l−3…と遡らせて判定を行う。本実施形態では閾値T9=1.0×10−7としている。着目辺Pi+1が変曲点を含む辺であると判定された場合、S3234へ遷移する。そして、線分Pi+1の中点座標Cと、属性「変曲点」を保持し、処理を終える。S3236で着目辺Pi+1が変曲点を含む辺でないと判定された場合は、そのまま処理を終える。
【0069】
ここまででS323の着目辺Pi+1のアンカ点候補判定は終えた。次に図22におけるS324で、現在の着目点が追跡している座標点列の終点であるか否かを判定する。終点ではないと判定された場合は、S325で着目点を座標点列上における次の点に移し、再度S322へ移る。終点であると判定された時はアンカ点候補情報抽出処理を終える。
【0070】
上記の処理をアンカ点候補情報抽出処理として実施することで、角度の変化を用いて抽出する変曲点や屈曲点を、着目点の偶数点目か奇数点目かという判定を必要とせず、入力した座標点列に一対一で対応したアンカ点抽出結果を得ることができる。
【0071】
<実施形態4>
実施形態1では、アンカ点候補情報抽出処理において、アンカ点決定処理における優先順位の高いものから順番に抽出を行い、抽出したアンカ点候補は一意に決定された属性を保持していた。しかし、複数の属性の性質を持つ点の場合、重複して属性を保持してもよい。例えば、「屈曲点」と「変曲点」の属性を有する場合は優先順位を上げ、接線方向は「変曲点」の場合と同様とする、などその重複属性の組み合わせによって優先順位や接線方向の取り方を変えることで、さらに精度の高いベクトル化を実現することができる。
【0072】
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
画像データの形状を表現する座標点列から、アンカ点を抽出するために予め定められた複数の抽出ルールに基づき、アンカ点の座標と当該アンカ点が予め定められた複数の属性のいずれに属するかとを決定し、前記アンカ点の座標と当該アンカ点の属性を含む情報を出力するアンカ点情報抽出手段と、
着目アンカ点の前記属性および前記着目アンカ点から所定の範囲にあるアンカ点の座標に応じて前記着目アンカ点における接線方向を決定する接線方向決定手段と、
前記着目アンカ点の接線方向及び座標からコントロール点座標を算出するコントロール点座標算出手段と、
前記アンカ点の座標と前記コントロール点座標とを含む情報を出力するデータ出力手段と
を有することを特徴とする画像処理装置。
【請求項2】
前記アンカ点情報抽出手段により決定されるアンカ点の属性は、
前記着目アンカ点の前後で、隣接するアンカ点への向きが水平方向から垂直方向もしくは垂直方向から水平方向へ変化する点である折点、
所定の長さを有する直線に含まれる点である直線保持点、
接線の傾きに対し極値の点となる頂点、
前記着目アンカ点の前後で、近傍のアンカ点となす接線の角度が所定の値以上の変化を伴う点である屈曲点、及び
前記着目アンカ点の前後で、前記アンカ点の群における連続するベクトルの外積の符号が変化する点である変曲点のうち少なくとも2つ以上を含むことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記接線方向決定手段は、前記着目アンカ点の属性が変曲点の場合には、接線方向を、所定の範囲におけるアンカ点と成す前後の辺の傾きの平均から第一の誤差の範囲内にある方向とし、当該前後の辺の成す角が180度から第二の誤差の範囲内にあるよう制御を行うことを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記接線方向決定手段は、前記着目アンカ点の属性が折点もしくは直線保持点の場合には、接線方向を、隣接する前後のアンカ点と成す方向とすることを特徴とする請求項1乃至3のいずれか一項に記載の画像処理装置。
【請求項5】
前記接線方向決定手段は、前記着目アンカ点の属性が頂点もしくは屈曲点の場合には、接線方向を、2点の距離に位置するアンカ点と成す方向とすることを特徴とする請求項1乃至4のいずれか一項に記載の画像処理装置。
【請求項6】
前記アンカ点情報抽出手段は、前記アンカ点の属性として、
折点は、接する前後の辺の長さがいずれも所定の長さ以上の点とし、
直線保持点は、長さが一定の値以上となる辺において、当該辺の端点それぞれから所定の距離に位置する点とし、
頂点は、隣接する座標点の接線において、傾きの正負が入れ替わった点とし、
屈曲点は、近傍のアンカ点候補となす接線の角度が所定の値以上に変化する点とし、
変曲点は、隣接する座標点との接線において、傾きの変化量の正負が入れ替わった点として
抽出することを特徴とする請求項2乃至5のいずれか一項に記載の画像処理装置。
【請求項7】
前記画像データを入力する画像入力手段と、
前記画像入力手段から入力された画像データにおける画像の形状を表現する座標点列を生成する座標点列抽出手段と
を更に有することを特徴とする請求項1乃至6のいずれか一項に記載の画像処理装置。
【請求項8】
画像処理装置のアンカ点情報抽出手段が、画像データの形状を表現する座標点列から、アンカ点を抽出するために予め定められた複数の抽出ルールに基づき、アンカ点の座標と当該アンカ点が予め定められた複数の属性のいずれに属するかとを決定し、前記アンカ点の座標と当該アンカ点の属性を含む情報を出力するアンカ点情報抽出工程と、
前記画像処理装置の接線方向決定手段が、着目アンカ点の前記属性および前記着目アンカ点から所定の範囲にあるアンカ点の座標に応じて前記着目アンカ点における接線方向を決定する接線方向決定工程と、
前記画像処理装置のコントロール点座標算出手段が、前記着目アンカ点の接線方向及び座標からコントロール点座標を算出するコントロール点座標算出工程と、
前記画像処理装置のデータ出力手段が、前記アンカ点の座標と前記コントロール点座標とを含む情報を出力するデータ出力工程と
を有することを特徴とする画像処理方法。
【請求項9】
コンピュータを、
画像データの形状を表現する座標点列から、アンカ点を抽出するために予め定められた複数の抽出ルールに基づき、アンカ点の座標と当該アンカ点が予め定められた複数の属性のいずれに属するかとを決定し、前記アンカ点の座標と当該アンカ点の属性を含む情報を出力するアンカ点情報抽出手段、
着目アンカ点の前記属性および前記着目アンカ点から所定の範囲にあるアンカ点の座標に応じて前記着目アンカ点における接線方向を決定する接線方向決定手段、
前記着目アンカ点の接線方向及び座標からコントロール点座標を算出するコントロール点座標算出手段、
前記アンカ点の座標と前記コントロール点座標とを含む情報を出力するデータ出力手段
として機能させることを特徴とするプログラム。
【請求項10】
請求項9に記載のプログラムを記憶したプログラム記憶媒体。

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図6】
image rotate

【図11】
image rotate

【図12】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図19】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図26】
image rotate

【図1】
image rotate

【図5】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図13】
image rotate

【図18】
image rotate

【図20】
image rotate

【図21】
image rotate

【図25】
image rotate


【公開番号】特開2011−210159(P2011−210159A)
【公開日】平成23年10月20日(2011.10.20)
【国際特許分類】
【出願番号】特願2010−79438(P2010−79438)
【出願日】平成22年3月30日(2010.3.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】