2006 年 3 月 2 日 23 時 17 分

線形補間法


このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。


[写真]


今日紹介するのは線形補間法だ。
線形補間法はバイリニア法よも呼ばれ、存在しない点を、
周辺のピクセルの色を使って算出する方法である。

例えば、電球が 4 つ、四角形に並んでいるとする。
電球を A, B, C, D としよう。
それぞれが適当な色を持って光っている。

A   B
 F   
  E  
     
C   D

A, B, C, D 以外は何もない空間だとすると、
E の位置はどんな色になるだろうか。
おそらく A, B, C, D の色が混ざった
丁度中間の色になると考えられる。

F は、A に近いので、A の影響を強く受け、
D の影響はあまり受けないはずだ。

線形補間は、この考え方を元としている。
求めたい点に最も近い場所にある
4 点を基準にして、その点からの距離に基づいて、
それぞれの点の色の加重平均を求めるのだ。

上の例では、E は (A + B + C + D) / 4 と想像付くが、
F の場合は、重みを考えないといけない。

A と B が F に対してどれほど影響を与えるか考えると、
横方向で考えると、A と B から F までは、1/4, 3/4 の距離だ。
距離が近いほど、影響力が大きいため、
A と B の影響力は距離に反比例し、3/4, 1/4 となる。

てこの原理とか力のモーメントとかと同じような考え方だ。
縦方向も同じ考え方である。
最終的に縦横の影響力の積を求めれば、重みが求まる。

4 点の重みを求めてみると以下のようになる。

Aw = 3/4 * 3/4 = 9/16
Bw = 1/4 * 3/4 = 3/16
Cw = 3/4 * 1/4 = 3/16
Dw = 1/4 * 1/4 = 1/16

重みの合計は丁度 1 になるため、
これを使って加重平均を求めると、以下のようになる。

F = A * 9/16 + B * 3/16 + C * 3/16 + D * 1/16

近傍法よりもコードは複雑になるため、実装は明日にしよう。



Copyright (c) 1994-2007 Project Loafer. All rights reserved.