bx + by + c
u = -------------
gx + yh + 1
dx + ey + f
v = -------------
gx + hy + 1
u = (x*a + y*b + c) / (x*g + y*h + 1)
v = (x*d + y*e + f) / (x*g + y*h + 1)
↓↓↓ 分数を含んでしまうので以下のようにする ↓↓↓
u = x*a + y*b + c - x*g*u - y*h*u
v = x*d + y*e + f - x*g*v - y*h*v
値 | 説明 |
---|---|
x,y | 変換前のX座標、Y座標 |
a,b,c,d,e,f,g,h | 変換係数 |
u,v | 変換後の座標 |
- 係数を算出するには、最低8個の変換式が必要になる。
- 4つの対応点があれば8個の変換式(X,Yそれぞれ4つ)を生成できる。
- 8個の変換式から連立方程式を解くことにより、各係数を算出する。
[引用] > http://miraiware.net/memo/img-homography.html
| u | | a b c || x |
| v | = | d e f || y |
| 1 | | g h 1 || 1 |