説明

画像処理装置、画像処理方法、プログラムおよび記録媒体

【課題】画像の輪郭部を近似する近似曲線の生成を高速に行う。
【解決手段】フィッティング処理部9は、エッジ抽出部7により抽出されたエッジ部の輪郭線の始点のx座標値Axと、輪郭線の終点のx座標値Exから、2つの制御点Z1、Z2のx座標値Z1x、Z2xを、Z1x=(2Ax+Ex)/3、Z2x=(Ax+2Ex)/3とし、制御点Z1、Z2のx座標値を固定した上で、制御点Z1、Z2のy座標値を移動することにより近似曲線を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像の輪郭線を近似する近似曲線を生成する画像処理装置、画像処理方法、プログラム及び記録媒体に関する。
【背景技術】
【0002】
グラフィクス表示などにおいて曲線を表現する多項式として、Bスプライン曲線やベジエ曲線などがあり、これらの多項式により曲線を近似するには、曲線の始点、終点、曲線の形状を特徴付ける制御点を指定する。ベジエ曲線は、デジタル空間で描画する際に始点と終点における曲線の接線が取り扱いやすく、高速に描画できる利点があるが、制御点の位置指定により曲率が大きく変化する欠点がある。
【0003】
図5(a)〜(e)は、制御点の位置を変えた場合の3次ベジエ曲線を示す。図5において、Aは始点、Eは終点、Z1、Z2は制御点である。図5に示すように制御点は曲線上にはなく、始点、終点、2つの制御点の位置関係により、曲線の曲率が大きく変わることがわかる。
【0004】
そこで、ベジエ曲線では限定した使用方法が用いられ、例えば、画像の輪郭部の曲線を近似する際に、図5(a)に示すような弓形形状の曲線だけ使用する方法が用いられている(例えば、特許文献1を参照)。
【0005】
従来、弓形形状を損なわずに、ベジエ曲線をエッジ部(輪郭線)へ当てはめるために、ベジエ曲線の制御点の位置を変更することによって徐々に近付けていく手法を採ることから処理時間が長くなる。例えば、図5(f)に示すように、ベジエ曲線の形状は、2つの制御点Z1、Z2の位置によって弓形の膨らみが変化する。そこで、まず、Z1、Z2で形成したベジエ曲線によって画像エッジ部への形状の当てはめを行い、曲線の膨らみを大きくする場合には、制御点の位置をZ1’またはZ2’などへ変更し、逆に、曲線の膨らみを小さくする場合には、制御点の位置をZ1”またはZ2”などへ変更することにより、当てはめる曲線を徐々に求めていく。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、制御点Z1、Z2の位置を動かすることにより新たに形成されるベジエ曲線の形状が、弓形であることが保証されないことから、従来の手法では、ベジエ曲線の生成処理に時間がかかるという問題があった。
【0007】
本発明は、上記した課題に鑑みてなされたもので、
本発明の目的は、画像の輪郭部を近似する近似曲線の生成を高速に行う画像処理装置、画像処理方法、プログラム及び記録媒体を提供することにある。
【課題を解決するための手段】
【0008】
本発明は、3次ベジエ曲線を用いて画像の輪郭線を近似する近似曲線を生成する画像処理装置において、前記輪郭線の始点における前記輪郭線の接線上の制御点を第1の制御点とし、前記輪郭線の終点における前記輪郭線の接線上の制御点を第2の制御点としたとき、前記始点、終点、第1、第2の制御点の閉曲線からなる四角形を生成する第1の生成手段と、前記第1、第2の制御点のX座標を所定の座標値に設定し、前記第1、第2の制御点のY座標を移動することにより前記近似曲線を生成する第2の生成手段を備えたことを最も主要な特徴とする。
【発明の効果】
【0009】
本発明によれば、3次ベジエ曲線の弓形形状を保持しつつ、輪郭線を近似する近似曲線を高速に生成することができる。
【図面の簡単な説明】
【0010】
【図1】本発明の画像処理装置の構成を示す。
【図2】本発明の実施例の処理フローチャートを示す。
【図3】本発明の処理を説明する輪郭線を示す。
【図4】本発明の条件を満たす形状例と、本発明の条件を説明する図である。
【図5】従来のベジエ曲線を説明する図である。
【発明を実施するための形態】
【0011】
以下、発明の実施の形態について図面により詳細に説明する。
【実施例1】
【0012】
本発明では、近似曲線として3次ベジエ曲線を採用する。3次ベジエ曲線B3(t)は、始点をA、終点をE、制御点をZ1、Z2とすると、
(t)=(1−t)A+3(1−t)tZ+3(1−t)t+t
と表現される。ここで、B(t)、A、E、Z、Zはベクトルであり、媒介変数tは、0から1の範囲のスカラー変数である。
【0013】
この3次ベジエ曲線は、次のような幾何学的特徴を持つ。
(a)曲線は、線分AZ、及び線分EZに接する。
(b)曲線上の点Z’=B(0.5)とすると、
Z’=(A+3Z+3Z+E)/8
本発明の3次ベジエ曲線は、以下の2条件(1、2)を共に満たすときに、画像の曲線部に対する近似曲線として適応性に優れた弓形形状の曲線を保持する。つまり、この2条件を共に保証する範囲で曲線の変形を行えば、曲線は弓形形状を保持したままで変形することができる。
(条件1)ベジエ曲線が、媒介変数0<t<1の間に変曲点を持たないこと。
(条件2)ベジエ曲線が、媒介変数0<t<1の間にループ曲線を形成しないこと。
【0014】
本発明の3次ベジエ曲線が、次の条件3を満たすときに、媒介変数が0<t<1の範囲において、上記条件1、2の両方を満足することを説明する。即ち、条件3の基に形成する、本発明の3次ベジエ曲線が、画像の曲線部に対する近似曲線として適応性に優れた弓形形状の曲線を保持することを以下に示す。
【0015】
条件3:始点→第1制御点→第2制御点→終点の順に直線で結んだ閉図形AZEが1組の四角形を形成し、4頂点からなる4角(内角)が総て180度未満、つまり、∠AZ<180度、かつ∠ZE<180度、かつ∠ZEA<180度、かつ∠EAZ<180度である。
【0016】
(条件1)を説明する。
まず、3次ベジエ曲線に変曲点が存在するときに、変曲点を示す媒介変数tの満たすべき式を導く。変曲点では曲率が0になるため、変曲点を示す媒介変数tは、
【0017】
【数1】

