画像モーフィング特論
前回でちらっと匂わせたのだが,「x座標を2倍に」という変換をするとき,実際に元の画像のpixelのx座標を2倍にして変換先画像のpixelを決定していくとギャップが生じてしまう.ここは実は逆関数を使う必要がある.先画像の各pixelについて「x座標を1/2にして」元画像のどのpixelに対応していたのかを調べ,そこに従って色を決める.すなわち先画像の(x, y)=(2, 1)なるpixelの色を決める基準は元画像の(1, 1)で...という具合だ.
すると当然先画像のpixel (3, 1)は元画像のpixel (1.5, 1)で決めるのか? 何じゃそりゃ.... ということになる.ここではとりあえず小数点第1位の四捨五入で(2, 1)から決めることにしよう.
12345678 12345678 1 ■ ■ 1 ■■ 1 2 ■ ■ 2 ■■ 2 3 ■ ■ 3 ■■ 3 4 ■ ■ 4 ■■ 4 5 ■ ■ 5 ■■ 5 6 ■ ■ 6 ■■ 6 7 ■ ■ 7 ■■ 7 8 ■■ 8 ■■8 12345678 12345678
千切れてはいない.しかし四捨五入の結果,先画像のpixel (3, 1)と(4, 1)の両方とも元画像のpixel (2, 1)から色が決まり,"■
" で塗りつぶした点が増えて線の太さが倍になってしまった.