5 幾何学的変換

2014/12/2
5
幾何学的変換
5 幾何学変換
幾何学変換 = 画像を変形させること
(1)
I ' ( x ' , y ' ) = I ( x, y )
但し、
5.1 線形変換
5.2 アフィン変換
 x ' = f X ( x, y )

 y ' = f Y ( x, y )
5.3 同次座標
(2)
つまり、画像Iの(x, y)にある点を画像I’の(x’, y’)に移動する
ことである。
5.4 平面射影変換
変形の種類・効果を決めるのは、式2で表す関数である。
5.5 再標本化
1
画像領域の平行移動
5.1 線形変換
( x' , y ' )
Y
画像の点の移動を規定する関数 f X ( x, y ), fY ( x, y )
は x, y に関する「線形式」である場合、画像の幾何学
的変換は「線形変換」といい、
1 平行移動
2 拡大・縮小
3 回転
4 スキュー(せん断)
5.2 アフィン変換
を含む。
t x 
T = 
t y 
( x, y )
 x ' = x + tx

 y' = y + t y
O
2
左上の角と右下の角はそれぞれ( x1 , y1 ) ( x2 , y2 )
の領域を水平方向に t x ,垂直方向に t y 平行
移動するために,その領域内の各画素に対
して、次のように処理するとよい。
I ' ( x + t x , y + t y ) = I ( x, y );
Y
x1 ≤ x ≤ x2 , y1 ≤ y ≤ y2
X
画像領域の拡大・縮小
( x' , y ' )
( x, y )
k x 
K= 
k y 
 x' = kx x

 y' = k y y
( x1 , y1 )
( x2 , y 2 )
O
X
1
2014/12/2
左上の角と右下の角はそれぞれ ( x1 , y1 ) ( x2 , y2 ) の
領域を水平方向にk x ,垂直方向に k y 倍拡大・縮小
するために,その領域内の各画素に対して、次の
ように処理するとよい(はず!)...
I ' ( k x x, k y y ) = I ( x, y );
x1 ≤ x ≤ x2 , y1 ≤ y ≤ y2
画像拡大・縮小処理の特徴:
1.画素数(面積)が変化する
処理時の注意: 結果画像の各画素に対
して処理を行うべき。
次のように処理するとよい。
I ( x' , y ' ) = I ( x ' / k x , y ' / k y );
水平方向、垂直方向それぞれ3倍拡大の例
(3,3)
(1,1)
k x x1 ≤ x' ≤ k x x2 , k y y1 ≤ y ' ≤ k y y2
( 2,2)
(6,6)
画像拡大・縮小処理の特徴:
割算の結果は小数になることがある。
I ( x' , y ' ) = I ( x ' / k x , y ' / k y );
3
画像領域の回転
Y
 x ' = x cos θ − y sin θ

 y ' = x sin θ + y cos θ
k x x1 ≤ x' ≤ k x x2 , k y y1 ≤ y ' ≤ k y y2
例:縦横それぞれ1.5倍拡大
( x, y )
?
?
? ?
?
( x' , y ' )
解決すべき問題:実数の座標の「画素
値」の入手法
( x, y )
O
X
Digital Image Processing
6/20
2013
回転の方法1:元画像 I → 結果画像 I’
元画像の各画素に対して
①
その点座標 (x,y) → 回転後の座標(x’,y’)
②
元画像の(x,y)画素の値を回転後の画像
の(x’,y’)の画素に代入する
I’(x’,y’) ←
I(x,y)
問題点:画像拡大処理と同様 (1)小数点座標
(2) 結果画像の全画素が処理される保証はない。
2
2014/12/2
Digital Image Processing
6/21
2013
4
せん断(スキュー=skew)
Y
( x, y )
( x' , y' )
 x ' = x + sy

 y' = y
O
X
結果画像の各画素を処理すると,このようになる
5.2
アフィン画変換
平行移動、拡大縮小、回転アフィン、せん
断変換などを組み合わせると、画像座標に
対する線形変換となる。
元画像での座標値
整数値
限ら
ない
 x' = ax + by + t X

 y ' = cx + dy + tY
0
1
x
2
3
X
3
2014/12/2
I(L)
I(x)
I(R)
画素値
L
x
R
X
1− | x |; x ≤ 1
f1 ( x) = 
0; otherwise
0
1
x
2
X
3
I ( x) = I ( L) f1 ( x − L) + I ( R ) f1 ( x − R )
Digital Image Processing
6/16
① I A = (1 − p ) I11 + pI12
I11
p
②
I12
q
③
I 21
2013
I ( x, y ) = (1 − q ) I A + qI B
I B = (1 − p ) I 21 + pI 22
I 22
4
2014/12/2
座標値
L2
0
1
x
2
3
X
L1
x
R1
R2
X
0.5 | x |3 − x 2 − 0.5 | x | +1; if | x |<= 1
 1
11
f 3 ( x ) = − | x |3 + x 2 − | x | +1; if 1 <| x |<= 2
6
6

otherwise
0;
I ( x) = f 3 ( x − L2 ) I ( L2 ) + f 3 ( x − L1 ) I ( L1 ) + f 3 ( x − R1 ) I ( R1 ) + f 3 ( x − R2 ) I ( R2 )
①
②
③
⑤
④
1.画像を回転する,あるいは拡大するとき,整数で
ない座標の点の画素値を計算する必要性を説明し
なさい。
2.X=0, X=1, X=2, X=3の位置にある画素の値は、それ
ぞれ、100, 200, 50, 200とする。X=1.2, 1.4, 1.6, 1.8の
ところの画素値の三種類の補間法(最近傍補間、
線形補間と3次補間)で計算しなさい。
5