画像モーフィング特論
ごんぶとになってしまったので変換先画像のpixel (3, 1)の色を決めるには単純な四捨五入でなく重みつき平均を使うことにする.x座標を1/2にして(1.5, 1)という座標を得るが,これを元に(1, 1)のpixel "
" と(2, 1)のpixel "■
" とを0.5:0.5の割合でブレンドした "三
" を使うことにして,次のようになる.
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
... やっぱテキストだと微妙だ(笑 だが原理的にはこれでそこそこ上手くいく.この処理は "bilinear interpolation" と呼ばれる.いわゆる補間法の一種だ*1.
もっと自然な仕上がりにするには「向こう2 pixel両隣」と言うか何と言うか,広い範囲のpixelを使って色を決めるbicubicとか(重みの決め方が微妙),カラー画像ならRGBでなく別の分解を使うとかあるらしい.まぁ詳細は「補間 拡大 画像 site:ac.jp」「interpolation scaling image site:edu」辺りでググるとよろしいかと.Google scholarやCiteseerだとちょっと専門的過ぎてよろしくなかった.学部の授業のレジュメ辺りがちょうどよい.
http://www.doc.ic.ac.uk/~dfg/graphics/graphics.html Third Year and MSc Interactive Computer Graphics Course
http://www.cc.gatech.edu/classes/AY2005/cs4451a_spring/ cs4451A, Spring 2005
*1:「補完completion」ではない.