アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在画像処理プログラムをC言語で作成しているのですが、画像の拡大縮小、
回転、平行移動の機能をもたせたアフィン変換のプログラムで、画像の濃度値
の補間方法を最近傍法、線形補間法、三次補間法の3つから選べるようにして
います。
プログラムはほぼ完成し、ためしに画像の拡大縮小、回転、平行移動を含む様
々な処理をやらせてみましたが、目で結果を確認する限り、ほぼできています。

しかし、三次補間法を使用してある画像の縮小をやったときに、画像の縮小は
できているのですが、画像処理ソフトPhotoshop5.5を使用したものと微妙に結
果が異なってしまいます。これが、後々の処理に効いてくるため、最終的な結
果に大きく影響します。

三次補間法では、対象画素の近傍の16個の濃度値で標本化関数の近似によっ
て濃度値を計算するという一般的によく用いられている方法をとっています。
これを、近傍の16個の濃度値を用いて、標本化関数の近似ではなく、標本化
関数を用いて補間濃度を計算してみると、目で結果を確認する限り、少し
Photoshop5.5に近づきました。

他にも、自分なりにいろいろ調べた結果、画像の縮小だけであれば、一度、変
換前の画像サイズと変換後の画像サイズの最小公倍数に拡大して、最小公倍数
分の画素の濃度値の平均をとっていくという手法もわかりました。
しかし、Photoshop5.5では、補間方法はnearlest,bi linear,bi cubicとなって
おり、明らかに最近傍法、線形補間法、三次補間法の3つを用いています。私
の予想では、三次補間法の濃度値の補間法が違うのではないかと考えておりま
す。

どなたか、Photoshopに限らず、一般的な画像処理ソフトなどで用いられている
画像サイズの変更の内部処理について教えていただけないでしょうか。

A 回答 (1件)

GIMPであればソースコードが公開されていますので、ソースコードを追いかけてみてはいかがでしょうか?



参考URL:http://www.gimp.org/
    • good
    • 0

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