ねこでじ(Nekodigi)

Nekodigi’s diary

学習中の気づきをまとめています。応援よろしくお願いします

【Processing】Bicubicで画像の補完をするコードの不具合を解決し、さらに改良する。

成果物

f:id:Nekodigi:20200806233538p:plain
Bicubic補完が非常に優秀で、30回ぐらい使っているうちに、改良点がたくさん思いついたので、修正しておきました。古いバージョンのものを既に組み込んだものについては、ご容赦ください。

変更点

ただの関数でしたが、クラスにすることで、重複するデータを保存し使いまわせるようにしました。ピンポイントで調べたいことが多かったので、任意の一点での値を調べられるようにしました。実は、画像データをそのまま制御点に割り当てると、足りなくなってしまいます。これは、メッシュのマス目より、頂点が多いことに似た原因で発生しています。これを解決するために、サンプリングする点を0.5ピクセルずらし、はみ出た部分を近いピクセルで置き換えることで再現しています。

コード

Image Bicubic V2という名前で追加しています。
github.com