ハイトマップを拡大するときに補間アーティファクトを回避するにはどうすればよいですか?


9

高さマップをアップスケールするためにバイキュービック補間アルゴリズムを使用していますが、ピクセル境界の周りのアーティファクトに気づいています。ただし、単純な3次補間(スプライン)を使用すると、これらのアーティファクトは表示されないようです。

キュービックスプラインとは異なり、バイキュービック補間では2次導関数の連続性が保証されないためでしょうか?もしそうなら、連続的な二次導関数を持つ既知のアルゴリズムはありますか?そうでなければ、これらのアーティファクトに対処する方法はありますか?

線形補間(ピクセル境界を表示): ここに画像の説明を入力してください

バイキュービック補間(ピクセル境界で見えるアーティファクト): ここに画像の説明を入力してください

キュービック補間(顕著なアーティファクトなし): ここに画像の説明を入力してください

いくつかのバイキュービック式を試したところ、同じ結果が得られました。ここではいくつかの例を示します。


私にはバイキュービックバージョンが最適です。高周波数を維持し、見栄えもよくなります。あなたはアーティファクトがあると言いますが、それらはマイナーであり、スプラインがあなたに与えている恐ろしい損失の価値はありません。私の意見も。
v.oddou 2014

@ v.oddouあなたが説明する高い周波数のフィーリングは部分的にアーティファクト自体に起因すると思います。この画像ではうまく表示されていませんが、地形は実際には一部の角度から見て、太陽の位置に応じて、角張っています。法線やスロープが表示されると、さらにはっきりします。そうは言っても、Bスプラインが地形を非常に滑らかにする(これ以上鋭いピークはない)ことは事実です。私はまだより良い代替案を探しています。
デッキ

回答:


4

改善されたノイズに関するケン・パーリンの論文で、彼は非常に類似した問題について述べています。元のノイズペーパーで使用されていた3次関数は、その導関数の特性により、整数境界で不連続性を作成します。彼の改訂された論文では、6t^5 - 15t^4 + 10t^3これらの問題に対処するためにのインタープラントを提案しています。


コードでの使用方法がわからない場合でも、これは興味深いように思えます。これを探ります。
デッキ

3

いくつか検索を行ったところ、Bスプラインには連続したC2があることがわかりました。私はそれを実装しましたが、近似ではなく補間ではありません(サンプルを通過しません)。

B-スプライン(近似): ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.