デジタルC

画像の平行移動
P = (x, y)
D = (dx, dy)
H
P’=P+D
W
H
W
画像をX,Y 方向にそれぞれdx, dy移動すると、
移動後の点の座標
 x'  x  dx

 y'  y  dy
画像の回転

X
r

r
Y

X
Y
回転前の点の座標=(x,y), 回転後の画像の点の座標=(x’,y’)とすると、
cos(   )  cos cos   sin  sin 
sin(   )  cos sin   sin  cos 
 x  r cos

 y  r sin 
x'  r cos(   )  (r cos ) cos   (r sin  ) sin 

 y'  r sin(   )  (r cos ) sin   (r sin  ) cos 
 x'  r cos(   )  x cos   y sin 

 y'  r sin(   )  x sin   y cos 
回転の方法1:元画像 I → 結果画像 I’
元画像の各画素に対して
① その点座標 (x,y) → 回転後の座標(x’,y’)
② 元画像の(x,y)画素の値を回転後の画像
の(x’,y’)の画素に代入する
I’(x’,y’)=I(x,y)
困った問題:
回転した後の画素の座標(x’,y’)は整数ではな
い。
P’
P = (3,4)
困った問題の解決方法:
(x’,y’)に最も近い画素(整数座標値)を回転先
の画素とする。
P’
P = (3,4)
この方法の問題点:
結果画像の全ての画素を埋める保障はない。
(穴を開けることがある)
回転の方法2: 結果画像 I’ ← 元画像 I
回転後の画像の各画素に対して
① その点座標 (x’,y’) → 回転前の座標(x,y)
② 元画像の(x,y)画素の値を回転後の画像
の(x’,y’)の画素に代入する
I’(x’,y’)=I(x,y)
画像の回転
r

Y

X

X
r
Y
回転前の点の座標=(x,y), 回転後の画像の点の座標=(x’,y’)とすると、
x  r cos  r cos(     )  r cos(   ) cos   r sin(   ) sin 

 y  r sin   r sin(     )  r cos(   ) sin   r sin(   ) cos 
 x'  r cos(   )

 y'  r sin(   )
 x  x' cos   y' sin 

 y   x' sin   y' cos 
困った問題:
回転する前の画素の座標(x,y)は整数ではな
い。
P’
P
困った問題の解決方法:
(x,y)に最も近い画素(整数座標値)を回転元
の画素とする。
P’
P