(57)【特許請求の範囲】
【請求項１】
表示画面上に表示された画像上の指定された２点間における輪郭線を抽出する輪郭線抽出装置であって、
抽出すべき輪郭線の両端点としての第１の点及び第２の点の座標を、カーソルで指示して入力するための座標入力手段と、
該座標入力手段により前記第１の点の座標が入力されると、その後、前記第２の点の座標が入力されるまでの間、その第１の点及び前記カーソルで指示される指示点におけるエッジの方向を算出すると共に、その第１の点とその指示点とを結ぶ参考線を、その第１の点及びその指示点においてそのエッジの方向に延びるように作成する参考線作成手段と、
前記作成された参考線を、前記カーソルの位置の変化に応じて更新しながら、前記画像上に表示する参考線表示手段と、
前記画像において、画素情報が当該画像平面上で変化する場合のその変化の程度であるエッジ強度を特徴量として求める特徴量算出手段と、
前記座標入力手段により前記指示点の座標が前記第２の点の座標として入力されると、前記第１の点と該座標が入力された指示点とを結ぶ参考線と、前記特徴量算出手段により求められた特徴量とに基づいて、該第１及び第２の点の間の輪郭線を抽出する輪郭線抽出手段と、
を備えたことを特徴とする輪郭線抽出装置。
【請求項２】
前記特徴量算出手段は、前記画像を構成する画素情報に基づき特徴量を計算し、該特徴量が所定値以上の場合には、前記特徴量を一定値又は略一定値に変換し、前記特徴量が前記所定値未満の場合には、前記特徴量の増加に伴い単調増加するように前記特徴量を前記一定値又は略一定値以下に変換して算出することを特徴とする請求項１記載の輪郭線抽出装置。
【請求項３】
表示画面に表示された画像上の指定された２点の間における輪郭線を抽出するために、コンピュータを、
抽出すべき輪郭線の両端点としての第１の点及び第２の点の座標を、カーソルで指示して入力するための座標入力手段、
該座標入力手段により前記第１の点の座標が入力されると、その後、前記第２の点の座標が入力されるまでの間、その第１の点及び前記カーソルで指示される指示点におけるエッジの方向を算出すると共に、その第１の点とその指示点とを結ぶ参考線を、その第１の点及びその指示点においてそのエッジの方向に延びるように作成する参考線作成手段、
前記作成された参考線を、前記カーソルの位置の変化に応じて更新しながら、前記画像上に表示する参考線表示手段、
前記画像において、画素情報が当該画像平面上で変化する場合のその変化の程度であるエッジ強度を特徴量として求める特徴量算出手段、
前記座標入力手段により前記指示点の座標が前記第２の点の座標として入力されると、前記第１の点と該座標が入力された指示点とを結ぶ参考線と前記特徴量算出手段により求められた特徴量に基づいて、第１及び第２の点の間の輪郭線を抽出する輪郭線抽出手段、
として機能させるための輪郭線抽出プログラム。
【請求項４】
前記特徴量算出手段は、前記画像を構成する画素情報に基づき特徴量を計算し、該特徴量が所定値以上の場合には、前記特徴量を一定値又は略一定値に変換し、前記特徴量が前記所定値未満の場合には、前記特徴量の増加に伴い単調増加するように前記特徴量を前記一定値又は略一定値以下に変換して算出することを特徴とする請求項３記載の輪郭線抽出プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、表示画面に表示された画像上において指定された２点間の輪郭線を抽出する輪郭線抽出装置および輪郭線抽出プログラムに関する。
【０００２】
【従来の技術】
従来、デジタル画像上の２点をユーザが指定し、その２点間を繋ぐ輪郭線を抽出する技術として、（１）予め限定した領域の中でエッジの強い画素を繋いで行く方法（例えば、特開昭６３−５５１０１号公報参照）、（２）エッジの強さと輪郭線の滑らかさを考慮した動的輪郭モデルを用いる方法などがある("Snakes: Active Contour Models", IJCV,1(4): 321-331, 1988)。
【０００３】
従来技術（２）の手法は、輪郭線モデルの初期状態を決定し（これを「初期輪郭線」という。）、輪郭線モデルの滑らかさとして定義される内部エネルギーと、原画像（デジタル画像）の輪郭線部分におけるエッジの強さとして定義される外部エネルギーとの和を最小化するように輪郭線モデルを動かしていき、原画像の輪郭線を抽出するものである。
【０００４】
以下、（２）の手法について詳しく説明する。
まず輪郭線モデルを、式１の様に、
【０００５】
【数１】
0003972623.tif 000002
【０００６】
とする。ｓは、始点から終点へ向かう線の、長さのパラメータであり、ｔは時間のパラメータである。これに対し、ｎ個の頂点を想定し、式２に示す様に、その頂点で輪郭線モデルを表す（サンプリング）。
【０００７】
【数２】
0003972623.tif 000003
【０００８】
ただし、ユーザが指定する２点を必ず始点および終点とするので、始点Ｖ0、終点Ｖn-1は、変数でなく、定数である。
この輪郭線モデルの内部エネルギーＥ内を、次の式３の様に定義する。
【０００９】
【数３】
0003972623.tif 000004
【００１０】
ここで、αに関する項は、輪郭線モデルの各頂点におけるｓの１次微分の大きさを足し合わせたものであり、βに関する項は、輪郭線モデルの各頂点におけるｓの２次微分の大きさを足し合わせたものである。各頂点でｓの１次微分、２次微分の大きさが少ない方が輪郭線モデルは滑らかである。つまり、輪郭線モデルが滑らかであるほど、この内部エネルギーは低くなる。
【００１１】
次に、輪郭線モデルの外部エネルギーＥ外を、式４の様に定義する。
【００１２】
【数４】
0003972623.tif 000005
【００１３】
ここで、ｗは定数である。また、Ｐはエッジ強度（「エッジの強さ」ともいう）を表す関数であり、式５の様に、画像濃度Ｉの１次微分の大きさを２乗したものなどが用いられる。
【００１４】
【数５】
0003972623.tif 000006
【００１５】
エッジが強い（エッジ強度が大きい）ほどポテンシャルは低いので、この外部エネルギーによって、輪郭線モデルは、原画像のエッジの強い部分に引き寄せられる。
この手法では、内部エネルギーと外部エネルギーとの和、即ち式６に示す全体のエネルギーＥ全が極小値を採るように輪郭線モデルを動かして、輪郭線の抽出を行う。
【００１６】
【数６】
0003972623.tif 000007
【００１７】
全体のエネルギーＥ全を極小とするように輪郭線を決定するには、式７を解けばよい。
【００１８】
【数７】
0003972623.tif 000008
【００１９】
これを解く手法としては、変分法がある。変分法によれば、次の式８を解くことによって、式７を解くことができる。
【００２０】
【数８】
0003972623.tif 000009
【００２１】
ここで、ηは粘性係数（収束速度パラメータ）と呼ばれるものである。
Ｖiは各頂点を表すものであるので、各頂点（始点、終点を除く）の座標（ｘi，ｙi）を用いて式８を表すと、式９の様になる。
【００２２】
【数９】
0003972623.tif 000010
【００２３】
つまり、式８は、２（ｎ−２）個からなる連立方程式で表され、この式９を、時間で離散化し、まとめると、式１０の様な漸化式が導かれる。
【００２４】
【数１０】
0003972623.tif 000011
【００２５】
この漸化式を用いた計算を結果が収束するまで繰り返すことによって、輪郭線を求める（抽出する）ことができる。
【００２６】
【発明が解決しようとする課題】
従来技術（１）は、予め限定された領域の中でエッジの強い部分を連結して輪郭線を抽出するものであるため、また従来技術（２）においては、式４及び式５で算出された外部エネルギーにより、輪郭モデルがよりエッジの強い所に引きつけられるので、近い距離に２つの輪郭線Ａ，Ｂがあると、輪郭線Ｂを抽出したい場合であっても、図９に示す様に抽出結果（太線）がＡとＢとの間で揺らいだものとなり、忠実な抽出できないことがある。この様に抽出結果が輪郭線ＡとＢとの間で揺らいだものとなるのは、部分的に、輪郭線Ａよりも輪郭線Ｂの方が大きなエッジ強度を持ち、しかもその差が大きい場合があるためと考えられる。
【００２７】
また従来技術（２）においては、初期輪郭線が両輪郭線Ａ及びＢを跨いだ形で配置されると、やはり、抽出結果がＡとＢとの間で揺らいだものとなってしまう。この様に抽出結果が揺らいでしまった場合、ユーザは、画像に忠実な抽出結果が得られる２点を、何回も試行錯誤しながら探す必要があった。
【００２８】
本発明は、こうしたことを背景としてなされたものであり、画像中の指定された２点間における輪郭線を忠実に抽出し易くすることを目的とする。
【００２９】
【課題を解決するための手段及び発明の効果】
上記課題を解決するためになされた請求項１記載の輪郭線抽出装置においては、抽出すべき輪郭線の両端点としての第１の点及び第２の点の座標を、カーソルで指示して入力するための座標入力手段が備えられており、この座標入力手段により第１の点の座標が入力されると、その後、第２の点の座標が入力されるまでの間、参考線作成手段が、第１の点及びカーソルで指示される指示点におけるエッジの方向を算出すると共に、第１の点とカーソルで指示される指示点とを結ぶ参考線を、その第１の点及びその指示点においてそのエッジの方向に延びるように作成し、参考線表示手段が、その作成された参考線を、カーソルの位置の変化に応じて更新しながら、画像上に表示する。また、特徴量算出手段が、画像において、画素情報が当該画像平面上で変化する場合のその変化の程度であるエッジ強度を特徴量として求めるように構成されており、座標入力手段によりカーソルの指示点の座標が第２の点の座標として入力されると、輪郭線抽出手段が、第１の点とその指示点（即ち第２の点）とを結ぶ参考線と、上記求められた特徴量とに基づいて、第１の点と第２の点との間の輪郭線を抽出する。
【００３０】
ここで特徴量とは、いわゆるエッジ強度やエッジ強度にスムージングを施したものなど、画素情報が画像平面上で変化する場合のその変化の程度を示す量であり、変化の程度が大きいほど、その値が大きくなる。また、エッジの方向とは、画素濃度の勾配の方向とは垂直の方向をいう。
【００３１】
請求項１の輪郭線抽出装置においては、１点目（第１の点）が指定された後２点目が指定される前に、第１の点とカーソルとの間を結ぶ参考線（輪郭線を抽出するときに参考にする参考線）を作成し、これをカーソルの動きに追従するように表示する。より具体的に、参考線作成手段が、第１の点及びカーソルの指示点におけるエッジの方向を算出し、第１の点及び指示点においてエッジの方向に延びるように参考線を作成する。
【００３２】
このように、参考線は、第１の点及び指示点においてエッジの方向に延びるように作成されることから、抽出すべき輪郭線と近いものとなりやすい。参考線に基づいて輪郭線を抽出するための計算量は、参考線と抽出すべき輪郭線とが近くなると少なくなるため、請求項１の輪郭線抽出装置によれば、輪郭線抽出用の計算量を抑制し易いという効果を奏する。
【００３３】
また、輪郭線を抽出する際の基礎となる参考線を、カーソルの動きに合わせて更新しつつ表示することから、抽出結果をユーザがある程度予想することができるので、原画像中の２点間における輪郭線を忠実に抽出し易くなる。
【００３４】
参考線に基づいて輪郭線を抽出する態様は様々考えられるが、特に、参考線を初期輪郭線として用いる態様の場合は、ユーザは、参考線（即ち初期輪郭線）が複数の輪郭線をまたがないように第２の点を指定することが容易となる。そのため、輪郭線を正確に抽出するためにどの点を第２の点として指定すればよいかが分かり易くなり、何回も試行錯誤しながら探す手間が少なくなる。
【００３５】
なお、特開２０００−２０７３４号公報には、１点目の指定後２点目が指定される前に、１点目と現在のマウスカーソルとの間にできる輪郭線候補を表示する技術が記されているが、マウスが動かされるたびに輪郭線を求めなければならないため、計算量の多いアルゴリズムや処理速度の遅い計算機を用いる場合には、表示に遅れが生じるなど、使い勝手が悪くなる可能性がある。
【００３６】
一方、請求項１の輪郭線抽出装置では、１点目の指定後２点目が指定される前においては、輪郭線の抽出を行うのではなく、抽出の基礎となる参考線を求めて表示するだけであるので、計算量の多いアルゴリズムや処理速度の遅い計算機を用いる場合であっても、そうした問題は生じにくい。
【００３７】
次に請求項２の輪郭線抽出装置においては、特徴量算出手段は、画像を構成する画素情報に基づき特徴量を計算し、この計算した特徴量の値が所定値以上の場合には、その特徴量の値を一定値又は略一定値に変換し、特徴量の値がその所定値未満の場合には、特徴量の増加に伴い単調増加するように、特徴量の値をその一定値又は略一定値以下に変換して算出する。そして、輪郭線抽出手段が、参考線及び上記変換後の特徴量に基づいて、輪郭線を抽出する。
【００３８】
ここで、略一定値とは、複数の輪郭線の間で抽出結果が揺れない程度の差しかない範囲の値、つまり実質的に一定と見なせる範囲の値である。
請求項２の輪郭線抽出装置においては、特徴量の値が所定値以上の場合には、特徴量の値を一定値又は略一定値に変換することから、所定値以上の特徴量を全体的に持つ複数の輪郭線（仮にＡ，Ｂの２つとする）がある場合に、輪郭線Ａ、Ｂ上における特徴量の差を０又は小さくすることが可能となる。そのため、輪郭線Ａおよび輪郭線Ｂの上で特徴量の値を一定又は略一定として取り扱って輪郭線の抽出を行うことができるため、図９の様に、抽出結果が揺れる可能性が低くなり、その結果、輪郭線を正確に抽出し易くなる。
【００３９】
なお、請求項２の輪郭線抽出装置は、特徴量が上記所定値未満の場合には、特徴量の増加に伴い単調増加するように、特徴量の値をその一定値又は略一定値以下の値に変換するものであって、単なる２値化の様に特徴量を０に変換するものではない。そのため、特徴量の小さい部分においての輪郭線抽出が不可能となることはない。このような請求項２の輪郭線抽出装置によれば、忠実に輪郭線を抽出することが、更に容易となる。
【００４０】
次に、請求項３の輪郭線抽出プログラムによれば、コンピュータを、請求項１の輪郭線抽出装置と同様に機能させることができ、この装置と同様の効果を得ることができる。
【００４１】
また、請求項４の輪郭線抽出プログラムによれば、コンピュータを、請求項２の輪郭線抽出装置と同様に機能させることができ、この装置と同様の効果を得ることができる。
【００４２】
【発明の実施の形態】
以下に、本発明の一実施例を図面と共に説明する。
図１は、パーソナルコンピュータにより構成された一実施例としての輪郭線抽出装置２の構成を示す図である。この輪郭線抽出装置２は、キーボード１０、マウス２０、フレキシブルディスクドライブ（ＦＤＤ）３０、ディスプレイ４０、デジタルカメラ５０、ハードディスクドライブ（ＨＤＤ）６０、イメージスキャナ７０、及び、これら各種機器１０〜７０が接続される入出力インターフェース８０を備えたコンピュータ部１００などから構成されている。
【００４３】
コンピュータ部１００は、入出力インターフェース８０の他、ＣＰＵ１１０、ＲＯＭ１２０、ＲＡＭ１３０などを備え、これらは、バス９０を介して互いに接続されている。ＨＤＤ１６には、取り込んだ画像をディスプレイ４０に表示させ、マウス２０の操作により指定された２点間における輪郭線を抽出するための輪郭線抽出プログラムが格納されており、ＣＰＵ１１０は、このプログラムに従って処理を行う。
【００４４】
以下、ＣＰＵ１１０が実行する処理について説明する。
図２は、輪郭線抽出プログラムに従って行われる輪郭線抽出処理を示すフローチャートである。この輪郭線抽出処理では、まずデジタルカメラ５０、イメージスキャナ７０などから静止画像ＩＭＧを取り込み、これをＲＧＢ情報として、ＲＡＭ１３０に格納する（Ｓ１０）。また、Ｓ１０では、既に存在するデジタル画像をＨＤＤ６０、ＦＤＤ３０から取り込んだり、ネットワークで他のコンピュータと繋がっている場合には他のコンピュータから取り込んだりすることも行われる。この様にしてコンピュータ部１００に入力された画像ＩＭＧは、ディスプレイ４０に表示される（Ｓ２０）。
【００４５】
画像ＩＭＧがディスプレイ４０の表示画面に表示されると、ディスプレイ４０の画面上に、マウス２０の移動に応じて画面上を移動するカーソルＭＣを表示し、その状態で、抽出すべき輪郭線の両端点のうち、１点目Ｐ１（第１の点）の座標が入力されるのを待つ（Ｓ３０）。座標の入力は、その点をカーソルＭＣで指示し、マウス２０のボタンを操作（本実施例では、クリック操作）することによって行われる。
【００４６】
第１の点Ｐ１の座標が入力されると、この第１の点Ｐ１とカーソルＭＣで指示される点（指示点）との間を結ぶ参考線を決定する（Ｓ４０）。本実施例における参考線は、動的輪郭モデルの初期輪郭を決定するための線である。
参考線は、図３に示す処理により決定される。
【００４７】
まず、第１の点Ｐ１及びカーソルＭＣの指示点について、当該点における画素情報であるＲＧＢ値に基づき画像濃度Ｉ（ｘ，ｙ）を求め、更に、その一次微分を求めることにより、エッジの方向θ（ｘ，ｙ）を検出する（Ｓ１００）。ここで、エッジの方向θ（ｘ，ｙ）は、画像濃度Ｉ（ｘ，ｙ）の勾配の方向と垂直な方向（換言すれば、輪郭線の接線の方向）である。
【００４８】
画像濃度Ｉ（ｘ，ｙ）の決め方は様々考えられるが、本実施例においては式１１で求められる。
【００４９】
【数１１】
0003972623.tif 000012
【００５０】
また、画像濃度Ｉ（ｘ，ｙ）のｘ方向の変化は、式１２の様にして求められ、
【００５１】
【数１２】
0003972623.tif 000013
【００５２】
一方、画像濃度Ｉ（ｘ，ｙ）のｙ方向の変化は、式１３の様にして求められる。
【００５３】
【数１３】
0003972623.tif 000014
【００５４】
なお、この他、Sobel、Prewitt、Robinsonなどの一次微分フィルタを用いても良い。
次に、画像濃度Ｉ（ｘ，ｙ）の勾配方向を式１４で求める。
【００５５】
【数１４】
0003972623.tif 000015
【００５６】
エッジの方向θ（ｘ，ｙ）は、画像濃度Ｉ（ｘ，ｙ）の勾配方向と垂直であるので、式１５により求めることができる。
【００５７】
【数１５】
0003972623.tif 000016
【００５８】
こうして求めた、第１の点Ｐ１およびカーソルＭＣが指す指示点の各点におけるエッジの方向に基づき、第１の点Ｐ１および指示点を両端点とする３次ベジェ曲線を作成し、これを参考線として決める（Ｓ１１０）。
３次ベジェ曲線は４つの制御点で決まる曲線であり、その両端点は、制御点に一致する。両端の制御点の位置を、ベクトルＢ１、ベクトルＢ４（以下、Ｂ１,Ｂ４と略記する）で表し、これを除く他の制御点の位置を、ベクトルＢ２、ベクトルＢ３（以下、Ｂ２，Ｂ３と略記する）で表すものとすると、本実施例においては、両端の制御点の位置と、その位置におけるエッジの方向とに基づいて、次の様にＢ２，Ｂ３が決められる。
【００５９】
まず、Ｂ２については、”Ｂ２−Ｂ１”が，Ｂ１の点におけるエッジの方向を向き、大きさが|Ｂ１−Ｂ４|のＡ分の１となるように定められ、Ｂ３については、”Ｂ３−Ｂ４”が，Ｂ４の点におけるエッジの方向を向き、大きさが｜Ｂ１−Ｂ４｜のＡ分の１となるように定められる。なお、エッジの方向は、画像濃度Ｉ（ｘ，ｙ）の勾配方向と垂直であるので、Ｂ２，Ｂ３を決定する場合には、候補が２つずつ存在する。そこで、本実施例では、両端点を結ぶ線分に近い方を採用する。また、上記の値Ａ（例えば、Ａ＝４）としては、予めＲＯＭ１２０に格納しておいたものを用いても良いし、輪郭線抽出装置２のユーザが指定したものを用いる様にしても良い。
【００６０】
図２に戻り、説明を続ける。
上記の様に参考線が決定されると、図４に示す様に、その参考線ＲＬをディスプレイ４０に表示された画像ＩＭＧの上に表示する（Ｓ５０）。ここで、以前に表示した参考線がある場合には、その表示を消し、今回決定した参考線を表示する。
【００６１】
次に、ＣＰＵ１１０は、マウス２０のボタンがクリックされて指示点の座標が入力されたかどうか、即ち、抽出すべき輪郭線の両端点のうちの２点目Ｐ２（第２の点）の座標が入力されたかどうかを判断する（Ｓ６０）。
クリックが検出されない場合は（Ｓ６０：ＮＯ）、カーソルＭＣの位置を検出して、マウス２０が移動したかどうかを判断する（Ｓ７０）。
【００６２】
マウス２０の移動が検出されない場合には（Ｓ７０：ＮＯ）、Ｓ６０に戻り、再びマウスのボタンがクリックされたかどうかを判断するが、マウス２０の移動が検出された場合には（Ｓ７０：ＹＥＳ）、Ｓ４０の処理に戻り、第１の点Ｐ１と新たな指示点との間を結ぶ参考線の算出を再び行う。そして、新たに決定された参考線が、Ｓ５０の処理により、ディスプレイ４０上に表示される。つまり、カーソルＭＣの位置の変化に応じて更新しながら参考線を表示することになる。
【００６３】
一方、クリックが検出された場合は（Ｓ６０：ＹＥＳ）、第１の点Ｐ１と第２の点Ｐ２の間を結ぶ輪郭線を後述の様にして抽出する（Ｓ８０）。
そして、輪郭線を抽出すると、その抽出された輪郭線ＯＬを、図８に示す様に、ディスプレイ４０の表示画面上に表示する（Ｓ９０）。
【００６４】
輪郭線は、図５に示す処理によって抽出される。まず、画像を構成する各画素について、画像の特徴量を求める（Ｓ１２０）。この処理を、更に図６のフローチャートを用いて詳しく説明する。
まず、変数Ｘ及び変数Ｙに０を設定し、変数Ｗには画像のｘ方向の画素数を設定すると共に、変数Ｈには画像のｙ方向の画素数を設定する（Ｓ１４０）。ここで、（Ｘ,Ｙ）は画像上の座標を示すものである。
【００６５】
次に（Ｘ,Ｙ）で指定される画素のＲ，Ｇ，Ｂ情報について、図７に示す１次微分フィルタにより、ｘ方向およびｙ方向の１次微分を求める。そして、式１６によりエッジ強度を求めて、その結果を特徴量Ｐ(Ｘ,Ｙ)に代入する（Ｓ１５０）。
【００６６】
【数１６】
0003972623.tif 000017
【００６７】
なお、特徴量Ｐ(Ｘ,Ｙ)を求めるにあたり、式１６では、Ｒ，Ｇ，Ｂの一次微分の大きさを２乗したものについて単純な平均をとったが、ＲＧＢの明るさを考慮し、Ｒ，Ｇ，Ｂの一次微分の大きさを２乗したものに対して９：３６：１と重みをかけて、これを平均しても良いし、また別の平均方法を用いてもよい。また、ＲＧＢより画像濃度Ｉ(ｘ，ｙ)を、式１１と同様に求め、式１７により、特徴量Ｐ(Ｘ,Ｙ)を求めても良い。
【００６８】
【数１７】
0003972623.tif 000018
【００６９】
また、求めた特徴量Ｐ(Ｘ,Ｙ)に対して更にスムージングなどの処理を行って、これを特徴量Ｐ(Ｘ,Ｙ)としてもよい。
Ｓ１５０において特徴量Ｐ(Ｘ,Ｙ)を求めると、次に、この特徴量Ｐ(Ｘ,Ｙ)の値を、所定の変換関数を用いて変換する（Ｓ１６０）。この変換関数は、例えば式１８に示す様に、特徴量Ｐ(Ｘ,Ｙ)が予め定められた所定値Ｔｈ１以上の場合には、特徴量Ｐ(Ｘ,Ｙ)を一定値Ｔｈ２に変換し、特徴量Ｐ(Ｘ,Ｙ)が所定値Ｔｈ１未満の場合には、特徴量Ｐ(Ｘ,Ｙ)の増加に伴い単調増加するように、特徴量Ｐ(Ｘ,Ｙ)を一定値Ｔｈ２以下のｐ（Ｘ，Ｙ）に変換するものである。
【００７０】
【数１８】
0003972623.tif 000019
【００７１】
なお、所定値Ｔｈ１は、当該装置２において固定された値であってもよいが、その場合は当該装置２の効果を発揮できる画像の種類が限られるため、画像毎に外部から設定可能にしておくとよい。また、ｐ（Ｘ，Ｙ）は、所定値Ｔｈ１未満のＰ（Ｘ，Ｙ）に対して常に０となる、というものではない。
【００７２】
上記の様に、特徴量Ｐ（Ｘ，Ｙ）の値を変換すると、次に、「Ｘ＝Ｗ−１」であるかどうかを判断し（Ｓ１７０）、「Ｘ＝Ｗ−１」でない場合（Ｓ１７０：ＮＯ）は、変数Ｘに１を加え（Ｓ１８０）、Ｓ１５０に戻る。一方、「Ｘ＝Ｗ−１」である場合（Ｓ１７０：ＹＥＳ）は、変数Ｘに０を設定すると共に、変数Ｙに１を加える（Ｓ１９０）。そして、「Ｙ＝Ｈ」かどうかを判断し（Ｓ２００）、「Ｙ＝Ｈ」でない場合には（Ｓ２００：ＮＯ）、Ｓ１５０に戻り、一方、「Ｙ＝Ｈ」である場合には（Ｓ２００：ＹＥＳ）、Ｓ１２０の処理を終了する。つまり、Ｓ１７０〜Ｓ２００の処理により、画像を構成する各画素について、（０，０）から順に特徴量を計算し、変換することになる。
【００７３】
図５に戻り、説明を続ける。Ｓ１２０において特徴量Ｐ（Ｘ、Ｙ）が求まると、式１〜式１０を用いて上述した様に、動的輪郭モデルによる輪郭線の決定を行う（Ｓ１３０）。
ここで、初期輪郭線としては、第２の点Ｐ２が選択された際（Ｓ７０：ＹＥＳ）の参考線を用いる。また、輪郭線モデルの各頂点間の長さ（単位長さ）は、ｆ画素とする。そして、式１０の連立方程式を解くにはガウスの消去法を用い、その場合の収束条件は、式１９の様に定める。
【００７４】
【数１９】
0003972623.tif 000020
【００７５】
なお、本実施例においては、α＝１０００，β＝１０００００，η＝３０００，ｆ＝２，ｗ＝４としている。ただし、この数値に限られるものではない。
以上の様に、本実施例の輪郭線抽出装置２においては、特徴量Ｐ（Ｘ，Ｙ）が所定値Ｔｈ１以上の場合には、その特徴量Ｐ（Ｘ，Ｙ）の値を一定値Ｔｈ２に変換することから、複数の輪郭線がある場合に、所定値Ｔｈ１を適切な値に設定しておくことで、それら複数の輪郭線の上における特徴量Ｐ（Ｘ，Ｙ）を同じ値にすることができる。そのため、図９の様に抽出結果が複数の輪郭線の間で揺れる可能性を低くすることができ、輪郭線を正確に抽出し易くなる。
【００７６】
また、変換後の値ｐ（Ｘ，Ｙ）は、所定値Ｔｈ１以下の全ての特徴量Ｐ（Ｘ，Ｙ）に対して０となるものではないため、特徴量の小さい部分においての輪郭線抽出も可能である。
また、本実施例の輪郭線抽出装置２では、第１の点Ｐ１が指定された後、第２の点Ｐ２が指定される前において、現時点のカーソルＭＣの位置を検出して、第１の点Ｐ１とカーソルＭＣとの間を結ぶ参考線ＲＬを作成し、これをカーソルＭＣの動きに追従するように表示する。この様に、参考線ＲＬを、カーソルＭＣの動きに合わせて更新しつつ表示することから、抽出結果をユーザがある程度予想することができるので、原画像中の２点間における輪郭線を忠実に抽出することが更に容易となる。
【００７７】
また、本実施例において、参考線ＲＬは初期輪郭線として用いられるものであるが、ユーザは、参考線ＲＬが複数の輪郭線をまたがないように第２の点Ｐ２を指定することが容易となる。そのため、輪郭線を正確に抽出するためにどの点を第２の点Ｐ２として指定すればよいかが分かり易くなり、何回も試行錯誤しながら探す手間が少なくなる。
【００７８】
また、第１の点Ｐ１の指定後、第２の点Ｐ２が指定される前においては、参考線ＲＬを求めて表示するだけであるので、処理負荷が大きくなることはない。
また、参考線ＲＬは、第１の点Ｐ１及びカーソルＭＣが指示する点においてエッジの方向に延びるように作成され、抽出すべき輪郭線と近くなりやすい。そのため、輪郭線を抽出するための計算量を抑制し易い。
【００７９】
以上、本発明の一実施例について説明したが、本発明は上記実施例に限定されるものではなく、種々の態様をとることができる。
例えば、上記実施例では、参考線を初期輪郭線として用いるものとして説明したが、これに限られるものではない。
【００８０】
また、上記実施例では、３次ベジェ曲線を用いて参考線を決定するものとして説明したが、これに限られるものではなく、ｎ次ベジェ曲線を用いることができる。また、第１の点Ｐ１およびカーソルＭＣが指す指示点の各点におけるエッジの方向を反映することのできる曲線なら、どのようなものでも用いることができる。
【００８１】
また、上記実施例においては、式７を解くために変分法を用いるものとして説明したが、これに限られるものではなく、動的計画法を用いても良い。
また、上記実施例では、式１８で表される変換関数を用いて特徴量を変換するものとして説明したが、これに限られるものではない。この形以外の関数（仮に、ｙ＝ｆ（ｘ）とする）であっても、例えば、ｌｏｇ関数、タンジェントの逆関数など、変換前の値ｘが大きくなるほど、その一次微分dｙ/dｘの大きさが小さくなるような関数を、変換用の関数として用いることができる。そうした関数では、変換前の値が所定値以上の場合には、変換後の値の変化が所定の範囲内（即ち、複数の輪郭線の間で抽出結果が揺れない程度の範囲）に収まって略一定となる。従って、ｌｏｇ関数、タンジェントの逆関数などの関数を用いた場合には、所定値以上の特徴量を全体的に持つ複数の輪郭線Ａ，Ｂがある場合に、その輪郭線Ａ、Ｂ上における特徴量の差を小さくして輪郭線の抽出を行うことができるので、図９の様に、抽出結果が複数の輪郭線の間で揺れる可能性を低くすることができる。
【図面の簡単な説明】
【図１】  実施例の輪郭線抽出装置の構成を示す図である。
【図２】  ＣＰＵが行う輪郭線抽出処理を示すフローチャートである。
【図３】  カーソルの位置に応じて参考線を決定する処理を示すフローチャートである。
【図４】  決定された参考線が画像上に表示された様子を示す図である。
【図５】  輪郭線を決定する処理を示すフローチャートである。
【図６】  画像の特徴量を求める処理を示すフローチャートである。
【図７】  特徴量の計算をする際に用いる１次微分フィルタを示す図である。
【図８】  抽出された輪郭線が画像上に表示された様子を示す図である。
【図９】  ２つの輪郭線の間で抽出結果が揺れている様子を示す図である。
【符号の説明】
２…輪郭線抽出装置  ２０…マウス
４０…ディスプレイ  ５０…デジタルカメラ
７０…イメージスキャナ  １００…コンピュータ部
ＩＭＧ…画像  ＭＣ…カーソル
Ｐ１…第１の点  Ｐ２…第２の点
ＲＬ…参考線
ＯＬ…抽出された輪郭線（抽出結果）
【図１】
0003972623.tif 000021
【図２】
0003972623.tif 000022
【図３】
0003972623.tif 000023
【図４】
0003972623.tif 000024
【図５】
0003972623.tif 000025
【図６】
0003972623.tif 000026
【図７】
0003972623.tif 000027
【図８】
0003972623.tif 000028
【図９】
0003972623.tif 000029