• 締切済み

画像の平面射影変換について。

画像Aと別の角度から取ったもう一枚の画像Bを用いてAからBへの平面射影変換をしようと思っています。この場合AとBの対応点を最低4点取り、その4点から変換行列を求めて単純に[Aの画素の位置×変換行列]をループですべてのAの画素について計算すれば画像Bと同じ角度から見た画像を得ることが出来るのでしょうか?

みんなの回答

  • ranx
  • ベストアンサー率24% (357/1463)
回答No.1

連続体を扱う数学ならばそれでよいかもしれませんが、 画像「データ」は離散的ですから、元の画像に対する 変換先を求めると、複数の点が同じ点に対応したり、 間が空いてしまったりします。 逆変換を求め、変換先の画像に対してループする アルゴリズムの方が実際的だと思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 射影変換について

    射影変換について 以前射影変換について質問させて頂きました。 以前の質問内容:http://okwave.jp/qa/q6018544.html 射影変換については大凡理解できました。 正射影とは射影変換の代表的なものであるという認識なのですが、 間違いでしょうか? 以前ご回答頂きました内容において、 「正射影の例としてa+bx+cx^2を(a,b,c)と書けば、(a,b,c)を(a,b,0)に写すことになり、 三次元空間の点をXY平面(2次元)に写す」 という点から正射影は射影変換とはならないのでしょうか? 以上、ご回答よろしくお願い致します。

  • 透視投影された平面を正面から見たように変換したい

    透視投影で撮影された平面を、正面から撮影したように投影変換する処理を教えてください。 または、射影ひずみの補正といわれるものでしょうか? 私なりにいろいろと調べまして、 「画像の平面内の四頂点の座標を求めることができれば、平面の傾きを求めることができる。」 というところまでたどり着きまして、平面の角度を求めるところまではいきました。 しかし、その後の行列変換がわかりません。 単に回転であれば、 1    0    0 0 cosθ -sinθ 0 sinθ cosθ cosθ 0 sinθ 0   1    0 -sinθ 0 cosθ をかければよいかと思っていましたが、奥行きの収縮などの関係がわかりません。 どの様な行列をかければ求めることができるのか教えてください。 このような研究をしていますが、行列は苦手なので、簡単な質問でしたらすみません。

  • 直線上と平面上の射影変換について

    大学の数学の課題でわかりません。困ってます。 問題1:直線上の射影変換 f:R\{a}→R\{b}で f(0)=3 , f(1)=5 , f(2)=4 をみたすものを求め、a,bを求めよ。 問題2:平面上の射影変換 f(x,y)=(x+y+1/2x+y-1,x-y+1/2x+y-1) g(x,y)=(x+2y+1/x-y-1,x-2y+2/x-y-1) に対し、 (1)合成g○f(x,y)を求めよ (2)fの逆f^-1(x,y)を求めよ 答えと解法をお願いします。 あと、 f:R\{a}→R\{b}の意味がわかりません。 このバックスラッシュはどういうう意味なんですか?

  • MATLABの射影変換についての質問です。

    MATLABの射影変換についての質問です。 1枚の画像に3×3の行列をかけて画像変換するつもりです。しかし、その画像自体は3×3ではないので、直接かけることができません。 そこで、3×3以外の画像行列に、3×3行列をかけて、変換された画像を表示する方法をお聞きしたいです。 どうぞ宜しくお願いします。

  • 平面に正射影するベクトル

    下の問題が解けません。 同一平面上にない空間ベクトルA,B,Cがある。 CをAとBを含む平面に正射影したベクトルDをA,B,Cであらわせ。 これが問題文の全文です。 考え方だけでも知りたいのでよろしくお願いします。

  • 射影変換について

    画像の射影変換を行いたいのですが、制約上画像の内側の情報しかありません。 任意の倍率を持った外側の画像を内側の情報より求めた射影変換パラメータを使って 行う方法を教えて下さい。 以下の演算式で射影変換を行っています。 X = (ax + by + c)/(gx + hy + 1) Y = (dx + ey + f)/(gx + hy + 1) (X,Y) :変換後の座標 (x,y):変換前の座標 a~h:変換パラメータ 画像内側の変換前後の座標が4組明らかですので、連立方程式を解いて、変換パラメータを求めています。内側の画像サイズが、(W,H) = (9000,12000)に対して、外側の画像サイズが(12000,15000)です。宜しくお願いします。

  • 線形変換

    平面P;x-y+z+1=0 直線L;2(x-1)=-y=-z 平面を張る二つの線形独立なベクトルをa,b 直線を張るベクトルをcとし 任意の点を直線Lと平行に平面P上へ射影する線形変換をあらわす行列Aを求める問題で 解説では Aa=a,Ab=b,Ac=0 A(a b c)=(a b 0) …と求めています。 Aa=a,Ab=b,Ac=0となるのがよくわかりません。 教えてください。

  • 4次元データを射影により3次元に縮小する方法

    以下のような 3本の位置ベクトルによって示される3次元空間に、4次元 データを射影し、次元縮小する方法を教えてください。  A = [a1 a2 a3 a4]、 B = [b1 b2 b3 b4]、 C = [c1 c2 c3 c4] 射影行列を求め、各データ点との積を求めるのだと思いますが、やり方 が分かりません。 仕事で次元縮小のプログラムを作らなければならないので、大変困っています。どなたか、助けてください。

  • 平面の式と逆行列

    3点(0,2,2) (-2,0,0) (0,-2,-2次に)通る平面を求めました。 平面の式 ax+by+cz=0 にそれぞれ代入しa,b,c,dの連立方程式として求め、 2b+2c+d=0 -2a+d=0 -2b-2c+d=0 答えy-z=0 を得ました。次に、簡単化のため逆行列でa,b,cをdの式で求めようとしたところ、なんと行列式がゼロとなり求められません。 なぜ?直線上にない3点が定まれば平面が一意に定まり、当然逆行列も存在すると思ってましたが、違うのですか?また、この場合どうやって求めたらいいでしょうか?もちろんて計算ではなく自動計算化を考えてのことです。

  • 線形代数の問題です。

    3次元実ベクトル空間R^3において,平面P:x-y-z+1=0と直線L:2(x-1)=-y=-zを考える. (1)平面を張る二つの線形独立(一次独立)なベクトルa1,a2,直線を張るベクトルa3を求めよ. (2)任意の点を直線Lと平行に平面P上へ射影する線形変換を表す行列Aを求めよ. (3)任意の点を平面Pと平行に直線L上へ射影する線形変換を表す行列Bを求めよ. というような問題です。 (1)は直線はわかるのですが、平面の方は法線ベクトルしか求められません。 (2)と(3)は考え方だけでも教えていただければと思います。 よろしくお願いします。