画像処理 ~ 幾何補正について ~

■ 幾何補正(geometric correction)

`#`補正方法`必要な最小データ数`備考
1ヘルマート変換(一次等角変換、相似変換)2点Helmert Transformation
22次元アフィン変換3点affine transformations
32次元擬似アフィン変換(共一次変換)4点pseudo-affine transformations(bi-linear distortion)
4多項式変換※1
etc...
※1:多項式変換のデータ数
 => 未知パラメータ n とすると、必要なデータ数は『(n +1)(n + 2)/ 2』となる。

【例:未知パラメータ n = 3の場合】
 (3 + 1 )(3 + 2)/ 2 = (4 x 5) / 2 = 10点
http://012.o.oo7.jp/My%20Webs03/s_henkannokiso02.pdf
http://www.civil.kumamoto-u.ac.jp/matsu/geome.pdf

【1】ヘルマート変換

用途

 * 以下の幾何補正に使用
  + 等方性縮尺ひずみ
  + 平行移動
  + 回転ひずみ

変換式

 u =  a・x + b・y + c
 v = -b・x + a・y + d

パラメータ説明

 u,v   : 変換後の座標
 x,y : 変換前の座標
 a ~ d : アフィン変換係数

 * 後述の「2次元アフィン変換」の「a = e」「b = -d」がヘルマート変換となる
 * 座標(u,v)および座標(x,y)をもとに、最小二乗法により算出する
  => a ~ d を求めるためには、最低2点必要(2点 × x-y座標で、未知数 4点を算出)

【2】2次元アフィン変換

用途

 * 以下の幾何補正に使用
  + 異方性縮尺ひずみ
  + 回転ひずみ
  + スキューひずみ

変換式

 u = a・x + b・y + c
 v = d・x + e・y + f
パラメータ説明
 u,v   : 変換後の座標
 x,y : 変換前の座標
 a ~ f : アフィン変換係数
アフィン変換係数 a ~ f について
 * 座標(u,v)および座標(x,y)をもとに、最小二乗法により算出する
  => a ~ f を求めるためには、最低3点必要(3点 × x-y座標で、未知数 6点を算出)
  => 詳細な求め方は、以下の関連記事を参照。
画像処理 ~ 幾何補正 / 2次元アフィン変換編 ~
https://blogs.yahoo.co.jp/dk521123/38069294.html

【3】2次元擬似アフィン変換

用途

 * 以下の幾何補正に使用
  + 2次元アフィン変換
  + 線形ねじれ変換

変換式

 u = a・x・y + b・x + c・y + d
 v = e・x・y + f・x + g・y + h
パラメータ説明
 u,v   : 変換後の座標
 x,y : 変換前の座標
 a ~ h : 擬似アフィン変換係数
2次元擬似アフィン変換 a ~ h について
 * 座標(u,v)および座標(x,y)をもとに、最小二乗法により算出する
  => a ~ h を求めるためには、最低4点必要(4点 × x-y座標で、未知数 8点を算出)
  => 詳細な求め方は、以下の関連記事を参照。
画像処理 ~ 幾何補正 / 擬似2次元アフィン変換編 ~
https://blogs.yahoo.co.jp/dk521123/38106095.html

【4】多項式変換

用途

 * 以下の幾何補正に使用
  + 高次ひずみ

変換式

 u = ΣΣaij x^i-1 y^i-1
 v = ΣΣbij x^i-1 y^i-1

■ 補間方法

 * 長くなったので、以下の関連記事に記載。
画像処理 ~ 補間方法について ~
https://blogs.yahoo.co.jp/dk521123/38080694.html

関連記事

画像処理 ~ 補間方法について ~

https://blogs.yahoo.co.jp/dk521123/38080694.html

C#】画像処理 ~ 幾何補正 / 2次元アフィン変換編 ~

https://blogs.yahoo.co.jp/dk521123/38069294.html

C#】画像処理 ~ 幾何補正 / 擬似2次元アフィン変換編 ~

https://blogs.yahoo.co.jp/dk521123/38106095.html