を満たす。ここで、×はベクトル積である。つまり、この式は、ベジエ曲線を表すベクトルB(t)の1次微分ベクトルの方向と2次微分ベクトルの方向とが一致することを示している。ここで、
【0018】
【数2】

により、
U=−3A+9Z−9Z+3E
V=6A−12Z+6Z
W=−3A+3Z
とおくと、
【0019】
【数3】

となり、tについて整理すると、
【0020】
【数4】

となる。これが、変曲点を示す媒介変数tの満たすべき式であり、この式が0<t<1において実数解を持たなければ、0<t<1には、変曲点が存在しないことになる。
【0021】
そこで、この式を用い、上記条件を満たすならば、3次ベジエ曲線が媒介変数0<t<1の間に変曲点を持たないことを説明する。すなわち、上記条件「始点→第1制御点→第2制御点→終点の順に直線で結んだ閉図形AZEが1組の四角形を形成し、4頂点からなる4角(内角)が総て180度未満である」ことは、3次ベジエ曲線が媒介変数0<t<1の間に変曲点を持たないことの十分条件であることを説明する。
【0022】
一般化した座標、始点A(0,0)、終点E(x,y)、制御点Z(x,0)(ただし0<x)、制御点Z(x,y)(ただし0<y≦y)を用いる。
【0023】
この4点により、四角形が作られ、4頂点からなる4角(内角)が総て180度未満であるとすると、この配置で形成される3次ベジエ曲線について、上記した変曲点を求める数4の左辺をF(t)とすると、
【0024】
【数5】

となる。t=0のとき、
【0025】
【数6】

である。また、ベクトル(E−Z)とベクトル(Z−Z)のなす角度は上記条件より、0度より大きく、180度より小さい。よって、ベクトル(E−Z)とベクトル(Z2−Z)の外積のz成分に対して、
【0026】
【数7】

が成り立つ。よって、t=1のとき、
【0027】
【数8】

