ねこでじ(Nekodigi)

Nekodigi’s diary

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

補間

【Processing】画像をBicubic補完する

成果物 モザイクのような画像を入力すると、綺麗に補間されます、サンプルを細かくすると本物と同じような結果が得られます。左から、入力、出力結果、正解です。 仕組み Bicubic補完については、前回の記事をご覧ください。 nekodigi.hatenablog.com 基本的…

【Processing】Bicubic補間を実装する。

成果物 入力したのは黒丸で囲われた11x11の点ですが、よく見ないと分からないほど綺麗に保管されています。Bicubic補間は、実際にGIMPなどの画像処理ソフトで標準的に使われています。 仕組み Cubic Hermite Interpolationという三次式を2Dに拡張したもので…

【Processing】滑らかな曲面、B-Spline Surfaceを作る

成果物 www.youtube.com B-Spline曲線を拡張してB-Spline Surfaceを作ってみました。でこぼこの面を綺麗に補完することができました。 仕組み こちらがB-Splineの式 B-Spline Surfaceの式です 非常に似た式になっています。b()はB-Spline基底関数で、グラフ…

【Processing】B-Spline曲線の基底関数がきれいだったので、視覚化してみた。

成果物 www.youtube.com 無駄な点を打たなくていい洗練された基底関数を見つけたので視覚化してみました。前回の元の比べて端がピッタリ1になっています。 コード ループはできないことはないですが、厄介なので別の基底関数を使うのがいいかもしれません。 …

【Processing】N次Bスプライン曲線を表示する。

成果物 www.youtube.com 端の処理で結構時間がかかってしまいましたが、無事に完成しました。もう少し改良できる点もありますが、ひとまず実用に耐えるレベルのものができました。次数の変更だけでなく、先端を繋ぐか開くかの変更もできます。 コード Nth_or…

【Processing】ラグランジュ補間で点を通る曲線を求める

ラグランジュ補間 www.youtube.com 連立方程式での補間に比べて非常シンプルになっています。ただし、ルンゲ現象という発散が起こることがあり、点が多い場合には注意が必要です。今のところDCTでの補完が一番発散が少なかったです。 仕組み こちらの動画で…

【Processing】N個の点を通る曲線を連立方程式で求める。

成果物 www.youtube.com 今回は、前回Pythonで作った連立方程式のプログラムをProcessingで作りました。前回はPythonのライブラリを使っていましたが、今回は、ガウスの消去法と使って同じことを再現しています。 概要 加減法を使っても解けますが、ガウスの…

【Python】N個の点を通る曲線を連立方程式で求める。

成果物 Processingでもやろうと思いましたが、逆行列がうまく求められなかったので、断念しました。これを見て進めてみましたが、結果が揃わず断念… thira.plavox.info ちなみに、私の友達がScratchで実装していました。中を見たら一瞬引いてしまうぐらいの…

【フーリエ変換(DCT)】落書きを周波数情報に変換

成果物 youtu.be 今回は落書きなどの離散データを周波数情報に変換し再度復元するプログラムを作りました。周波数情報をアームを使って、視覚的に表しています。 作り方・コード 今回は、 Processingを使って離散データを作成 ↓ Pythonで離散データを周波数…