- ベストアンサー
射影変換について
- 画像の射影変換について知りたい
- 射影変換パラメータを使って外側の画像を内側の情報から求める方法を教えてください
- 連立方程式を解くことで射影変換パラメータを求めています
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> (ずれた位置と言うのは、自分のイメージした位置の事です。) なるほどそういう話でしたか。 変換がご質問の式だと決まってるんであれば、当然のことながら、その式で計算したものこそが正しい変換結果である。 つまり、計算結果がずれた位置になってるのではなくて、「自分のイメージした位置」の方がずれてる、というだけことです。
その他の回答 (2)
- stomachman
- ベストアンサー率57% (1014/1775)
ANo.1へのコメントについてです。 まず、ご質問に > 画像内側の変換前後の座標が4組明らかですので、連立方程式を解いて、変換パラメータを求めています。 とある。つまり、こういうことでしょう: パラメータa~hの8個が未知である。しかし、 > 左上(2000,1000), > 左下(2000,12999), > 右上(10999,1000), > 右下(10999,12999) が変換によって > 左上(2100,1100), > 左下(2000,11999), > 右上(10999,1000), > 右下(10999,12999) に写る。だから方程式が8本得られて、これらを連立して解けばa~hを算出できる。具体的には、 > X = (ax + by + c)/(gx + hy + 1) > Y = (dx + ey + f)/(gx + hy + 1) のx, yに「左上(2000,1000)」を、X, Yに「左上(2100,1100)」を代入してやれば、2本の式ができ、どちらも分母を払えばa~hの8変数の一次式です。他の3つの隅についても同様にすれば、8元連立一次方程式です。あとは解くだけである。ここまではご自分でなさってる訳ですよね。 それで、えーと、ご質問は何だったかというと > 任意の倍率を持った外側の画像を内側の情報より求めた射影変換パラメータを使って > 行う方法を教えて下さい。 でしたよね? これは一体全体何を「行う」という話なんですか??(ご自身のこの文章をよくお読みになって、誰にでも意味が通じるともしお考えなら、回答を得ることは諦めてください。)
補足
再度補足を入れます。 ご指摘通り、射影変換パラメータは、8元連立方程式より求めています。 そのa~hを使って、画像の内側の 左上(2000,1000), 左下(2000,12999), 右上(10999,1000), 右下(10999,12999), 内の座標を X = (ax + by + c)/(gx + hy + 1) Y = (dx + ey + f)/(gx + hy + 1) にて、変換後のXY位置を計算していますが、 その外側(座標(0,0),(0,1),・・・,)も同様に計算すると、少しずれた位置になります。 (ずれた位置と言うのは、自分のイメージした位置の事です。) うまく表現できませんが、質問の意図としては、射影変化を求める4点の範囲外も変換できないかという事なのですが・・・ ご理解頂けたでしょうか?
- stomachman
- ベストアンサー率57% (1014/1775)
ご質問の最初の3行の意味が全く分かりません。とりわけ「任意の倍率を持った外側の画像」の部分は一体何の事なのか、多分、誰にも分からないだろうと思います。 補足欄にご質問を書き直していただけませんか? ただし、ヒトに伝わるように、うんと注意深く。
補足
ご指摘ありがとうございます。 補足が遅くなり、すいません。 外側の画像とは、 左上(0,0), 左下(0,14999), 右上(11999,0), 右下(11999,14999) の画像です。 (左上、右下、右上、右下:画像の頂点の座標です。) (カッコ内数字が座標(X,Y)、単位はPixel) 画像の内側の情報とは、 左上(2000,1000), 左下(2000,12999), 右上(10999,1000), 右下(10999,12999) の座標を指します。 この画像の内側の座標が 左上(2100,1100), 左下(2000,11999), 右上(10999,1000), 右下(10999,12999) と変形した場合に、この画像全体を変換するにはどうすれば良いかという質問です。 ご理解頂けたでしょうか?
お礼
そういうことなんですかね。 色々とお騒がせしました。