である。
【0028】
これらの結果から、
F(t)のtの係数が0以下のとき、つまり
【0029】
【数9】

のときは、F(t)は上に凸の関数である。よって、F(0)>0、F(1)>0であるので、0≦t≦1の範囲で、F(t)>0である。
F(t)のtの係数が0より大きいとき、つまり
【0030】
【数10】

のときは、F(t)は下に凸の関数である。このときは、F(t)が極小値をとるときの媒介変数tの大きさにより、場合分けが必要になる。F(t)は、
【0031】
【数11】

において、極小値をとる。この極小値をとるときの媒介変数tをt=tmとする。このとき、上記の結果を使うと、3y≦yであれば、tm≦0であり、3y>yであれば、tm>0である。
(a)tm≦0であるときは、F(t)は下に凸の関数であり、F(0)>0、F(1)>0より、0≦t≦1の範囲で、F(t)>0であることがわかる。
(b)tm>1のときは、F(t)は下に凸の関数であり、F(0)>0、F(1)>0より、0≦t≦1の範囲で、F(t)>0であることがわかる。
(c)0<tm≦1のときは、F(t)=0が解を持つか否かを2次方程式の判別式で判定する。判別式はb−4ac=x(y+3y)(y−y)−4y(x−x)となる。ここで、
【0032】
【数12】

