知覚画像のダウンサンプリング
-
21-09-2019 - |
質問
それで、ここに私の問題があります:
画像がありますが、その画像は大きい (高解像度) ので、小さい (解像度がはるかに低い) 必要があります。
そこで、単純なこと (ピクセルを 1 つおきに消去する) を実行すると、結果は貧弱に見えます。
そこで、よりインテリジェントなこと (フーリエ変換を使用したローパス フィルター処理とフーリエ空間での再サンプリング) を実行しようとしました。結果は少し良くなりましたが、それでもかなり不十分です。
そこで私の質問ですが、知覚を動機とした画像ダウンサンプリング アルゴリズム (または実装) はありますか?
編集:多くのリサンプリング手法を知っていますが、私のアプリケーションでは、滑らかな画像を生成することよりも、知覚的な特徴を維持することに重点を置いています。
編集2:デジタル信号処理、畳み込み、ウェーブレット変換などについてある程度の知識があると考えて間違いありません。
解決
バイキュービック補間には、一般的には良い十分とみなされているが、ない完璧なソリューションは、それは、ありません人の上にリサンプリングされた画像の特性に依存します。
関連リンク:
私も知りませんでした切れ味も呼ばれていたことをアキュータンスするます。
エイリアシングを単純にダウンサンプリングするときに発生する問題である。
他のヒント
読む本:
OK、それは非常に読み取ります。しかし、理解フィルタの設計が便利になります。
一般的に、W1からの画像をスケーリングするプロセスはW2にH1は、W1、W2、H1、H2は整数であり、H2は、新しいW3を見つけることであるX X、W1及びW2はW3とH1の要因整数H3であるようそしてH2は、W3 X H3サイズで今だようH3の要因、次いでパッド整数(空間への原画像の画素を使用)ゼロで原画像です。これは、紹介による画像の不連続性の高い周波数を使用すると、画像にローパスフィルタを適用し、その新しいサイズ(W2はH2をX)にフィルタリングされた画像を間引くように。あなたのようなサウンドは、すでにこれを実行しようとしているかもしれないが、フーリエ変換するようにフィルタリングは、時間領域で行うことができ、本当に必要はありません。
実際には、私はちょうど説明したプロセスが最適化されている(あなたはあなたが、あなたのアルゴリズムで乗算演算のほとんどを避けることができますので、ほとんどの用語のスケールアップ画像に畳み込みフィルタを適用する場合は、0になることに注意しましょう例。そして、あなたは離れてフィルタリングされた結果の多くを投げてしまうことから、あなたは基本的には、対象画像の各画素のための乗算と加算の一握りで終わるので、それらを計算する必要はありません。トリックは、図にあります係数は使用するうち。)
libswscaleはffmpegのプロジェクトでは、このような何かを、私は信じています。それをチェックアウト:
http://gitorious.org/libswscaleする
他の人が指摘したように、は、エイリアシングアーチファクトの画像が導入を間引く(そして、あなたは明らかに気づきました)。私はあなたの再サンプリングの実装について確認することはできませんが、テクニックは、使用するウィンドウのサイズや他の実装の詳細に依存する興味深い落とし穴があります。
パスカルは正しい。イメージやご希望により異なります。いくつかの要因:
- 鋭いエッジを維持する
- 色の保存
- アルゴリズムの速度
これは あなたの方法.
他の何人か:
高解像度の画像には低解像度のデバイスでは検出できないエッジが存在するため、リサンプリング ダウンすると、たとえば低解像度のカメラを使用するよりも鮮明な結果が得られる場合があることに注意してください。
サイドノート:多くのアルゴリズム (特に最近傍アルゴリズム) は、整数単位でスケールダウンする場合に最適化できます (例:4 または 6 で割ります)。
推奨ImageMagickの "汎用" のダウンサンプリングの方法をここで説明されています:のhttp:// WWW .imagemagick.org /使用/フィルター/ニコラ/#ダウンサンプリングする
あなたは、コンテンツを意識サイズ変更アルゴリズムを試みることができます。参照してください: http://www.seamcarving.com/する
ペイントモノ (OS フォーク ペイント.NET) を実装します スーパーサンプリングアルゴリズム 画像のダウンサンプリングについてはこちら: http://code.google.com/p/paint-mono/source/browse/trunk/src/PdnLib/Surface.cs?spec=svn59&r=59#1313