JP4014874B2 - 直線データ作成装置及び方法並びにプログラム - Google Patents
直線データ作成装置及び方法並びにプログラム Download PDFInfo
- Publication number
- JP4014874B2 JP4014874B2 JP2002000158A JP2002000158A JP4014874B2 JP 4014874 B2 JP4014874 B2 JP 4014874B2 JP 2002000158 A JP2002000158 A JP 2002000158A JP 2002000158 A JP2002000158 A JP 2002000158A JP 4014874 B2 JP4014874 B2 JP 4014874B2
- Authority
- JP
- Japan
- Prior art keywords
- straight line
- point
- designated
- image
- designated point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Image Analysis (AREA)
Description
【発明の属する技術分野】
この発明は写真画像などにおける直線要素に対応する直線データを作成する直線データ作成装置及び方法並びにプログラムに関するものである。
【0002】
【従来の技術】
写真画像などから3次元立体情報を作成するにあたり、ユーザがコンピュータのGUI(Graphical User Interface)を用いて、該画像に示される物体の形状やその座標情報を対話的に入力する方法が一般的である。
【0003】
図13は、例えば特開平9−319896号公報に開示される3次元画像作成装置による従来の直線データ作成方法を説明する説明図である。図において、100は3次元画像の作成対象物の輪郭線であって、図示の例では直方体の一辺である。101はユーザが輪郭線100の端点を指定する際に用いる点指標である。この点指標101による端点の指定は3次元画像作成装置を構成するコンピュータ装置の入力手段が用いられる。また、入力手段としては、マウスなどのポインティングデバイスがある。102は輪郭線100の両端点103,104及び消失点105を通る直線であって、輪郭線100を表す直線データの特定に利用される。ここで、消失点とは、3次元画像の作成対象物が存在する3次元空間上では平行な直線が、これを投影した画像面上において1点に収束する点をいう。
【0004】
次に動作について説明する。
先ず、ユーザが、マウスなどのポインティングデバイスを用いて点指標101を輪郭線100に沿って移動させ、3次元画像作成装置を構成するコンピュータ装置に端点103として指定する。次に、点指標101を輪郭線100の他方の端点まで移動し、端点104として上記コンピュータ装置に指定する。このとき、指定される情報としては、両端点103,104の画像面上での位置座標情報などがある。
【0005】
このあと、該3次元画像作成装置は、ユーザが指定した両端点103,104に関する情報(位置座標情報など)から、これらを通る直線102(直線102を特定する関数のパラメータ)を算出する。続いて、同様な操作で他の輪郭線を含む直線を求め、これらが収束する消失点105の位置座標情報を算出する。
【0006】
上述のようにして求めた直線102を特定する関数のパラメータなどの情報は、これに対応する輪郭線100の両端点及び消失点105の位置座標情報と共に、輪郭線100を特定する直線データとして記憶される。
【0007】
このように、従来の3次元画像作成装置では、2点103,104で定義することで輪郭線100を含む直線102を求めていた。
【0008】
【発明が解決しようとする課題】
従来の直線データ作成方法は以上のようになされているので、1つの輪郭線100に係る直線データを作成するためには、その都度ユーザが煩雑な端点指定操作を行わなければならないという課題があった。特に、直線データを作成すべき輪郭線が多数ある場合など、その作業効率を悪化させる要因となっていた。
【0009】
この発明は上記のような課題を解決するためになされたもので、画像中の直線要素の輝度値勾配を利用することで、該直線要素上の一の点を指定するだけで対応する直線を求めることができる直線データ作成装置及び方法並びにプログラムを得ることを目的とする。
【0017】
【課題を解決するための手段】
この発明に係る直線データ作成装置は、画像を表示する画像表示手段と、画像表示手段が表示する画像中の直線要素上で指定された一の点を直線指定点として設定する点指定手段と、直線指定点が設定された直線要素の輝度値勾配から算出した方向ベクトルで規定され直線指定点を通る直線を、該直線要素に対応する直線データとして求める直線生成手段と、直線生成手段が直線要素に対応する直線データを求めるごとに、その直線を処理対象の画像と共に画像表示手段に表示させ、該表示画像上で指定された直線の確定用指定点に基づいて、該直線の確定・修正を行う直線修正手段とを備え、直線修正手段が、直線指定点を含む修正判定用の画素領域を画像表示手段に表示させて、該画素領域内に確定用指定点が指定されたか否かを判定し、画素領域内に確定用指定点が指定された場合、修正せずに直線生成手段により生成された直線を確定し、画素領域外に確定用指定点が指定されると、直線生成手段により生成された直線を直線指定点と確定用指定点を通る直線に修正するものである。
【0018】
この発明に係る直線データ作成装置は、直線修正手段が、直線指定点を含む修正判定用の画素領域を画像表示手段に表示させ、該画素領域内に確定用指定点が指定されるか否かで直線の確定若しくは修正を判定するものである。
【0019】
この発明に係る直線データ作成装置は、直線修正手段が、修正判定用の画素領域として直線指定点を中心とする円形の画素領域を画像表示手段に表示させるものである。
【0020】
この発明に係る直線データ作成方法は、コンピュータの表示部に表示させた画像中の直線要素上の一の点を直線指定点として指定する点指定ステップと、直線指定点が指定された直線要素の輝度値勾配から算出した方向ベクトルで規定され直線指定点を通る直線を、該直線要素に対応する直線データとして求める直線生成ステップとを備え、直線生成ステップで直線要素に対応する直線データを求めるごとに、その直線を処理対象の画像と共に表示部に表示させ、該表示画像上で指定された直線の確定用指定点に基づいて、該直線の確定・修正を行う直線修正ステップとを備え、直線修正ステップにおいて、直線指定点を含む修正判定用の画素領域を表示部に表示させて、該画素領域内に確定用指定点が指定されたか否かを判定し、画素領域内に確定用指定点が指定された場合、修正せずに直線生成ステップで生成された直線を確定し、画素領域外に確定用指定点が指定されると、直線生成ステップで生成された直線を直線指定点と確定用指定点を通る直線に修正するものである。
【0021】
この発明に係るプログラムは、上記直線データ作成装置としてコンピュータを機能させるものである。
【0022】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態1.
図1はこの発明の実施の形態1による直線データ作成装置の構成を示す図であり、実写画像からその対象物の3次元立体情報を作成する装置の1つの構成装置として適用した場合を示している。図において、1は実施の形態1による直線データ作成装置を構成するコンピュータ装置が実装する記憶装置であって、3次元立体情報を作成する対象物の実写画像を格納する。2は記憶装置1から読み出した画像を表示する表示装置(画像表示手段)で、3は表示装置2に表示した画像上の位置座標情報などを指定する際に使用するマウス(点指定手段)である。また、画像上の位置座標情報などを指定する手段としては、マウス3以外にもキーボードでもよく、表示装置2にタッチパネルを用いて上記指定手段としてもよい。4は直線データ作成装置を構成するコンピュータ装置の演算処理装置(点指定手段、直線生成手段)で、点指定部5や直線生成部6による機能を実現するプログラムを実行する。5は演算処理装置4が実行するプログラムによって実現される点指定部(点指定手段)であって、3次元立体情報を作成する対象物のうち直線データを作成すべき輪郭線中で指定された点に関する情報(位置座標など)を抽出し直線生成部6に送出する。6は演算処理装置4が実行するプログラムによって実現される直線生成部(直線生成手段)で、点指定部5から入力した情報に係る点を通り輪郭線に沿った直線データを作成する。
【0023】
図2は図1中の表示装置に表示された画像情報を示す図である。図において、7は3次元立体情報を作成する対象物の画像であって、図示の例では直方体である。8は表示装置2の画面、9は画像7上の3次元立体情報を作成する対象物の輪郭線(直線要素)で、図示の例では直方体の一辺である。10はユーザが輪郭線9中の点を指定する際に用いる点指標(点指定手段)であって、マウス3の動きに同期して画面8内を移動する(図中の十字マーク)。11はマウス3を用いて指定された輪郭線9中の指定点(直線指定点)で、P点と称し画像7内の(X,Y)座標に位置するものとする。12は指定点11を通り輪郭線9に沿った直線である。
【0024】
図3は図1中の直線データ作成装置による直線データの作成原理を説明する説明図である。図において、9a,9b,9cは輪郭線9の濃淡パターンであって、例えば実写画像の撮影時における光量の差などによって不可避的に生じるもので、9aから9cの順で輝度値が大きくなる(つまり、色が淡くなる)。つまり、実写画像における輪郭線9をその幅方向について考えると、中心部は最も濃く(暗く)、端部に向かうにつれて徐々に淡くなる。これを濃淡パターン9a〜9cとして図示したものである。13は輪郭線9における輝度値の勾配ベクトル、14は輪郭線9に沿った直線12の方向ベクトルである。
【0025】
次に動作について説明する。
図4は実施の形態1による直線データ作成装置の動作を示すフロー図であり、この図に沿って直線データの作成動作を説明する。
先ず、記憶装置1から3次元立体情報を作成すべき対象物の画像7を読み出して表示装置2に表示する(ステップST1)。次に、ユーザは、マウス3を用いて表示装置2の画面8上に表示される点指標10を移動させ、画像7上の所定の位置を指定する(ステップST2、点指定ステップ)。具体的には、直線データを作成すべき輪郭線9上の濃淡パターン9a〜9cを含む箇所に点指標10を移動させて、指定点11(P点)として指定する。
このとき、点指定部5は、画像7の2次元表示画面8において指定点11の位置座標情報(P(X,Y))を求めて直線生成部6に送出する。
【0026】
次に、該位置座標情報を受けると、直線生成部6は、指定点11を通り輪郭線9に沿った方向を有する直線12を生成する(ステップST3、直線生成ステップ)。以下、直線12の生成手順を説明する。
先ず、図3に示すように、直線生成部6は、指定点11の位置座標情報に基づいて、画像7から指定点11の近傍における画素の輝度値を取得し、指定点11での画素輝度値の勾配ベクトル13を求める。ここで、輪郭線9を構成する画素の輝度値は、輪郭線9の幅方向において中心部が小さく端部に向かうにつれて大きくなり、輪郭線9に直交する方向に変化する勾配を有する。
【0027】
そこで、輝度値の勾配ベクトル13を求め、画像7の2次元表示画面8において該ベクトル13に直交する方向を求めることで、輪郭線9上の指定点11を通り輪郭線9に平行な直線12を生成することができる。
【0028】
具体的な演算過程を説明する。先ず、画像7の2次元表示画面8にx−y座標系を当てはめ、x軸方向にN個(0≦x<N)、y軸方向にM個(0≦y<M)の画素を有するものとし、画像7中における任意の画素位置(x,y)の画素値をI(x,y)とする。また、点指標10に指定された指定点11をP(X,Y)とする。ここで、画素値I(x,y)は輝度値を示し、明るい画素ほど値が大きいものとする。このように、パラメータを設定すると、点P(指定点11)での画素輝度値の勾配ベクトル13は、下記式(1)のように表される。
【0029】
また、勾配ベクトル13に直交する直線の方向ベクトル14(図3中のベクトルe=(a,b))は、下記式(2)のように表される。
【0030】
ここで、方向ベクトル14のx,y軸方向に関する各要素は、ディジタル画像7における画素I(x,y)に対するx軸方向並びにy軸方向の微分演算に近似される。つまり、直線12の傾きは、b/a=−{I(x,y)−I(x−1,y)}/{I(x,y)−I(x,y−1)}と表される。直線12はP(X,Y)を通ることから、a,bを用いて下記式(3)のように表される。
bx−ay+aY−bX=0 ・・・(3)
【0031】
直線生成部6には、上記式(3)が予め設定されており、点指定部5から位置座標情報を受けると、直ちに対応する値を代入して直線12を特定する関係式を求める。このとき、直線生成部6は、上記関係式に基づいて直線12を画像7に重ねて表示する(ステップST4)。
【0032】
続いて、直線生成部6は、上述のようにして求めた直線12に関する直線データを記憶装置1に格納する(ステップST5)。この直線データは、例えば直線12を特定する関係式の係数であり、上記直線12の式よりb、−a、aY−bXとなる。また、方向ベクトル14であるe=(a,b)と、通過する1点である指定点11の位置座標P(X,Y)とをもって、データ化してもよい。
【0033】
以上のように、この実施の形態1によれば、輪郭線9上の1つ点を指定点11として指定するだけで、輪郭線9の輝度値の勾配を利用して指定点11を通り輪郭線9に沿った直線12を生成することから、実写画像の線要素に対応する直線データを作成する際におけるユーザの操作負担を軽減することができる。
【0034】
なお、上記実施の形態1において、直線12の方向を算出するにあたり、エッジ検出オペレータを用いてもよい。例えば、エッジ検出オペレータとしてソーベルオペレータを用いると、直線12の方向ベクトル14は、ソーベルオペレータによる水平(x)、垂直(y)方向のエッジ検出(強調)の出力をそれぞれx,y成分とするベクトルに直交するものとして得られる。
【0035】
具体的に説明すると、中央点がI(x,y)に対応する3×3の近傍画素領域に対して、ソーベルオペレータによるエッジ検出を施した際における水平方向の出力cは、下記式(4)で表される。
【0036】
また、垂直方向の出力dは、下記式(5)で表される。
【0037】
これにより、直線12の方向ベクトル14(ベクトルe)は、下記式(6)のように表される。
【0038】
上記実施の形態と同様にして、上記式(6)で表される方向ベクトル14を用いて、直線12を特定する関係式が求められる。また、ソーベルオペレータなどのエッジ検出オペレータによる処理の詳細については、例えば八木伸行監修「ディジタル映像処理」オーム社、平成12年4月25日発行に述べられている。
【0039】
また、エッジ検出オペレータとしてキャニーオペレータを作用させて求めるように構成してもよい。キャニーオペレータについては、J.Canny著“A computational approach to edge detection”,IEEE Transactions on Pattern Analysis and Machine Intelligence,Vol.8,No.6,pp.679−698,1986年発行に述べられている。
【0040】
このように、指定点11に係る画素I(x,y)を中央点とする近傍領域内でエッジ検出オペレータによるエッジ検出を行うことで、直線12の方向ベクトルを算出する際に、画像7中のノイズの影響を受けにくくなるという利点がある。なお、上記実施の形態1において、実写画像中、輪郭線9が濃さの異なる領域の境界である場合にも同様に実行できる。このとき、輪郭線9は、一方の側で濃く、もう一方の側に向かうにつれて徐々に淡くなる濃淡パターン上に指定点11を指定することで、勾配ベクトル13から方向ベクトル14を得て、直線12を生成することができる。
【0041】
実施の形態2.
この実施の形態2は、処理対象の画像に予めエッジ検出オペレータを作用させてエッジを強調させたエッジ検出画像を作成し、このエッジ検出画像において指定点の近傍の画素値から輪郭線に対応する直線の方向ベクトルを求めるものである。
【0042】
図5はこの発明の実施の形態2による直線データ作成装置の直線データ作成原理を説明する説明図である。図において、15は画像7にエッジ検出オペレータを作用させて得たエッジ検出画像上の指定点11の近傍画素を含む領域(以下、近傍画素領域と略す)である。なお、図3と同一構成要素には同一符号を付して重複する説明を省略する。
【0043】
次に動作について説明する。
図5に示すように、エッジ検出画像における輪郭線9は、その濃淡が処理前のものより強調されているため、輪郭線9の濃度は濃く(輝度値が小さく)なっており、輪郭線9の境界部分から急激に淡く(輝度値が大きく)なっている。これにより、直線12の方向を容易に求めることができる。以下、その手順を詳細に説明する。
【0044】
先ず、任意の画素位置(x,y)の画像値I(x,y)のエッジ検出画像を考え、これのディジタル勾配をJ(x,y)とし、エッジ検出オペレータとして、例えばソーベルオペレータを用いることとする。このとき、中央点がI(x,y)に対応する3×3の近傍画素領域を用いると、J(x,y)は下記式(7)のように近似できる。
【0045】
このJ(x,y)の近傍画素領域15内でJ(x,y)の最大値を与える点(画素)を求め、これを(xm,ym)とする。上述と同様にして、ソーベルオペレータを用いて、該(xm,ym)での勾配ベクトル13をベクトル(c,d)として求めると、下記式(8)のようになる。
【0046】
この勾配ベクトル13に直交する方向ベクトル14(図5中のベクトルe=(a,b))が、直線12の方向に相当する。即ち、方向ベクトル14をe=(a,b)=(−d,c)と決定する。これにより、この方向を有し指定点11を通る直線を、直線12として求める。
【0047】
また、近傍画素領域15としては、指定点11を中心とする一辺Kの正方形領域を考える(Kは画素数の次元を有し、例えばK=10画素などと設定する)。このとき、画素値I(x,y)はKに対して下記式(9)のような関係にある。
【0048】
方向ベクトル14(ベクトルe)は、e=(a,b)=(−d,c)であることにより、直線生成部6は、指定点11を通り輪郭線9に沿った直線12を、bx−ay+aY−bX=0としてデータ化する。以降の処理は、上記実施の形態1と同様であるので説明を省略する。
【0049】
このように構成することで、例えば指定点11で画素値が極値をとる、或いは、その近傍で同一の画素値となり、指定点11で計算される勾配ベクトル13が零ベクトルとなってしまうような場合でも、輪郭線9に対応する直線12の方向を求めることができる。また、エッジ検出画像を用いず、J(x,y)の値を順次計算して近傍画素領域15内で最大となる点を得るようにしても良い。
【0050】
なお、直線生成部6による直線12の生成処理は、下記のような方法も適用することができる。
【0051】
(1)J(x,y)の近傍画素領域15内をハフ(Hough)変換し、ハフ変換の投票値が最大となる直線パラメタを求め、この直線パラメタによって表される直線と同一の方向ベクトルを持ち指定点11を通る直線を直線12として生成する。
【0052】
(2)直線12の方向θを徐々に変化させ、指定点11から直線12上の近傍画素領域15内でのJ(x,y)の平均値を求め、それが最大となるときの方向θをもち指定点11を通る直線を直線12として生成する。
【0053】
(3)直線12の方向θを徐々に変化させ、指定点11から直線12上の閾値以上のJ(x,y)が連続する距離を測り、その最大値を与える方向θをもつ直線12をもち指定点11を通る直線を直線12として生成する。ここで、閾値は、例えばJ(x,y)の取り得る最大値の1/2というように設定する。
【0054】
(4)J(x,y)の近傍画素領域15内での慣性主軸を求め、指定点11を通り、慣性主軸と同一方向をもつ直線を直線12として生成する。ここで、慣性主軸の方向をθとすると、θは、下記式(10)のように表される。
【数1】
【0055】
但し、この演算で得られるθが慣性主軸と直交する方向を表すこともあるので、この場合にはθにπ/2加算する。この判定は、例えば点Pを通り、方向がθとθ+π/2である2つの直線を考え、近傍画素領域15内でJ(x,y)の慣性モーメントを計算し、小さい方を最終的に直線12の方向θとして採用する。
【0056】
(5)J(x,y)を閾値処理で、閾値以上の画素を1、閾値未満の画素を0とする2値化画像をつくり、画素値1の領域を細線化、さらにベクトル近似して、点Pに最も近い位置にあるベクトルの方向を直線12の方向とする。
【0057】
また、ソーベルオペレータの代わりに、ラプラシアンオペレータ、プレビットオペレータなど、他のエッジ検出オペレータを用いるように構成してもよい。なお、上述したハフ変換、細線化処理に関しては、例えば八木伸行監修「ディジタル映像処理」オーム社、平成12年4月25日発行に詳細に述べられている。
【0058】
以上のように、この実施の形態2によれば、エッジ検出オペレータを用いて処理対象の画像をエッジ検出画像とし、エッジ強調された輪郭線9における輝度値の勾配を利用して直線12に関する直線データを生成するので、実写画像の線要素に対応する直線データを作成する際におけるユーザの操作負担を軽減することができると共に、画像7中の線要素を的確に表現する直線12を生成することができる。
【0059】
実施の形態3.
上記実施の形態では直線12の方向を画像I(x,y)あるいはエッジ検出画像J(x,y)を用いて決定する例を示したが、この実施の形態3は予め定めた特定点を求めて直線12の方向を決定するものである。
【0060】
図6はこの発明の実施の形態3による直線データ作成装置の直線データ作成原理を説明する説明図である。図において、24は輪郭線9に対応する直線12を求める前に処理対象の画像上で予め指定する特定点であって、例えば直線12の消失点が考えられる。
【0061】
次に動作について説明する。
先ず、特定点24として消失点を求める場合を考える。この場合、直線生成部6が、2つの直線データを生成した際に、例えばこれら直線データによって特定される直線が同一の消失点を通過するか否かを判定するように構成する。このとき、同一の消失点を通過する場合、直線生成部6は、該消失点を特定点24として設定する。
【0062】
直線生成部6は、消失点を特定点24として設定すると、特定点24を通る直線12上の点の指定待ちモードに移行する。つまり、このモードで点指定部5から指定点11の位置座標情報を入力すると、直線生成部6は、直ちに特定点24及び指定点11を通過する直線を直線12として生成する。
【0063】
具体的な直線生成処理としては、特定点24の位置座標をV(Xv,Yv)とすると、直線12は下記式(11)で表される。
(Yv−Y)x−(Xv−X)y+(Xv−X)Y
−(Yv−Y)X=0 ・・・(11)
【0064】
直線生成部6は、特定点24を設定すると、この位置座標を上記式(11)に代入し、特定点24を通る直線12上の点の指定待ちモードに移行する。このあと、点指定部5から指定点11の位置座標情報を入力すると、上記式(11)に従って直線12を求める。
【0065】
上述のような処理を行う場合の前提を説明すると、処理対象の画像7上での壁面、床面、天井などの領域を抽出する場合、その境界抽出のために消失点を通る直線の入力がよく行われる。例えば、境界をなすことの多い鉛直線は、画像7上で同一消失点を通過する。そこで、ユーザが画像7の表示画面を見て、上述したような壁面、床面、天井などの領域を抽出する場合、先ず、消失点が求まる最低限の直線データを生成させる。
【0066】
このようにして、消失点が特定点24として設定されると、ユーザは、対応する直線が同一の消失点を通ると判断される他の輪郭線9を表示画面から識別し、この輪郭線9上の1点を指定点11として指定する。これにより、直線生成部6は、上記式(11)に従って直線12を直ちに求める。
【0067】
また、特定点24としては、消失点に限らず、例えば画像7が処理対象物として多角錐を示している場合、その頂点を特定点24としてもよい。この場合、ユーザが画像7の表示画面を見て、上記頂点を特定点24として設定すると、直線生成部6は、上記式(11)に上記頂点の位置座標を代入した関係式を保持する。このあと、ユーザが表示画面を見ながら上記頂点を通る多角錐の他の辺に対応する輪郭線9を識別し、この輪郭線9上の1点を指定点11として指定する。これにより、直線生成部6は、上記式(11)に従って直線12を直ちに求める。
【0068】
以上のように、この実施の形態3によれば、処理画像7上で複数の輪郭線9のそれぞれに対応する直線が1つに交差する特定点24を設定し、直線生成部6が該特定点24及び指定点11を通る直線を直線12として求めるので、処理対象の画像7上での線要素に対応する直線データを作成するにあたり、ユーザの操作負担を軽減することができる。
【0069】
なお、上記実施の形態3では、直線12の方向を、予め定めた特定点24を通るように生成したが、例えば特定点24とする消失点が無限遠点となる場合は、直線12は全て同じ方向を有することになる。この場合、直線12の方向をあらかじめθとして求めておき、直線生成部6が、上記方向ベクトル13をe=(a,b)=(cosθ,sinθ)とし、直線12をbx−ay+aY−bX=0としてデータ化するようにしてもよい。これによって、特定点24として設定した消失点が無限遠点になる場合でも、1点のみの指定で直線12を入力することができる。
【0070】
実施の形態4.
図7はこの発明の実施の形態4による直線データ作成装置の構成を示す図であり、実写画像からその対象物の3次元立体情報を作成する装置の1つの構成装置として適用した場合を示している。図において、16は演算処理装置4が実行するプログラムによって実現される直線修正部(直線修正手段)であって、直線生成部6が生成した直線12を修正する機能を有する。なお、図1と同一構成要素には同一符号を付して重複する説明を省略する。
【0071】
図8は図7中の直線データ作成装置による直線データの修正原理を説明する説明図である。図において、17は直線12(修正された場合を示す破線で記載している)が生成された後にユーザが指定する直線確定用の指定点(確定用指定点)であって、図示の例ではQ(X2,Y2)で表されている。18は指定点11と直線確定用の指定点17とを通る直線で、直線修正部16によって直線確定用の指定点17と指定点11とが一致しない場合に生成される。なお、図2と同一構成要素には同一符号を付して重複する説明を省略する。
【0072】
この実施の形態4では、直線生成部6によって生成された直線12が輪郭線9に合致しないと判断した場合、直線確定用の指定点17(点Q)を指定して、直線12を指定点11(点P)及び直線確定用の指定点17(点Q)を通る直線18に修正する。具体的に説明すると、例えばマウス3に付属したボタンを押すことで点Pを指定し、点指標10の移動で点Qを仮指定し、ボタンを離すことで点Qを指定するように構成した場合を考える。この場合、点Pの指定後、直線12が適切であるとき、点指標10を移動させずにマウスボタンを離すことで、修正処理を省略して直線入力を完了する。一方、直線12が不適切であるとき、点指標10を移動させて適切な位置に点Qを指定して直線18に修正する。
【0073】
次に動作について説明する。
図9は実施の形態4による直線データ作成装置の動作を示すフロー図であり、この図に沿って主に直線の修正動作を説明する。
先ず、ステップST1からステップST3までの直線12を生成する処理は、上記実施の形態1と同様であるので説明を省略する。上記処理にて直線12が生成されると、ユーザは、マウス3を用いて点指標10の現在位置を直線確定用の指定点17(点Q)として指定する(ステップST11)。
【0074】
次に、点Qが指定されると、直線修正部16は、点Qが点Pに一致するか否かを判定する(ステップST12)。これには、X2≠X、又は、Y2≠Yが成り立つかどうかで判定する。この条件が成り立つ、即ち、点Qが点Pに一致しない場合、直線修正部16は、直線12を、点P及び点Qを通る直線18に修正する(ステップST13)。
【0075】
このとき、直線18に修正された直線12は、下記式(12)のように表される。
(Y2−Y)x−(X2−X)y+(X2−X)Y
−(Y2−Y)X=0 ・・・(12)
【0076】
直線18に関する直線データ(上記式(12)の係数など)を求めると、直線修正部16は、直線18に修正された直線12と点P11とを画像7上に描画する(ステップST14)。このとき、点Pは、例えば点Pを中心とする小さい円で表すようにする。
【0077】
次に、直線修正部16は、点Qが確定されたか否かを判定する(ステップST15)。これは、例えば直線修正部16が点指定部5からの指定信号を常に受信して、上記のようにマウス3のボタンを離す操作があれば確定、そうでなければステップST11に戻って修正処理を続行する。一方、確定であれば、ステップST16にて、直線修正部16は、直線12の直線データを記憶装置1に格納する。
【0078】
以上のように、この実施の形態4によれば、直線12を生成した後に、直線確認用の指定点17(点Q)を指定して、該指定点17に基づいて直線12を修正するので、直線生成部6によって生成された直線12が不適切な場合においても適宜修正することができ、直線データ作成における利便性を向上させることができる。
【0079】
実施の形態5.
上記実施の形態4では直線確認用の指定点17が先に指定した指定点11に一致しない場合に直線を修正する例を示したが、この実施の形態5は先に指定した指定点11の近傍に画素領域を設定し、直線確認用の指定点17がその領域からはずれた場合に修正するようにしたものである。
【0080】
図10はこの発明の実施の形態5による直線データ作成装置の直線データ修正原理を説明する説明図であり、(a)は直線確認用の画素領域の外側に直線確認用の指定点が指定された場合を示し、(b)は直線確認用の画素領域内に直線確認用の指定点が指定された場合を示している。図において、19は点Pの近傍に設定された矩形の直線確認用の画素領域であって、直線生成部6が直線12を生成した際、直線修正部16が画像7上に設定する。図示の例では、直線確認用の画素領域を、一辺を画像7の座標軸に平行にとった矩形領域としている。この場合、例えば一辺Lの正方形とし、Lは例えば10画素というように設定するものとする。
【0081】
次に動作について説明する。
図11は実施の形態5による直線データ作成装置の動作を示すフロー図であり、この図に沿って主に直線の修正動作を説明する。
先ず、ステップST1からステップST3までの直線12を生成する処理は、上記実施の形態1と同様であるので説明を省略する。上記処理にて直線12が生成されると、直線修正部16は、図10に示すように、指定点11(点P)の近傍に直線確認用の画素領域19を設定し、画像7上に描画する。このとき、ユーザは、マウス3を用いて点指標10の現在位置を直線確定用の指定点17(点Q)として指定する(ステップST11)。
【0082】
次に、点Qが指定されると、直線修正部16は、点Qが画素領域19外に指定されたか否かを判定する(ステップST21)。これには、X2>X+L/2、又は、X2<X−L/2、又は、Y2>Y+L/2、又は、Y2<Y−L/2が成り立つかどうかで判定する。この判定は簡易な演算で実行することができる。
【0083】
ここで、上記判定条件が成り立つ、即ち、点Qが画素領域19外にある場合、直線修正部16は、ステップST13の処理に移行して、直線12を、点Pと点Qを通る直線18に修正する。このとき、直線18に修正された直線12は、上記式(12)のように表される。
【0084】
続いて、ステップST21で点Qが画素領域19内であったり、上述のようにして点Pと点Qを通る直線18に直線12が修正された場合、ステップST22において、直線修正部16が画像7上に直線12と画素領域19を示す正方形を描画する。
【0085】
このあと、上記実施の形態4と同様に、ステップST15、ステップST16による処理を実行して適切な直線12の直線データが記憶装置1に格納される。
【0086】
以上のように、この実施の形態5によれば、点Qが画素領域19内にある場合、即ち、点Pの近傍にある場合には修正を行わず、画素領域19外に指定された場合に修正を行うので、生成した直線12が適切であるか否かを容易に判断することができる。従って、直線入力操作を簡略化することができる。また、画素領域19の内外に点Qが指定されたか否かで判定するようにしたことから、マウス3操作に起因する点指標10のわずかな移動に対しても頑強である。直線12が適切な場合、点Qの確定入力、例えばマウス3のボタンを離す操作に伴って点指標10が誤移動したとしても、直線12が誤って修正される事態を避けることができる。
【0087】
なお、上記実施の形態5では、画素領域19を矩形領域とした例を示したが、下記のようにしても良い。
図12は実施の形態5による直線データ作成装置の直線データ修正原理の他の例を示す説明図である。図において、20は点Pを中心とする半径Rの円画素領域であり、その機能は上述した画素領域19と同様である。
【0088】
この場合、ステップST21における内外判定は、下記式(13)が成り立つかどうかで行われる。
(X2−X)2+(Y2−Y)2>R2 ・・・(13)
【0089】
上記式(13)が成り立つとき、点Qが円画素領域20外にあると判定される。このとき、Rは、例えば10画素というように設定する。このようにすることで、点Pから一定距離以内かどうかで画素領域の内外判定を行うため、点指標10の移動方向によらず、直線修正を行うか否かの判定を行うことができる。
【0090】
【発明の効果】
以上のように、この発明によれば、画像中の直線要素上で指定された一の点を直線指定点として設定し、直線指定点が設定された直線要素の輝度値勾配から算出した方向ベクトルで規定され直線指定点を通る直線を、該直線要素に対応する直線データとして求めるので、画像中の直線要素に対応する直線データを作成する際におけるユーザの操作負担を軽減することができるという効果がある。
【0091】
この発明によれば、直線指定点の直線要素上での輝度値の勾配ベクトルに直交するベクトルを該直線要素に対応する直線の方向ベクトルとして算出するので、簡易な演算で直線要素に対応する直線を特定するパラメータである方向ベクトルを算出することができるという効果がある。
【0092】
この発明によれば、エッジ検出オペレータを用いて求めた直線指定点での輝度値の水平及び垂直方向の微分値から直線要素上での輝度値の勾配ベクトルを求め、これに直交するベクトルを該直線要素に対応する直線の方向ベクトルとして算出するので、直線指定点上で直線要素を正確に近似する直線を得ることができるという効果がある。
【0093】
この発明によれば、エッジ検出オペレータを用いて処理対象の画像をエッジ検出画像として表示し、エッジ検出画像中の直線要素上で指定された一の点が直線指定点として設定されると、該直線指定点が設定された直線要素の輝度値勾配から算出した方向ベクトルで規定され直線指定点を通る直線を求めるので、直線要素が強調されることから直線要素を的確に表現する直線を得ることができるという効果がある。
【0094】
この発明によれば、画像中の複数の直線要素が交差する一の点が特定点として設定されると、複数の直線要素に対応する直線データとして、特定点及び複数の直線要素の各直線指定点を通る直線をそれぞれ求めるので、直線データを求めるための演算をより簡素化することができるという効果がある。
【0095】
この発明によれば、画像中で同一の方向ベクトルで規定される複数の直線要素が交差する一の点が特定点として設定されると、複数の直線要素に対応する直線データとして、複数の直線要素の各直線指定点を通り方向ベクトルで規定される直線をそれぞれ求めるので、直線データを求めるための演算をより簡素化することができるという効果がある。
【0096】
この発明によれば、直線要素に対応する直線データを求めるごとに、その直線を処理対象の画像と共に画像表示手段に表示させ、該表示画像上で指定された直線の確定用指定点に基づいて直線の確定・修正を行うので、得られた直線が適切に直線要素を表現しているか否かを確認することができ、不適切な場合は修正することができるという効果がある。
【0097】
この発明によれば、確定用指定点が直線指定点と一致するか否かで直線の確定若しくは修正を判定するので、得られた直線が適切に直線要素を表現しているか否かを簡易な演算で判断することができるという効果がある。
【0098】
この発明によれば、直線指定点を含む修正判定用の画素領域内に確定用指定点が指定されるか否かで直線の確定若しくは修正を判定するので、確定用指定点の指定操作の自由度を向上させることができ、指定ミスによる影響を受けにくくすることができるという効果がある。
【0099】
この発明によれば、修正判定用の画素領域として直線指定点を中心とする円形の画素領域を用いるので、直線が適切に直線要素を表現しているか否かの判断条件を、直線指定点からの距離が一定値以内の範囲として定義することができるという効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1による直線データ作成装置の構成を示す図である。
【図2】 図1中の表示装置に表示された画像情報を示す図である。
【図3】 図1中の直線データ作成装置による直線データの作成原理を説明する説明図である。
【図4】 実施の形態1による直線データ作成装置の動作を示すフロー図である。
【図5】 この発明の実施の形態2による直線データ作成装置の直線データ作成原理を説明する説明図である。
【図6】 この発明の実施の形態3による直線データ作成装置の直線データ作成原理を説明する説明図である。
【図7】 この発明の実施の形態4による直線データ作成装置の構成を示す図である。
【図8】 図8は図7中の直線データ作成装置による直線データの修正原理を説明する説明図である。
【図9】 実施の形態4による直線データ作成装置の動作を示すフロー図である。
【図10】 この発明の実施の形態5による直線データ作成装置の直線データ修正原理を説明する説明図である。
【図11】 実施の形態5による直線データ作成装置の動作を示すフロー図である。
【図12】 実施の形態5による直線データ作成装置の直線データ修正原理の他の例を示す説明図である。
【図13】 従来の直線データ作成方法を説明する説明図である。
【符号の説明】
1 記憶装置、2 表示装置(画像表示手段)、3 マウス(点指定手段)、4 演算処理装置(点指定手段、直線生成手段)、5 点指定部(点指定手段)、6 直線生成部(直線生成手段)、7 画像、8 画面、9 輪郭線(直線要素)、9a,9b,9c 濃淡パターン、10 点指標(点指定手段)、11 指定点(P点)(直線指定点)、12 直線、13 勾配ベクトル、14 方向ベクトル、15 近傍画素領域、16 直線修正部(直線修正手段)、17 直線確定用の指定点(確定用指定点)、18 直線、19 画素領域、20 円画素領域。
Claims (4)
- 画像を表示する画像表示手段と、
上記画像表示手段が表示する画像中の直線要素上で指定された一の点を直線指定点として設定する点指定手段と、
上記直線指定点が設定された直線要素の輝度値勾配から算出した方向ベクトルで規定され上記直線指定点を通る直線を、該直線要素に対応する直線データとして求める直線生成手段と、
上記直線生成手段が直線要素に対応する直線データを求めるごとに、その直線を処理対象の画像と共に上記画像表示手段に表示させ、該表示画像上で指定された直線の確定用指定点に基づいて、該直線の確定・修正を行う直線修正手段とを備え、
上記直線修正手段は、上記直線指定点を含む修正判定用の画素領域を上記画像表示手段に表示させて、該画素領域内に上記確定用指定点が指定されたか否かを判定し、上記画素領域内に上記確定用指定点が指定された場合、修正せずに上記直線生成手段により生成された直線を確定し、上記画素領域外に上記確定用指定点が指定されると、上記直線生成手段により生成された直線を上記直線指定点と上記確定用指定点を通る直線に修正することを特徴とする直線データ作成装置。 - 直線修正手段は、修正判定用の画素領域として直線指定点を中心とする円形の画素領域を画像表示手段に表示させることを特徴とする請求項1記載の直線データ作成装置。
- コンピュータの表示部に表示させた画像中の直線要素上の一の点を直線指定点として指定する点指定ステップと、
上記直線指定点が指定された直線要素の輝度値勾配から算出した方向ベクトルで規定され上記直線指定点を通る直線を、該直線要素に対応する直線データとして求める直線生成ステップと、
上記直線生成ステップで直線要素に対応する直線データを求めるごとに、その直線を処理対象の画像と共に上記表示部に表示させ、該表示画像上で指定された直線の確定用指定点に基づいて、該直線の確定・修正を行う直線修正ステップとを備え、
上記直線修正ステップにおいて、上記直線指定点を含む修正判定用の画素領域を上記表示部に表示させて、該画素領域内に確定用指定点が指定されたか否かを判定し、上記画素領域内に上記確定用指定点が指定された場合、修正せずに上記直線生成ステップで生成された直線を確定し、上記画素領域外に上記確定用指定点が指定されると、上記直線生成ステップで生成された直線を上記直線指定点と上記確定用指定点を通る直線に修正することを特徴とする直線データ作成方法。 - 請求項1または請求項2記載の直線データ作成装置としてコンピュータを機能させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002000158A JP4014874B2 (ja) | 2002-01-04 | 2002-01-04 | 直線データ作成装置及び方法並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002000158A JP4014874B2 (ja) | 2002-01-04 | 2002-01-04 | 直線データ作成装置及び方法並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003203241A JP2003203241A (ja) | 2003-07-18 |
JP4014874B2 true JP4014874B2 (ja) | 2007-11-28 |
Family
ID=27640637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002000158A Expired - Lifetime JP4014874B2 (ja) | 2002-01-04 | 2002-01-04 | 直線データ作成装置及び方法並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4014874B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5629023B2 (ja) * | 2012-05-30 | 2014-11-19 | オリンパスメディカルシステムズ株式会社 | 医療用3次元観察装置 |
JP6590653B2 (ja) * | 2014-11-19 | 2019-10-16 | 首都高技術株式会社 | 点群データ利用システム |
JP2020088840A (ja) * | 2019-04-11 | 2020-06-04 | アースアイズ株式会社 | 監視装置、監視システム、監視方法、監視プログラム |
-
2002
- 2002-01-04 JP JP2002000158A patent/JP4014874B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2003203241A (ja) | 2003-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6714689B1 (en) | Image synthesizing method | |
US10410089B2 (en) | Training assistance using synthetic images | |
JP5699788B2 (ja) | スクリーン領域検知方法及びシステム | |
US8467596B2 (en) | Method and apparatus for object pose estimation | |
JP5542889B2 (ja) | 画像処理装置 | |
JP6089722B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
US9665168B2 (en) | Image processing apparatus, information processing method, and program | |
JP5560721B2 (ja) | 画像処理装置、画像表示システム、及び画像処理方法 | |
WO2022105415A1 (zh) | 关键帧图像的采集方法、装置、系统和三维重建方法 | |
US20220172331A1 (en) | Image inpainting with geometric and photometric transformations | |
JP2019192022A (ja) | 画像処理装置、画像処理方法及びプログラム | |
CN112991176B (zh) | 一种基于最佳缝合线的全景图像拼接方法 | |
JP2017187882A (ja) | 画像処理に用いられるコンピュータープログラム | |
CN107862674B (zh) | 深度图像融合方法及系统 | |
CN109064533B (zh) | 一种3d漫游方法及系统 | |
US9924066B2 (en) | Image processing apparatus, information processing method, and program | |
JP2015171143A (ja) | カラーコード化された構造によるカメラ較正の方法及び装置、並びにコンピュータ可読記憶媒体 | |
JP2013185905A (ja) | 情報処理装置及び方法、並びにプログラム | |
JP2016218729A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP4014874B2 (ja) | 直線データ作成装置及び方法並びにプログラム | |
JP2014102805A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6388744B1 (ja) | 測距装置および測距方法 | |
KR102146839B1 (ko) | 실시간 가상현실 구축을 위한 시스템 및 방법 | |
JP2013153392A (ja) | 画像処理装置および画像処理方法、プログラム | |
JP2020113247A (ja) | 画像処理装置およびその制御方法、情報処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041116 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070410 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070605 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070720 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070814 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070912 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100921 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110921 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110921 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120921 Year of fee payment: 5 |