dポイントプレゼントキャンペーン実施中!

現在画像処理のバイキュービック補間のプログラムを作成しているのですがうまくいきません。
手元にソースがないのでお見せできないのですが。

手順としては次のように行っています。
(グレースケール画像)
・点Pの周囲の16画素の色と座標を取る
・点Pと周囲の16座標の距離dを配列に入れる。
 (計算式はc*c = a*a + b*bの直角三角形の定理を使用しています)
例)P00とPの距離
a = Px - P00x … xの距離
b = Py - P00y … yの距離
  d = sqrt(a*a +d*d)

・距離dにより重みWを決定する。
0 <= d <= 1 W = 1 - 2・d・d + d・d・d
1 < d <= 2 W = 4 - 8・d + 5・d・d + d・d・d
2 < d W = 0

・各重みと各距離をかけてそれらを合計したものが色になる。
SUMW += W * d[i]
Color = SUMW

以上のような方法で行っています。
バイキュービックとしてこれはあっているのでしょうか?
プロラムした結果としては
アフィン変換後の結果はTVの嵐のような画像になってしまいます。
アフィン変換を角度0、移動0にすると、エッジのような画像が出来上がります。

なにが初心者でも画像処理がわかりやすい書籍等があったら教えていただけると助かります。
よろしくお願いいたします。

A 回答 (2件)

回答ではないのですが。


有名な、OpenCvと言う画像処理用ライブラリ使ってみたらどうですか。
    • good
    • 0

たぶん式が違ってます


1 < d <= 2 のとき W = 4 - 8・d + 5・d・d - d・d・d
ではないでしょうか。

とりあえず、式が出てきたらエクセルか何かで、dを0~2まで0.05きざみぐらいでWを計算してグラフを描いてみることをお勧めします。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!