であるので、判別式b−4ac<0となる。よって、F(t)=0に解は存在しない。この結果と、F(0)>0、F(1)>0より、0≦t≦1の範囲で、F(t)>0であることがわかる。
【0033】
以上説明したように、0≦t≦1の範囲で、F(t)>0であること、すなわち、媒介変数0≦t≦1の間に変曲点を持たないことが分かる。これにより、条件「始点→第1制御点→第2制御点→終点の順に直線で結んだ閉図形AZEが1組の四角形を形成し、4頂点からなる4角(内角)が総て180度未満である」ことは、3次ベジエ曲線が媒介変数0<t<1の間に変曲点を持たないことの十分条件であることが説明された。
【0034】
次に、(条件2)を説明する。
条件2は、条件1だけでは弓形形状を満たさない場合(下記(ア)、(イ))があるので、条件2が必要となる。条件2を満たさない場合に該当するのは、条件1を満たす曲線B(t)において、tの増加に伴って、直線A→Z上から、右側に曲がる場合((ア)の場合(図4(a)))と、左側に曲がる場合((イ)の場合(図4(b)))がある。
【0035】
条件3が、条件2を満足する(上記(ア)、(イ)の何れの形状にもならない)場合において、条件3を満たす一般化した以下の座標を使用する(図4(c))。
始点A(0,0)
終点E(x,0) ただし 0<x
制御点Z1(x,y) ただし 0<y
制御点Z2(x,y) ただし 0<y
この時、3次ベジエB(t)は、始点をA=O、終点をE、制御点をZ1、Z2とすると、
(t)=3(1−t)tZ+3(1−t)t+t
と表され、1次、2次の導関数は、それぞれ次のようになる。
’(t)=3((3t−1)(t−1)Z+(2−3t)tZ+tE)
”(t)=6((3t−2)Z+(1−3t)Z+tE)
(t)、B’(t)、B”(t)は、すべてtについて連続であり、y座標に注目すると、By’(t)は2次関数(Zy≠Zyの時)または1次関数(Zy=Zyの時)であるが、By’(0)=3y>0,By’(1)=−3y<0であるので、0≦t≦1の範囲で、By’(t)が極値を取るのは1回だけである。従って、2回以上の極値を持つ上記(ア)にBy’(t)が該当することはない。
【0036】
また、By’(t)は単調減少関数であり、ZyとZyが等しい値になる程、By”(t)は一定値になる。すなわち、ZyとZyが等しい値になる程、By(t)の値は、変数tについて傾きが(+)から(−)に滑らかに変化するので、横軸tに対する縦軸By(t)の平面座標で表せば、By’(t0)=0となるt0付近を中心に、円弧に近い曲線を描き、tがt0から離れた値になる程、曲率変化が大きい曲線を描くことになる。
【0037】
それに対し、X方向の値は、Bx(t)=3(1−t)tZx+3(1−t)tx+tEx
となる。
【0038】
このX方向の式をtのべき乗項にまとめ整理すると、
x(t)=(3Zx−3Zx+Ex)t+3(Zx−2Zx)t+3Zxt
となるので、tとtの係数を0にできれば、
x(t)=3Zxt
という、X方向の値がtに比例する、簡単な関数になり扱いやすくなる。tとtの係数を0にするには、Zx=2Zx、かつEx=3Zxにすればよい。
【0039】
図4(d)は、上記した本発明の条件(Zx=2Zx、かつEx=3Zx)を満たす形状例を示す。これにより、Z1、Z2の決定が単純(線分AEに対し、垂直方向だけの変動で調整できる)であり、Z1、Z2を決定する過程で、Z1またはZ2を線分AEに並行に移動させる場合、その移動量が小さい値であれば、線形性(X方向の値がtに比例する)が損なわれない。上記した本発明の条件を満たす制御点Z1、Z2は、後述する図2の処理フローチャートのステップS108、S109、S111において処理される。
【0040】
次に、(イ)の場合にも該当しないことを説明する。
tの増加に伴って、B(t)が曲がる方向を表すB”(t)に注目すると、
”(0)=6(Z−2Z) (1)
”(1)=6(Z−2Z+E) (2)
であり、これを図4(e)、(f)に示す。すなわち、tの増加に伴って、B(t)曲線が右側に曲がるので、図4(e)に示す(イ)の場合にも該当しないことが分かる。
(1)の場合、
”(0)のベクトルは、Z→AベクトルとZ→Zベクトルに分解(それぞれ絶対値の1/6)でき、0∠AZ<180度の場合、tの増加方向であるA→Zベクトルの向きの右方向に増加する(右側に曲がる)(図4(e))。
(2)の場合、
同様に、B”(1)のベクトルは、Z2→EベクトルとZ2→Zベクトルに分解(それぞれ絶対値の1/6)でき、0∠ZE<180度の場合、tの増加方向であるZ→Eベクトルの向きの右方向に増加する(右側に曲がる)(図4(f)。
【0041】
従って、条件「始点→第1制御点→第2制御点→終点の順に直線で結んだ閉図形AZEが1組の四角形を形成し、4頂点からなる4角(内角)が総て180度未満である」が成立するような変形を行うことにより、曲線は変曲点を持たず、ループ曲線を形成することなく、弓形のベジエ曲線を保持することができ、画像の近似曲線の生成を高速に行うことが可能になる。
【0042】
ベジエ曲線を、変換対象の画像、図形のエッジ部に当てはめる方法は種々あるが、例えば、その手法として、有限要素法の重み付き残差法−選点法(「スプライン関数入門」(桜井、他著、東京電機大学出版局)を参照)を用いる場合を説明する。
【0043】
線形微分方程式、AU(t)=F(t)、a<t<bにおいて、境界条件U(a)=Ua、U(b)=Ubを満たすU(t)を求める場合を考える。ここで、Aは線形微分演算子であり、F(t)はtの関数である。
【0044】
関数U’(t)を上記の境界条件を満たす線型独立関数(基底関数)φi(t)の1次結合、
【0045】
【数13】

として、厳密解との差(残差、誤差)AU’(t)−F(t)=εを最小にする重みwi(t)を与えて、数14の積分を0にするのが重み付き残差法である。
【0046】
【数14】

選点法は、この重み関数wi(t)として解領域の内点tiを用いたデルタ関数wi(t)=δ(t−ti)とする方法であり、当てはめる関数群が決定できる最適でかつ必要最低限度の点を選定し、選んだ総ての点上では誤差を無くする方法である。この方法を、画像または図形の輪郭に、曲線や直線の当てはめる場合に適用することを考える。
【0047】
一組の3次ベジエ曲線を一意に決定するには、4点(始点(A)、終点(E)、制御点(Z1、Z2))の位置を指定し、少なくとも4点を評価(誤差を最小化)する必要がある。
【0048】
元の画像または図形データの特徴が明確でない場合(例えば、曲線と直線の接続する点が明確でない、曲率が急変する点があるなど)、4点として、始点、終点とその両者から1/3ずつの距離にある点を選ぶのが妥当である。
【0049】
また、元の画像または図形データの特徴が明確である場合、始点、終点の位置(値)の信頼性が高い(セグメント分割した時の誤差がない)ものとして、かつ元の画像または図形データの輪郭が3次ベジエ曲線に正確に当てはまるものと仮定する。
【0050】
このとき、元の画像または図形データに対して、正確な輪郭を表す関数をB’(t)、仮想の輪郭を表す関数をB(t)とすると、
B’(t)=(1−t)A+3(1−t)tZ’+3(1−t)t’+t
(t)=(1−t)A+3(1−t)tZ+3(1−t)t+t
となる。そして、両者の差で形成される面積(誤差面積)T
【0051】
【数15】

を最小にする点を選択する方法が、2つの制御点を選ぶ際の有力な方法の1つである。
【0052】
以上の仮定により、δZ=Z−Z’,δZ=Z−Z’として、B(t)の形状誤差δB(t)が、0≦t≦1の範囲の至るところで一定であり、かつtに誤差がない(δt=0)と仮定すると、
【0053】
【数16】

であるので、∂B/∂Z及び∂B/∂Zが、0≦t≦1の範囲で、それぞれ最大値を取るとき、δZ及びδZがそれぞれ最小となり、最も信頼性の高いZ、Zが得られる。すなわち、Zについては、
【0054】
【数17】

が最大になる位置は、t=1/3のときの位置であり、同様に、Z2については、t=2/3のときの位置である。
【0055】
従って、制御点Z1の位置は、t=1/3の描画位置と元の画像または図形エッジ位置との一致性で決定し、制御点Z2の位置は、t=2/3の描画位置と元の画像または図形エッジ位置との一致性で決定する。すなわち、t=1/3の位置において、曲線を元の画像のエッジ部に一致するように、制御点Z1の位置を始点Aにおける曲線の接線上で移動させ、t=2/3の位置において、曲線を元の画像のエッジ部に一致するように、制御点Z2の位置を終点Eにおける曲線の接線上で移動させることにより、曲線の当てはめを行う。
【0056】
また、n次のベジエ多項式に適用すると、上記の3次ベジエ多項式の場合と同様に、
B’n(t)=(1−t)A+n(1−t)n−1tZ1’+‥‥+n(1−t)tn−1Zn−1’+t
Bn(t)=(1−t)A+n(1−t)n−1tZ1+‥‥+n(1−t)tn−1Zn−1+t
となるので、Zkについては、
【0057】
【数18】

が最大になる位置t=k/nのときが、最も信頼性の高いZkが得られる位置となる。
【0058】
図1は、本発明の画像処理装置の構成を示す。CPU(中央処理装置)1は、画像処理装置の動作制御を行い、ROM2は、CPU1が起動時に実行するプログラムや必要なデータ等を記憶し、RAM3は、CPU1のワークエリア等を構成する。時計回路4は、現在日時情報を出力し、磁気ディスク装置5は、種々のアプリケーションプログラム、ワークデータ、ファイルデータ、画像データデータなどの種々のデータを記憶する。
【0059】
2値画像生成部6は、2値画像のエッジ部を抽出するときに、磁気ディスク装置5から入力された多値濃淡画像を2値化し、その出力データは画像エッジ抽出部7などに入力される。画像エッジ抽出部7は、ベジエ曲線を、画像や図形エッジ部などに当てはめるために、その前処理として、磁気ディスク装置5から入力された多値濃淡画像または2値画像生成部6から入力された2値画像に対し、画像のエッジ部を抽出し、その抽出情報を、出力データとしてセグメント分割部8に入力される。
【0060】
セグメント分割部8は、ベジエ曲線を画像や図形のエッジ部などに当てはめる(フィッティングする)ための前処理として、画像エッジ抽出部7から入力された画像エッジ部の抽出情報を基に、画像をセグメントに分割し、その分割情報を出力データとして、フィッティング処理部9などに入力される。
【0061】
フィッティング処理部9は、ベジエ曲線を画像や図形のエッジ部などに当てはめるときに、セグメント分割部8から入力された分割情報を基に、各セグメント内の画像のエッジ部にベジエ曲線を当てはめ、ベジエ曲線弓形判定部10の判定結果に従って、その当てはめることができた情報を出力データとして、磁気ディスク装置5、ネットワーク伝送制御部18、描画部11などに入力される。
【0062】
ベジエ曲線弓形判定部10は、フィッティング処理部9から入力されたベジエ曲線を形成する(始点、終点、制御点のそれぞれの位置)情報を基に、そのベジエ曲線が弓形を形成するか否かを判定し、その判定結果を出力データとして、フィッティング処理部9などに入力される。
【0063】
描画部11は、フィッティング処理部9から入力されたベジエ曲線情報などを基にベジエ曲線を描画し、その描画した情報を出力データとして、磁気ディスク装置5、及びネットワーク伝送制御部18などに与えられる。CRT画面表示装置12は、画像処理装置を操作するための画面を表示し、表示制御部13は、CRT画面表示装置12の表示内容を制御する。キーボード装置14は、画像処理装置に種々のキー操作を行い、画面指示装置15は、CRT画面表示装置12の任意の点を指示する等の操作作業を行い、入力制御部16は、キーボード装置14および画面指示装置15の入力情報を取り込む。ネットワークインタフェース回路17は、画像処理装置をネットワークに接続し、ネットワーク伝送制御部18は、ネットワークを介して他の端末装置との間で種々の情報をやりとりするための伝送制御処理を行い、また、各要素間のデータの入出力はバス19を介して行う。
【0064】
図2は、本発明の実施例の処理フローチャートを示す。以下の処理は、スキャナなどの画像入力装置やネットワークなどを介して入力された画像(あるいはメモリに蓄積された画像)を2値化し、エッジを抽出し、セグメントに分割した画像に対して実施される。
【0065】
まず、フィッティング処理部9は、画像輪郭線へのベジエ曲線当てはめ処理の初期設定を行う(ステップS101)。ここでは、画像エッジ部線の辿り方(左/右廻り識別)の決定、当てはめベジエ曲線の始点、終点、制御点の位置情報、個数の格納領域確保などを行う。
【0066】
フィッティング処理部9は、画像のエッジ部を線で辿って、その線が閉曲線または閉折線の候補となる位置を抽出する(ステップS102)。
【0067】
フィッティング処理部9は、ベジエ曲線の当てはめ処理を終了すべきか否かを判定する(ステップS103)。ここでは、例えば、ステップS102において抽出された閉曲線候補のうちで、ステップS105〜ステップS115の処理が未処理である閉曲線候補のすべてが、閉曲線を形成できないときは、ベジエ曲線の当てはめ処理全体が終了したとみなし、閉曲線を形成できる閉曲線候補が存在するときは、ベジエ曲線の当てはめ処理全体が終了していないと判定する。
【0068】
フィッティング処理部9は、ステップS103において、ベジエ曲線の当てはめ処理全体が終了したと判定されたときは(ステップS103でNo)、抽出した全ての近似ベジエ曲線データを格納し(ステップS104)、全体処理を終了する。ステップS103において、ベジエ曲線の当てはめ処理全体が終了していないと判定されたときは(ステップS103でYes)、ステップS102、S103において形成した閉曲線を辿って、折り返し点(頂点、右端点、最下点、左端点)を、それぞれ始点、終点に選ぶことにより(図3)、閉曲線を分割し、一組のベジエ曲線に当てはめる画像の対象領域を明確化する(ステップS105)。例えば、抽出した閉曲線を右回りに辿って、例えば、折返し点毎に、一組のB3(3次ベジエ)曲線の切れ目(始点、終点)とする。
【0069】
続く処理は、一組のB3曲線を、画像エッジ部の近似曲線として位置合せする処理である。以下、この位置合せの方法を説明する。
【0070】
始点、終点から、画像エッジ境界接線上で、互いに近付く方向に延した位置をZ1、Z2の初期位置として設定する(ステップS106)。Z1、Z2の初期位置として、例えば、Z1=Z2(点A、Eを通るエッジ接線の交点)、または、点A、Eとこの交点とのそれぞれ中点をZ1、Z2とする方法などがある。
【0071】
これら一組のベジエ曲線の当てはめの一連の処理において、ベジエ曲線弓形判定部10は、位置を調整するための判定を行う(ステップS107)。媒介変数t=1/3またはt=2/3で計算される評価点の位置が塗潰し領域内に存在するときは(ステップS107でYes)、制御点Z1(またはZ2)を、直線AZ1(またはEZ2)のZ1側(またはZ2側)の延長線上にスライドして、B3の位置が、画像塗潰し部の境界から遠ざかるようにしてから(ステップS108)、制御点をスライドさせた後の曲線が、弓形であるか否かを判定する(ステップS110)。すなわち、前述した、近似ベジエ曲線が変曲点を持たないための十分条件が成立しているかを確認する。
【0072】
媒介変数t=1/3またはt=2/3で計算される評価点の位置が塗潰し領域外に存在すれば(ステップS107でNo)、制御点Z1(またはZ2)を、直線AZ1(またはEZ2)のA側(またはE側)の延長線上にスライドして、B3の位置が、画像塗潰し部の境界に近付けるようにし(ステップS109)、制御点をスライドさせた後の曲線が弓形であるかを判定する(ステップS110)。
【0073】
ステップS110において、十分条件が成立しているならば(ステップS110でYes)、制御点位置の決定処理を終了し、一組の閉曲線に沿って分割処理したベジエ曲線の当てはめ処理が、終了したかを判定する(ステップS112)。近似ベジエ曲線が変曲点を持たないための十分条件が成立していない場合(ステップS110でNo)は、スライド処理の戻し処理を行って、近似ベジエ曲線が変曲点を持たないための十分条件が成立する状態に戻してから(ステップS111)、制御点位置の決定処理を終了し、一組の閉曲線に沿って分割処理したベジエ曲線の当てはめ処理が、終了したかを判定する(ステップS112)。
【0074】
ステップS112では、一組の閉曲線に沿って分割処理したベジエ曲線の当てはめ処理が、終了したかを判定しているが、閉曲線上を辿って開始点に戻っていれば、一組の閉曲線の対象処理が終了したと判定し、戻っていなければ、一組の閉曲線の対象処理が終了していないと判定する。一組の閉曲線の対象処理が終了していないときは(ステップS112でNo)、新たに始点、終点に選ぶことにより閉曲線を分割し、一組のベジエ曲線に当てはめる画像の対象領域を明確化し(ステップS105)、ステップS106以下の処理を行う。一組の閉曲線の対象処理が終了しているときは(S112でYes)、次の閉曲線を捜索するために、処理済みの情報を退避格納し、ベジエ曲線の当てはめ処理を終了する否かを判定し(ステップS103)、ステップS103以下の処理を行う。
【0075】
上記した処理動作は、入力画像を2値化、エッジ抽出、セグメント分割した画像に対して実施するが、ベジエ曲線近似が十分な精度でなかった場合には、再度、セグメントを分割してベジエ曲線近似を実施することもある。
【0076】
図3は、画像または図形データのエッジ部の輪郭線に沿って、折り返し点(頂点、右端点、最下点、左端点)を、それぞれ始点、終点に選択する例を示す。例えば、図3において輪郭線を右回りに辿る場合は、
(a)始点を頂点のA点とし、終点を右端点のE点とする。
次に、(a)に繋がる次のベジエ曲線は、
(b)右端点を始点として、最下点を終点とする。
同様に、(b)に繋がる次のベジエ曲線は、
(c)最下点を始点として、左端点を終点とする。
(c)に繋がる次のベジエ曲線は、
(d)左端点を始点として、頂点を終点とする。
【0077】
なお、セグメントの分割方法は周知であるのでその説明を省略する。また、セグメント分割された元の画像または図形の隣り合うセグメント接続の位置において、元の画像または図形のエッジ部が滑らかに曲線変化(曲線の傾きの値が連続に変化)する場合には、元の画像または図形エッジ線を近似代用する3次ベジエ曲線の隣り合う組をB3(m)、B3(m+1)で表現すると、B3(m)の制御点Z2と終点、B3(m+1)の始点と制御点Z1の4点は、同一直線上に存在させ、かつB3(m)の終点をB3(m+1)の始点にすることにより、滑らかな曲線を表現できる。
【0078】
以上説明したように、本発明によれば、弓形形状を保持できる条件を明確にするとともに、効率良い重ね合せ方法を、当てはめる画像エッジ部に適用することにより、近似曲線を高速に生成できる。
【0079】
なお、CRT画面表示装置、キーボード装置、画面指示装置は、ユーザ・インタフェース機能を実現し、例えば、各種操作指示や機能選択指令、編集データ等を入力し、画像の角度回転やノイズ除去のためにブロック単位に入力し、画像処理後のデータを隠蔽するための暗号化や解読時の秘密キーの入力に用いられる。また、キー操作により変更後の画像を入力イメージ画像データと重ね合わせて表示するなどの表示操作機能もある。また、処理画像データは、例えば磁気ディスク装置に予め保存され、あるいはネットワークを介し、他の端末装置等から受信したものを適用することができ、さらに、光学ディスク装置やデジタルスチルカメラ装置、スキャナ装置から画像データを入力することも可能である。
【0080】
本発明は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(CPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施例の機能を実現することになる。プログラムコードを供給するための記憶媒体としては、例えば、ハードディスク、光ディスク、光磁気ディスク、不揮発性のメモリカード、ROMなどを用いることができる。また、コンピュータが読出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。また、本発明の実施例の機能等を実現するためのプログラムは、ネットワークを介した通信によってサーバから提供されるものでも良い。
【符号の説明】
【0081】
1 CPU
2 ROM
3 RAM
4 時計回路
5 磁気ディスク装置
6 2値画像生成部
7 画像エッジ抽出部
8 セグメント分割部
9 フィッティング処理部
10 ベジエ曲線弓形判定部
11 描画部
12 CRT画面表示装置
13 表示制御部
14 キーボード装置
15 画面指示装置
16 入力制御部
17 ネットワーク伝送制御部
18 ネットワークI/F
19 バス
【先行技術文献】
【特許文献】
【0082】
【特許文献1】特開平10−198811号公報

【特許請求の範囲】
【請求項1】
3次ベジエ曲線を用いて画像の輪郭線を近似する近似曲線を生成する画像処理装置において、前記輪郭線の始点における前記輪郭線の接線上の制御点を第1の制御点とし、前記輪郭線の終点における前記輪郭線の接線上の制御点を第2の制御点としたとき、前記始点、終点、第1、第2の制御点の閉曲線からなる四角形を生成する第1の生成手段と、前記第1、第2の制御点のX座標を所定の座標値に設定し、前記第1、第2の制御点のY座標を移動することにより前記近似曲線を生成する第2の生成手段を備えたことを特徴とする画像処理装置。
【請求項2】
前記第2の生成手段は、前記始点のX座標値をAxとし、前記終点のx座標値をExとしたとき、前記第1の制御点のX座標値を(2Ax+Ex)/3に設定し、前記第2の制御点のX座標値を(Ax+2Ex)/3に設定することを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記始点を前記輪郭線の頂点としたとき、前記終点を前記輪郭線の最右端点とし、前記始点を前記最右端点としたとき、前記終点を前記輪郭線の最下点とし、前記始点を前記最下点としたとき、前記終点を前記輪郭線の最左端点とし、前記始点を前記最左端点としたとき、前記終点を前記頂点とすることを特徴とする請求項1または2記載の画像処理装置。
【請求項4】
3次ベジエ曲線を用いて画像の輪郭線を近似する近似曲線を生成する画像処理方法において、前記輪郭線の始点における前記輪郭線の接線上の制御点を第1の制御点とし、前記輪郭線の終点における前記輪郭線の接線上の制御点を第2の制御点としたとき、前記始点、終点、第1、第2の制御点の閉曲線からなる四角形を生成する第1の生成工程と、前記第1、第2の制御点のX座標を所定の座標値に設定し、前記第1、第2の制御点のY座標を移動することにより前記近似曲線を生成する第2の生成工程を備えたことを特徴とする画像処理方法。
【請求項5】
請求項4記載の画像処理方法をコンピュータに実現させるためのプログラム。
【請求項6】
請求項4記載の画像処理方法をコンピュータに実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−168720(P2012−168720A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願番号】特願2011−29039(P2011−29039)
【出願日】平成23年2月14日(2011.2.14)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】