(57)【特許請求の範囲】
【請求項１】
画像を表示する画像表示手段と、
上記画像表示手段が表示する画像中の直線要素上で指定された一の点を直線指定点として設定する点指定手段と、
上記直線指定点が設定された直線要素の輝度値勾配から算出した方向ベクトルで規定され上記直線指定点を通る直線を、該直線要素に対応する直線データとして求める直線生成手段と、
上記直線生成手段が直線要素に対応する直線データを求めるごとに、その直線を処理対象の画像と共に上記画像表示手段に表示させ、該表示画像上で指定された直線の確定用指定点に基づいて、該直線の確定・修正を行う直線修正手段とを備え、
上記直線修正手段は、上記直線指定点を含む修正判定用の画素領域を上記画像表示手段に表示させて、該画素領域内に上記確定用指定点が指定されたか否かを判定し、上記画素領域内に上記確定用指定点が指定された場合、修正せずに上記直線生成手段により生成された直線を確定し、上記画素領域外に上記確定用指定点が指定されると、上記直線生成手段により生成された直線を上記直線指定点と上記確定用指定点を通る直線に修正することを特徴とする直線データ作成装置。
【請求項２】
直線修正手段は、修正判定用の画素領域として直線指定点を中心とする円形の画素領域を画像表示手段に表示させることを特徴とする請求項１記載の直線データ作成装置。
【請求項３】
コンピュータの表示部に表示させた画像中の直線要素上の一の点を直線指定点として指定する点指定ステップと、
上記直線指定点が指定された直線要素の輝度値勾配から算出した方向ベクトルで規定され上記直線指定点を通る直線を、該直線要素に対応する直線データとして求める直線生成ステップと、
上記直線生成ステップで直線要素に対応する直線データを求めるごとに、その直線を処理対象の画像と共に上記表示部に表示させ、該表示画像上で指定された直線の確定用指定点に基づいて、該直線の確定・修正を行う直線修正ステップとを備え、
上記直線修正ステップにおいて、上記直線指定点を含む修正判定用の画素領域を上記表示部に表示させて、該画素領域内に確定用指定点が指定されたか否かを判定し、上記画素領域内に上記確定用指定点が指定された場合、修正せずに上記直線生成ステップで生成された直線を確定し、上記画素領域外に上記確定用指定点が指定されると、上記直線生成ステップで生成された直線を上記直線指定点と上記確定用指定点を通る直線に修正することを特徴とする直線データ作成方法。
【請求項４】
請求項１または請求項２記載の直線データ作成装置としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は写真画像などにおける直線要素に対応する直線データを作成する直線データ作成装置及び方法並びにプログラムに関するものである。
【０００２】
【従来の技術】
写真画像などから３次元立体情報を作成するにあたり、ユーザがコンピュータのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を用いて、該画像に示される物体の形状やその座標情報を対話的に入力する方法が一般的である。
【０００３】
図１３は、例えば特開平９−３１９８９６号公報に開示される３次元画像作成装置による従来の直線データ作成方法を説明する説明図である。図において、１００は３次元画像の作成対象物の輪郭線であって、図示の例では直方体の一辺である。１０１はユーザが輪郭線１００の端点を指定する際に用いる点指標である。この点指標１０１による端点の指定は３次元画像作成装置を構成するコンピュータ装置の入力手段が用いられる。また、入力手段としては、マウスなどのポインティングデバイスがある。１０２は輪郭線１００の両端点１０３，１０４及び消失点１０５を通る直線であって、輪郭線１００を表す直線データの特定に利用される。ここで、消失点とは、３次元画像の作成対象物が存在する３次元空間上では平行な直線が、これを投影した画像面上において１点に収束する点をいう。
【０００４】
次に動作について説明する。
先ず、ユーザが、マウスなどのポインティングデバイスを用いて点指標１０１を輪郭線１００に沿って移動させ、３次元画像作成装置を構成するコンピュータ装置に端点１０３として指定する。次に、点指標１０１を輪郭線１００の他方の端点まで移動し、端点１０４として上記コンピュータ装置に指定する。このとき、指定される情報としては、両端点１０３，１０４の画像面上での位置座標情報などがある。
【０００５】
このあと、該３次元画像作成装置は、ユーザが指定した両端点１０３，１０４に関する情報（位置座標情報など）から、これらを通る直線１０２（直線１０２を特定する関数のパラメータ）を算出する。続いて、同様な操作で他の輪郭線を含む直線を求め、これらが収束する消失点１０５の位置座標情報を算出する。
【０００６】
上述のようにして求めた直線１０２を特定する関数のパラメータなどの情報は、これに対応する輪郭線１００の両端点及び消失点１０５の位置座標情報と共に、輪郭線１００を特定する直線データとして記憶される。
【０００７】
このように、従来の３次元画像作成装置では、２点１０３，１０４で定義することで輪郭線１００を含む直線１０２を求めていた。
【０００８】
【発明が解決しようとする課題】
従来の直線データ作成方法は以上のようになされているので、１つの輪郭線１００に係る直線データを作成するためには、その都度ユーザが煩雑な端点指定操作を行わなければならないという課題があった。特に、直線データを作成すべき輪郭線が多数ある場合など、その作業効率を悪化させる要因となっていた。
【０００９】
この発明は上記のような課題を解決するためになされたもので、画像中の直線要素の輝度値勾配を利用することで、該直線要素上の一の点を指定するだけで対応する直線を求めることができる直線データ作成装置及び方法並びにプログラムを得ることを目的とする。
【００１７】
【課題を解決するための手段】
この発明に係る直線データ作成装置は、画像を表示する画像表示手段と、画像表示手段が表示する画像中の直線要素上で指定された一の点を直線指定点として設定する点指定手段と、直線指定点が設定された直線要素の輝度値勾配から算出した方向ベクトルで規定され直線指定点を通る直線を、該直線要素に対応する直線データとして求める直線生成手段と、直線生成手段が直線要素に対応する直線データを求めるごとに、その直線を処理対象の画像と共に画像表示手段に表示させ、該表示画像上で指定された直線の確定用指定点に基づいて、該直線の確定・修正を行う直線修正手段とを備え、直線修正手段が、直線指定点を含む修正判定用の画素領域を画像表示手段に表示させて、該画素領域内に確定用指定点が指定されたか否かを判定し、画素領域内に確定用指定点が指定された場合、修正せずに直線生成手段により生成された直線を確定し、画素領域外に確定用指定点が指定されると、直線生成手段により生成された直線を直線指定点と確定用指定点を通る直線に修正するものである。
【００１８】
この発明に係る直線データ作成装置は、直線修正手段が、直線指定点を含む修正判定用の画素領域を画像表示手段に表示させ、該画素領域内に確定用指定点が指定されるか否かで直線の確定若しくは修正を判定するものである。
【００１９】
この発明に係る直線データ作成装置は、直線修正手段が、修正判定用の画素領域として直線指定点を中心とする円形の画素領域を画像表示手段に表示させるものである。
【００２０】
この発明に係る直線データ作成方法は、コンピュータの表示部に表示させた画像中の直線要素上の一の点を直線指定点として指定する点指定ステップと、直線指定点が指定された直線要素の輝度値勾配から算出した方向ベクトルで規定され直線指定点を通る直線を、該直線要素に対応する直線データとして求める直線生成ステップとを備え、直線生成ステップで直線要素に対応する直線データを求めるごとに、その直線を処理対象の画像と共に表示部に表示させ、該表示画像上で指定された直線の確定用指定点に基づいて、該直線の確定・修正を行う直線修正ステップとを備え、直線修正ステップにおいて、直線指定点を含む修正判定用の画素領域を表示部に表示させて、該画素領域内に確定用指定点が指定されたか否かを判定し、画素領域内に確定用指定点が指定された場合、修正せずに直線生成ステップで生成された直線を確定し、画素領域外に確定用指定点が指定されると、直線生成ステップで生成された直線を直線指定点と確定用指定点を通る直線に修正するものである。
【００２１】
この発明に係るプログラムは、上記直線データ作成装置としてコンピュータを機能させるものである。
【００２２】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１はこの発明の実施の形態１による直線データ作成装置の構成を示す図であり、実写画像からその対象物の３次元立体情報を作成する装置の１つの構成装置として適用した場合を示している。図において、１は実施の形態１による直線データ作成装置を構成するコンピュータ装置が実装する記憶装置であって、３次元立体情報を作成する対象物の実写画像を格納する。２は記憶装置１から読み出した画像を表示する表示装置（画像表示手段）で、３は表示装置２に表示した画像上の位置座標情報などを指定する際に使用するマウス（点指定手段）である。また、画像上の位置座標情報などを指定する手段としては、マウス３以外にもキーボードでもよく、表示装置２にタッチパネルを用いて上記指定手段としてもよい。４は直線データ作成装置を構成するコンピュータ装置の演算処理装置（点指定手段、直線生成手段）で、点指定部５や直線生成部６による機能を実現するプログラムを実行する。５は演算処理装置４が実行するプログラムによって実現される点指定部（点指定手段）であって、３次元立体情報を作成する対象物のうち直線データを作成すべき輪郭線中で指定された点に関する情報（位置座標など）を抽出し直線生成部６に送出する。６は演算処理装置４が実行するプログラムによって実現される直線生成部（直線生成手段）で、点指定部５から入力した情報に係る点を通り輪郭線に沿った直線データを作成する。
【００２３】
図２は図１中の表示装置に表示された画像情報を示す図である。図において、７は３次元立体情報を作成する対象物の画像であって、図示の例では直方体である。８は表示装置２の画面、９は画像７上の３次元立体情報を作成する対象物の輪郭線（直線要素）で、図示の例では直方体の一辺である。１０はユーザが輪郭線９中の点を指定する際に用いる点指標（点指定手段）であって、マウス３の動きに同期して画面８内を移動する（図中の十字マーク）。１１はマウス３を用いて指定された輪郭線９中の指定点（直線指定点）で、Ｐ点と称し画像７内の（Ｘ，Ｙ）座標に位置するものとする。１２は指定点１１を通り輪郭線９に沿った直線である。
【００２４】
図３は図１中の直線データ作成装置による直線データの作成原理を説明する説明図である。図において、９ａ，９ｂ，９ｃは輪郭線９の濃淡パターンであって、例えば実写画像の撮影時における光量の差などによって不可避的に生じるもので、９ａから９ｃの順で輝度値が大きくなる（つまり、色が淡くなる）。つまり、実写画像における輪郭線９をその幅方向について考えると、中心部は最も濃く（暗く）、端部に向かうにつれて徐々に淡くなる。これを濃淡パターン９ａ〜９ｃとして図示したものである。１３は輪郭線９における輝度値の勾配ベクトル、１４は輪郭線９に沿った直線１２の方向ベクトルである。
【００２５】
次に動作について説明する。
図４は実施の形態１による直線データ作成装置の動作を示すフロー図であり、この図に沿って直線データの作成動作を説明する。
先ず、記憶装置１から３次元立体情報を作成すべき対象物の画像７を読み出して表示装置２に表示する（ステップＳＴ１）。次に、ユーザは、マウス３を用いて表示装置２の画面８上に表示される点指標１０を移動させ、画像７上の所定の位置を指定する（ステップＳＴ２、点指定ステップ）。具体的には、直線データを作成すべき輪郭線９上の濃淡パターン９ａ〜９ｃを含む箇所に点指標１０を移動させて、指定点１１（Ｐ点）として指定する。
このとき、点指定部５は、画像７の２次元表示画面８において指定点１１の位置座標情報（Ｐ（Ｘ，Ｙ））を求めて直線生成部６に送出する。
【００２６】
次に、該位置座標情報を受けると、直線生成部６は、指定点１１を通り輪郭線９に沿った方向を有する直線１２を生成する（ステップＳＴ３、直線生成ステップ）。以下、直線１２の生成手順を説明する。
先ず、図３に示すように、直線生成部６は、指定点１１の位置座標情報に基づいて、画像７から指定点１１の近傍における画素の輝度値を取得し、指定点１１での画素輝度値の勾配ベクトル１３を求める。ここで、輪郭線９を構成する画素の輝度値は、輪郭線９の幅方向において中心部が小さく端部に向かうにつれて大きくなり、輪郭線９に直交する方向に変化する勾配を有する。
【００２７】
そこで、輝度値の勾配ベクトル１３を求め、画像７の２次元表示画面８において該ベクトル１３に直交する方向を求めることで、輪郭線９上の指定点１１を通り輪郭線９に平行な直線１２を生成することができる。
【００２８】
具体的な演算過程を説明する。先ず、画像７の２次元表示画面８にｘ−ｙ座標系を当てはめ、ｘ軸方向にＮ個（０≦ｘ＜Ｎ）、ｙ軸方向にＭ個（０≦ｙ＜Ｍ）の画素を有するものとし、画像７中における任意の画素位置（ｘ，ｙ）の画素値をＩ（ｘ，ｙ）とする。また、点指標１０に指定された指定点１１をＰ（Ｘ，Ｙ）とする。ここで、画素値Ｉ（ｘ，ｙ）は輝度値を示し、明るい画素ほど値が大きいものとする。このように、パラメータを設定すると、点Ｐ（指定点１１）での画素輝度値の勾配ベクトル１３は、下記式（１）のように表される。
0004014874.tif 000002
【００２９】
また、勾配ベクトル１３に直交する直線の方向ベクトル１４（図３中のベクトルｅ＝（ａ，ｂ））は、下記式（２）のように表される。
0004014874.tif 000003
【００３０】
ここで、方向ベクトル１４のｘ，ｙ軸方向に関する各要素は、ディジタル画像７における画素Ｉ（ｘ，ｙ）に対するｘ軸方向並びにｙ軸方向の微分演算に近似される。つまり、直線１２の傾きは、ｂ／ａ＝−｛Ｉ（ｘ，ｙ）−Ｉ（ｘ−１，ｙ）｝／｛Ｉ（ｘ，ｙ）−Ｉ（ｘ，ｙ−１）｝と表される。直線１２はＰ（Ｘ，Ｙ）を通ることから、ａ，ｂを用いて下記式（３）のように表される。
ｂｘ−ａｙ＋ａＹ−ｂＸ＝０                            ・・・（３）
【００３１】
直線生成部６には、上記式（３）が予め設定されており、点指定部５から位置座標情報を受けると、直ちに対応する値を代入して直線１２を特定する関係式を求める。このとき、直線生成部６は、上記関係式に基づいて直線１２を画像７に重ねて表示する（ステップＳＴ４）。
【００３２】
続いて、直線生成部６は、上述のようにして求めた直線１２に関する直線データを記憶装置１に格納する（ステップＳＴ５）。この直線データは、例えば直線１２を特定する関係式の係数であり、上記直線１２の式よりｂ、−ａ、ａＹ−ｂＸとなる。また、方向ベクトル１４であるｅ＝（ａ，ｂ）と、通過する１点である指定点１１の位置座標Ｐ（Ｘ，Ｙ）とをもって、データ化してもよい。
【００３３】
以上のように、この実施の形態１によれば、輪郭線９上の１つ点を指定点１１として指定するだけで、輪郭線９の輝度値の勾配を利用して指定点１１を通り輪郭線９に沿った直線１２を生成することから、実写画像の線要素に対応する直線データを作成する際におけるユーザの操作負担を軽減することができる。
【００３４】
なお、上記実施の形態１において、直線１２の方向を算出するにあたり、エッジ検出オペレータを用いてもよい。例えば、エッジ検出オペレータとしてソーベルオペレータを用いると、直線１２の方向ベクトル１４は、ソーベルオペレータによる水平（ｘ）、垂直（ｙ）方向のエッジ検出（強調）の出力をそれぞれｘ，ｙ成分とするベクトルに直交するものとして得られる。
【００３５】
具体的に説明すると、中央点がＩ（ｘ，ｙ）に対応する３×３の近傍画素領域に対して、ソーベルオペレータによるエッジ検出を施した際における水平方向の出力ｃは、下記式（４）で表される。
0004014874.tif 000004
【００３６】
また、垂直方向の出力ｄは、下記式（５）で表される。
0004014874.tif 000005
【００３７】
これにより、直線１２の方向ベクトル１４（ベクトルｅ）は、下記式（６）のように表される。
0004014874.tif 000006
【００３８】
上記実施の形態と同様にして、上記式（６）で表される方向ベクトル１４を用いて、直線１２を特定する関係式が求められる。また、ソーベルオペレータなどのエッジ検出オペレータによる処理の詳細については、例えば八木伸行監修「ディジタル映像処理」オーム社、平成１２年４月２５日発行に述べられている。
【００３９】
また、エッジ検出オペレータとしてキャニーオペレータを作用させて求めるように構成してもよい。キャニーオペレータについては、Ｊ．Ｃａｎｎｙ著“Ａ  ｃｏｍｐｕｔａｔｉｏｎａｌ  ａｐｐｒｏａｃｈ  ｔｏ  ｅｄｇｅ  ｄｅｔｅｃｔｉｏｎ”，ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，Ｖｏｌ．８，Ｎｏ．６，ｐｐ．６７９−６９８，１９８６年発行に述べられている。
【００４０】
このように、指定点１１に係る画素Ｉ（ｘ，ｙ）を中央点とする近傍領域内でエッジ検出オペレータによるエッジ検出を行うことで、直線１２の方向ベクトルを算出する際に、画像７中のノイズの影響を受けにくくなるという利点がある。なお、上記実施の形態１において、実写画像中、輪郭線９が濃さの異なる領域の境界である場合にも同様に実行できる。このとき、輪郭線９は、一方の側で濃く、もう一方の側に向かうにつれて徐々に淡くなる濃淡パターン上に指定点１１を指定することで、勾配ベクトル１３から方向ベクトル１４を得て、直線１２を生成することができる。
【００４１】
実施の形態２．
この実施の形態２は、処理対象の画像に予めエッジ検出オペレータを作用させてエッジを強調させたエッジ検出画像を作成し、このエッジ検出画像において指定点の近傍の画素値から輪郭線に対応する直線の方向ベクトルを求めるものである。
【００４２】
図５はこの発明の実施の形態２による直線データ作成装置の直線データ作成原理を説明する説明図である。図において、１５は画像７にエッジ検出オペレータを作用させて得たエッジ検出画像上の指定点１１の近傍画素を含む領域（以下、近傍画素領域と略す）である。なお、図３と同一構成要素には同一符号を付して重複する説明を省略する。
【００４３】
次に動作について説明する。
図５に示すように、エッジ検出画像における輪郭線９は、その濃淡が処理前のものより強調されているため、輪郭線９の濃度は濃く（輝度値が小さく）なっており、輪郭線９の境界部分から急激に淡く（輝度値が大きく）なっている。これにより、直線１２の方向を容易に求めることができる。以下、その手順を詳細に説明する。
【００４４】
先ず、任意の画素位置（ｘ，ｙ）の画像値Ｉ（ｘ，ｙ）のエッジ検出画像を考え、これのディジタル勾配をＪ（ｘ，ｙ）とし、エッジ検出オペレータとして、例えばソーベルオペレータを用いることとする。このとき、中央点がＩ（ｘ，ｙ）に対応する３×３の近傍画素領域を用いると、Ｊ（ｘ，ｙ）は下記式（７）のように近似できる。
0004014874.tif 000007
【００４５】
このＪ（ｘ，ｙ）の近傍画素領域１５内でＪ（ｘ，ｙ）の最大値を与える点（画素）を求め、これを（ｘｍ，ｙｍ）とする。上述と同様にして、ソーベルオペレータを用いて、該（ｘｍ，ｙｍ）での勾配ベクトル１３をベクトル（ｃ，ｄ）として求めると、下記式（８）のようになる。
0004014874.tif 000008
【００４６】
この勾配ベクトル１３に直交する方向ベクトル１４（図５中のベクトルｅ＝（ａ，ｂ））が、直線１２の方向に相当する。即ち、方向ベクトル１４をｅ＝（ａ，ｂ）＝（−ｄ，ｃ）と決定する。これにより、この方向を有し指定点１１を通る直線を、直線１２として求める。
【００４７】
また、近傍画素領域１５としては、指定点１１を中心とする一辺Ｋの正方形領域を考える（Ｋは画素数の次元を有し、例えばＫ＝１０画素などと設定する）。このとき、画素値Ｉ（ｘ，ｙ）はＫに対して下記式（９）のような関係にある。
0004014874.tif 000009
【００４８】
方向ベクトル１４（ベクトルｅ）は、ｅ＝（ａ，ｂ）＝（−ｄ，ｃ）であることにより、直線生成部６は、指定点１１を通り輪郭線９に沿った直線１２を、ｂｘ−ａｙ＋ａＹ−ｂＸ＝０としてデータ化する。以降の処理は、上記実施の形態１と同様であるので説明を省略する。
【００４９】
このように構成することで、例えば指定点１１で画素値が極値をとる、或いは、その近傍で同一の画素値となり、指定点１１で計算される勾配ベクトル１３が零ベクトルとなってしまうような場合でも、輪郭線９に対応する直線１２の方向を求めることができる。また、エッジ検出画像を用いず、Ｊ（ｘ，ｙ）の値を順次計算して近傍画素領域１５内で最大となる点を得るようにしても良い。
【００５０】
なお、直線生成部６による直線１２の生成処理は、下記のような方法も適用することができる。
【００５１】
（１）Ｊ（ｘ，ｙ）の近傍画素領域１５内をハフ（Ｈｏｕｇｈ）変換し、ハフ変換の投票値が最大となる直線パラメタを求め、この直線パラメタによって表される直線と同一の方向ベクトルを持ち指定点１１を通る直線を直線１２として生成する。
【００５２】
（２）直線１２の方向θを徐々に変化させ、指定点１１から直線１２上の近傍画素領域１５内でのＪ（ｘ，ｙ）の平均値を求め、それが最大となるときの方向θをもち指定点１１を通る直線を直線１２として生成する。
【００５３】
（３）直線１２の方向θを徐々に変化させ、指定点１１から直線１２上の閾値以上のＪ（ｘ，ｙ）が連続する距離を測り、その最大値を与える方向θをもつ直線１２をもち指定点１１を通る直線を直線１２として生成する。ここで、閾値は、例えばＪ（ｘ，ｙ）の取り得る最大値の１／２というように設定する。
【００５４】
（４）Ｊ（ｘ，ｙ）の近傍画素領域１５内での慣性主軸を求め、指定点１１を通り、慣性主軸と同一方向をもつ直線を直線１２として生成する。ここで、慣性主軸の方向をθとすると、θは、下記式（１０）のように表される。
【数１】
0004014874.tif 000010
【００５５】
但し、この演算で得られるθが慣性主軸と直交する方向を表すこともあるので、この場合にはθにπ／２加算する。この判定は、例えば点Ｐを通り、方向がθとθ＋π／２である２つの直線を考え、近傍画素領域１５内でＪ（ｘ，ｙ）の慣性モーメントを計算し、小さい方を最終的に直線１２の方向θとして採用する。
【００５６】
（５）Ｊ（ｘ，ｙ）を閾値処理で、閾値以上の画素を１、閾値未満の画素を０とする２値化画像をつくり、画素値１の領域を細線化、さらにベクトル近似して、点Ｐに最も近い位置にあるベクトルの方向を直線１２の方向とする。
【００５７】
また、ソーベルオペレータの代わりに、ラプラシアンオペレータ、プレビットオペレータなど、他のエッジ検出オペレータを用いるように構成してもよい。なお、上述したハフ変換、細線化処理に関しては、例えば八木伸行監修「ディジタル映像処理」オーム社、平成１２年４月２５日発行に詳細に述べられている。
【００５８】
以上のように、この実施の形態２によれば、エッジ検出オペレータを用いて処理対象の画像をエッジ検出画像とし、エッジ強調された輪郭線９における輝度値の勾配を利用して直線１２に関する直線データを生成するので、実写画像の線要素に対応する直線データを作成する際におけるユーザの操作負担を軽減することができると共に、画像７中の線要素を的確に表現する直線１２を生成することができる。
【００５９】
実施の形態３．
上記実施の形態では直線１２の方向を画像Ｉ（ｘ，ｙ）あるいはエッジ検出画像Ｊ（ｘ，ｙ）を用いて決定する例を示したが、この実施の形態３は予め定めた特定点を求めて直線１２の方向を決定するものである。
【００６０】
図６はこの発明の実施の形態３による直線データ作成装置の直線データ作成原理を説明する説明図である。図において、２４は輪郭線９に対応する直線１２を求める前に処理対象の画像上で予め指定する特定点であって、例えば直線１２の消失点が考えられる。
【００６１】
次に動作について説明する。
先ず、特定点２４として消失点を求める場合を考える。この場合、直線生成部６が、２つの直線データを生成した際に、例えばこれら直線データによって特定される直線が同一の消失点を通過するか否かを判定するように構成する。このとき、同一の消失点を通過する場合、直線生成部６は、該消失点を特定点２４として設定する。
【００６２】
直線生成部６は、消失点を特定点２４として設定すると、特定点２４を通る直線１２上の点の指定待ちモードに移行する。つまり、このモードで点指定部５から指定点１１の位置座標情報を入力すると、直線生成部６は、直ちに特定点２４及び指定点１１を通過する直線を直線１２として生成する。
【００６３】
具体的な直線生成処理としては、特定点２４の位置座標をＶ（Ｘｖ，Ｙｖ）とすると、直線１２は下記式（１１）で表される。
（Ｙｖ−Ｙ）ｘ−（Ｘｖ−Ｘ）ｙ＋（Ｘｖ−Ｘ）Ｙ
−（Ｙｖ−Ｙ）Ｘ＝０                              ・・・（１１）
【００６４】
直線生成部６は、特定点２４を設定すると、この位置座標を上記式（１１）に代入し、特定点２４を通る直線１２上の点の指定待ちモードに移行する。このあと、点指定部５から指定点１１の位置座標情報を入力すると、上記式（１１）に従って直線１２を求める。
【００６５】
上述のような処理を行う場合の前提を説明すると、処理対象の画像７上での壁面、床面、天井などの領域を抽出する場合、その境界抽出のために消失点を通る直線の入力がよく行われる。例えば、境界をなすことの多い鉛直線は、画像７上で同一消失点を通過する。そこで、ユーザが画像７の表示画面を見て、上述したような壁面、床面、天井などの領域を抽出する場合、先ず、消失点が求まる最低限の直線データを生成させる。
【００６６】
このようにして、消失点が特定点２４として設定されると、ユーザは、対応する直線が同一の消失点を通ると判断される他の輪郭線９を表示画面から識別し、この輪郭線９上の１点を指定点１１として指定する。これにより、直線生成部６は、上記式（１１）に従って直線１２を直ちに求める。
【００６７】
また、特定点２４としては、消失点に限らず、例えば画像７が処理対象物として多角錐を示している場合、その頂点を特定点２４としてもよい。この場合、ユーザが画像７の表示画面を見て、上記頂点を特定点２４として設定すると、直線生成部６は、上記式（１１）に上記頂点の位置座標を代入した関係式を保持する。このあと、ユーザが表示画面を見ながら上記頂点を通る多角錐の他の辺に対応する輪郭線９を識別し、この輪郭線９上の１点を指定点１１として指定する。これにより、直線生成部６は、上記式（１１）に従って直線１２を直ちに求める。
【００６８】
以上のように、この実施の形態３によれば、処理画像７上で複数の輪郭線９のそれぞれに対応する直線が１つに交差する特定点２４を設定し、直線生成部６が該特定点２４及び指定点１１を通る直線を直線１２として求めるので、処理対象の画像７上での線要素に対応する直線データを作成するにあたり、ユーザの操作負担を軽減することができる。
【００６９】
なお、上記実施の形態３では、直線１２の方向を、予め定めた特定点２４を通るように生成したが、例えば特定点２４とする消失点が無限遠点となる場合は、直線１２は全て同じ方向を有することになる。この場合、直線１２の方向をあらかじめθとして求めておき、直線生成部６が、上記方向ベクトル１３をｅ＝（ａ，ｂ）＝（ｃｏｓθ，ｓｉｎθ）とし、直線１２をｂｘ−ａｙ＋ａＹ−ｂＸ＝０としてデータ化するようにしてもよい。これによって、特定点２４として設定した消失点が無限遠点になる場合でも、１点のみの指定で直線１２を入力することができる。
【００７０】
実施の形態４．
図７はこの発明の実施の形態４による直線データ作成装置の構成を示す図であり、実写画像からその対象物の３次元立体情報を作成する装置の１つの構成装置として適用した場合を示している。図において、１６は演算処理装置４が実行するプログラムによって実現される直線修正部（直線修正手段）であって、直線生成部６が生成した直線１２を修正する機能を有する。なお、図１と同一構成要素には同一符号を付して重複する説明を省略する。
【００７１】
図８は図７中の直線データ作成装置による直線データの修正原理を説明する説明図である。図において、１７は直線１２（修正された場合を示す破線で記載している）が生成された後にユーザが指定する直線確定用の指定点（確定用指定点）であって、図示の例ではＱ（Ｘ２，Ｙ２）で表されている。１８は指定点１１と直線確定用の指定点１７とを通る直線で、直線修正部１６によって直線確定用の指定点１７と指定点１１とが一致しない場合に生成される。なお、図２と同一構成要素には同一符号を付して重複する説明を省略する。
【００７２】
この実施の形態４では、直線生成部６によって生成された直線１２が輪郭線９に合致しないと判断した場合、直線確定用の指定点１７（点Ｑ）を指定して、直線１２を指定点１１（点Ｐ）及び直線確定用の指定点１７（点Ｑ）を通る直線１８に修正する。具体的に説明すると、例えばマウス３に付属したボタンを押すことで点Ｐを指定し、点指標１０の移動で点Ｑを仮指定し、ボタンを離すことで点Ｑを指定するように構成した場合を考える。この場合、点Ｐの指定後、直線１２が適切であるとき、点指標１０を移動させずにマウスボタンを離すことで、修正処理を省略して直線入力を完了する。一方、直線１２が不適切であるとき、点指標１０を移動させて適切な位置に点Ｑを指定して直線１８に修正する。
【００７３】
次に動作について説明する。
図９は実施の形態４による直線データ作成装置の動作を示すフロー図であり、この図に沿って主に直線の修正動作を説明する。
先ず、ステップＳＴ１からステップＳＴ３までの直線１２を生成する処理は、上記実施の形態１と同様であるので説明を省略する。上記処理にて直線１２が生成されると、ユーザは、マウス３を用いて点指標１０の現在位置を直線確定用の指定点１７（点Ｑ）として指定する（ステップＳＴ１１）。
【００７４】
次に、点Ｑが指定されると、直線修正部１６は、点Ｑが点Ｐに一致するか否かを判定する（ステップＳＴ１２）。これには、Ｘ２≠Ｘ、又は、Ｙ２≠Ｙが成り立つかどうかで判定する。この条件が成り立つ、即ち、点Ｑが点Ｐに一致しない場合、直線修正部１６は、直線１２を、点Ｐ及び点Ｑを通る直線１８に修正する（ステップＳＴ１３）。
【００７５】
このとき、直線１８に修正された直線１２は、下記式（１２）のように表される。
（Ｙ２−Ｙ）ｘ−（Ｘ２−Ｘ）ｙ＋（Ｘ２−Ｘ）Ｙ
−（Ｙ２−Ｙ）Ｘ＝０                              ・・・（１２）
【００７６】
直線１８に関する直線データ（上記式（１２）の係数など）を求めると、直線修正部１６は、直線１８に修正された直線１２と点Ｐ１１とを画像７上に描画する（ステップＳＴ１４）。このとき、点Ｐは、例えば点Ｐを中心とする小さい円で表すようにする。
【００７７】
次に、直線修正部１６は、点Ｑが確定されたか否かを判定する（ステップＳＴ１５）。これは、例えば直線修正部１６が点指定部５からの指定信号を常に受信して、上記のようにマウス３のボタンを離す操作があれば確定、そうでなければステップＳＴ１１に戻って修正処理を続行する。一方、確定であれば、ステップＳＴ１６にて、直線修正部１６は、直線１２の直線データを記憶装置１に格納する。
【００７８】
以上のように、この実施の形態４によれば、直線１２を生成した後に、直線確認用の指定点１７（点Ｑ）を指定して、該指定点１７に基づいて直線１２を修正するので、直線生成部６によって生成された直線１２が不適切な場合においても適宜修正することができ、直線データ作成における利便性を向上させることができる。
【００７９】
実施の形態５．
上記実施の形態４では直線確認用の指定点１７が先に指定した指定点１１に一致しない場合に直線を修正する例を示したが、この実施の形態５は先に指定した指定点１１の近傍に画素領域を設定し、直線確認用の指定点１７がその領域からはずれた場合に修正するようにしたものである。
【００８０】
図１０はこの発明の実施の形態５による直線データ作成装置の直線データ修正原理を説明する説明図であり、（ａ）は直線確認用の画素領域の外側に直線確認用の指定点が指定された場合を示し、（ｂ）は直線確認用の画素領域内に直線確認用の指定点が指定された場合を示している。図において、１９は点Ｐの近傍に設定された矩形の直線確認用の画素領域であって、直線生成部６が直線１２を生成した際、直線修正部１６が画像７上に設定する。図示の例では、直線確認用の画素領域を、一辺を画像７の座標軸に平行にとった矩形領域としている。この場合、例えば一辺Ｌの正方形とし、Ｌは例えば１０画素というように設定するものとする。
【００８１】
次に動作について説明する。
図１１は実施の形態５による直線データ作成装置の動作を示すフロー図であり、この図に沿って主に直線の修正動作を説明する。
先ず、ステップＳＴ１からステップＳＴ３までの直線１２を生成する処理は、上記実施の形態１と同様であるので説明を省略する。上記処理にて直線１２が生成されると、直線修正部１６は、図１０に示すように、指定点１１（点Ｐ）の近傍に直線確認用の画素領域１９を設定し、画像７上に描画する。このとき、ユーザは、マウス３を用いて点指標１０の現在位置を直線確定用の指定点１７（点Ｑ）として指定する（ステップＳＴ１１）。
【００８２】
次に、点Ｑが指定されると、直線修正部１６は、点Ｑが画素領域１９外に指定されたか否かを判定する（ステップＳＴ２１）。これには、Ｘ２＞Ｘ＋Ｌ／２、又は、Ｘ２＜Ｘ−Ｌ／２、又は、Ｙ２＞Ｙ＋Ｌ／２、又は、Ｙ２＜Ｙ−Ｌ／２が成り立つかどうかで判定する。この判定は簡易な演算で実行することができる。
【００８３】
ここで、上記判定条件が成り立つ、即ち、点Ｑが画素領域１９外にある場合、直線修正部１６は、ステップＳＴ１３の処理に移行して、直線１２を、点Ｐと点Ｑを通る直線１８に修正する。このとき、直線１８に修正された直線１２は、上記式（１２）のように表される。
【００８４】
続いて、ステップＳＴ２１で点Ｑが画素領域１９内であったり、上述のようにして点Ｐと点Ｑを通る直線１８に直線１２が修正された場合、ステップＳＴ２２において、直線修正部１６が画像７上に直線１２と画素領域１９を示す正方形を描画する。
【００８５】
このあと、上記実施の形態４と同様に、ステップＳＴ１５、ステップＳＴ１６による処理を実行して適切な直線１２の直線データが記憶装置１に格納される。
【００８６】
以上のように、この実施の形態５によれば、点Ｑが画素領域１９内にある場合、即ち、点Ｐの近傍にある場合には修正を行わず、画素領域１９外に指定された場合に修正を行うので、生成した直線１２が適切であるか否かを容易に判断することができる。従って、直線入力操作を簡略化することができる。また、画素領域１９の内外に点Ｑが指定されたか否かで判定するようにしたことから、マウス３操作に起因する点指標１０のわずかな移動に対しても頑強である。直線１２が適切な場合、点Ｑの確定入力、例えばマウス３のボタンを離す操作に伴って点指標１０が誤移動したとしても、直線１２が誤って修正される事態を避けることができる。
【００８７】
なお、上記実施の形態５では、画素領域１９を矩形領域とした例を示したが、下記のようにしても良い。
図１２は実施の形態５による直線データ作成装置の直線データ修正原理の他の例を示す説明図である。図において、２０は点Ｐを中心とする半径Ｒの円画素領域であり、その機能は上述した画素領域１９と同様である。
【００８８】
この場合、ステップＳＴ２１における内外判定は、下記式（１３）が成り立つかどうかで行われる。
（Ｘ２−Ｘ）２＋（Ｙ２−Ｙ）２＞Ｒ２      ・・・（１３）
【００８９】
上記式（１３）が成り立つとき、点Ｑが円画素領域２０外にあると判定される。このとき、Ｒは、例えば１０画素というように設定する。このようにすることで、点Ｐから一定距離以内かどうかで画素領域の内外判定を行うため、点指標１０の移動方向によらず、直線修正を行うか否かの判定を行うことができる。
【００９０】
【発明の効果】
以上のように、この発明によれば、画像中の直線要素上で指定された一の点を直線指定点として設定し、直線指定点が設定された直線要素の輝度値勾配から算出した方向ベクトルで規定され直線指定点を通る直線を、該直線要素に対応する直線データとして求めるので、画像中の直線要素に対応する直線データを作成する際におけるユーザの操作負担を軽減することができるという効果がある。
【００９１】
この発明によれば、直線指定点の直線要素上での輝度値の勾配ベクトルに直交するベクトルを該直線要素に対応する直線の方向ベクトルとして算出するので、簡易な演算で直線要素に対応する直線を特定するパラメータである方向ベクトルを算出することができるという効果がある。
【００９２】
この発明によれば、エッジ検出オペレータを用いて求めた直線指定点での輝度値の水平及び垂直方向の微分値から直線要素上での輝度値の勾配ベクトルを求め、これに直交するベクトルを該直線要素に対応する直線の方向ベクトルとして算出するので、直線指定点上で直線要素を正確に近似する直線を得ることができるという効果がある。
【００９３】
この発明によれば、エッジ検出オペレータを用いて処理対象の画像をエッジ検出画像として表示し、エッジ検出画像中の直線要素上で指定された一の点が直線指定点として設定されると、該直線指定点が設定された直線要素の輝度値勾配から算出した方向ベクトルで規定され直線指定点を通る直線を求めるので、直線要素が強調されることから直線要素を的確に表現する直線を得ることができるという効果がある。
【００９４】
この発明によれば、画像中の複数の直線要素が交差する一の点が特定点として設定されると、複数の直線要素に対応する直線データとして、特定点及び複数の直線要素の各直線指定点を通る直線をそれぞれ求めるので、直線データを求めるための演算をより簡素化することができるという効果がある。
【００９５】
この発明によれば、画像中で同一の方向ベクトルで規定される複数の直線要素が交差する一の点が特定点として設定されると、複数の直線要素に対応する直線データとして、複数の直線要素の各直線指定点を通り方向ベクトルで規定される直線をそれぞれ求めるので、直線データを求めるための演算をより簡素化することができるという効果がある。
【００９６】
この発明によれば、直線要素に対応する直線データを求めるごとに、その直線を処理対象の画像と共に画像表示手段に表示させ、該表示画像上で指定された直線の確定用指定点に基づいて直線の確定・修正を行うので、得られた直線が適切に直線要素を表現しているか否かを確認することができ、不適切な場合は修正することができるという効果がある。
【００９７】
この発明によれば、確定用指定点が直線指定点と一致するか否かで直線の確定若しくは修正を判定するので、得られた直線が適切に直線要素を表現しているか否かを簡易な演算で判断することができるという効果がある。
【００９８】
この発明によれば、直線指定点を含む修正判定用の画素領域内に確定用指定点が指定されるか否かで直線の確定若しくは修正を判定するので、確定用指定点の指定操作の自由度を向上させることができ、指定ミスによる影響を受けにくくすることができるという効果がある。
【００９９】
この発明によれば、修正判定用の画素領域として直線指定点を中心とする円形の画素領域を用いるので、直線が適切に直線要素を表現しているか否かの判断条件を、直線指定点からの距離が一定値以内の範囲として定義することができるという効果がある。
【図面の簡単な説明】
【図１】  この発明の実施の形態１による直線データ作成装置の構成を示す図である。
【図２】  図１中の表示装置に表示された画像情報を示す図である。
【図３】  図１中の直線データ作成装置による直線データの作成原理を説明する説明図である。
【図４】  実施の形態１による直線データ作成装置の動作を示すフロー図である。
【図５】  この発明の実施の形態２による直線データ作成装置の直線データ作成原理を説明する説明図である。
【図６】  この発明の実施の形態３による直線データ作成装置の直線データ作成原理を説明する説明図である。
【図７】  この発明の実施の形態４による直線データ作成装置の構成を示す図である。
【図８】  図８は図７中の直線データ作成装置による直線データの修正原理を説明する説明図である。
【図９】  実施の形態４による直線データ作成装置の動作を示すフロー図である。
【図１０】  この発明の実施の形態５による直線データ作成装置の直線データ修正原理を説明する説明図である。
【図１１】  実施の形態５による直線データ作成装置の動作を示すフロー図である。
【図１２】  実施の形態５による直線データ作成装置の直線データ修正原理の他の例を示す説明図である。
【図１３】  従来の直線データ作成方法を説明する説明図である。
【符号の説明】
１  記憶装置、２  表示装置（画像表示手段）、３  マウス（点指定手段）、４  演算処理装置（点指定手段、直線生成手段）、５  点指定部（点指定手段）、６  直線生成部（直線生成手段）、７  画像、８  画面、９  輪郭線（直線要素）、９ａ，９ｂ，９ｃ  濃淡パターン、１０  点指標（点指定手段）、１１  指定点（Ｐ点）（直線指定点）、１２  直線、１３  勾配ベクトル、１４  方向ベクトル、１５  近傍画素領域、１６  直線修正部（直線修正手段）、１７  直線確定用の指定点（確定用指定点）、１８  直線、１９  画素領域、２０  円画素領域。
【図１】
0004014874.tif 000011
【図２】
0004014874.tif 000012
【図３】
0004014874.tif 000013
【図４】
0004014874.tif 000014
【図５】
0004014874.tif 000015
【図６】
0004014874.tif 000016
【図７】
0004014874.tif 000017
【図８】
0004014874.tif 000018
【図９】
0004014874.tif 000019
【図１０】
0004014874.tif 000020
【図１１】
0004014874.tif 000021
【図１２】
0004014874.tif 000022
【図１３】
0004014874.tif 000023