画像ダウンサンプリング用のローパスフィルターパラメーター


11

私は倍に画像をダウンスケールする必要水平及び垂直(、 <)。sバツsysバツsy1

ダウンサンプリングする前に、有限のローパスフィルターを使用したいと思います。×メートル

と関数として取得するには、どのようにローパスフィルターパラメーター(およびガウス)を決定すればですか?メートルσsバツsy

具体的には、の場合に興味深いです。sバツ=sy=1/2


関連した質問[1は、ここで尋ねた] [1] [1]:stackoverflow.com/questions/3149279/...
isrish

1
おかげで、この質問は、ダウンスケーリング係数の関数としてフィルターパラメーターを決定する方法についてではありません。
Ben-Uri

どれだけフィルタリングしたいですか?あなたの目標は何ですか?

1
エイリアシングを避けるために、ダウンサンプリングの前にローパスフィルターを使用したいと思います。エイリアスを使用せずに、できるだけ多くの情報を保持したい。
Ben-Uri、

1
フィルターのフーリエ変換を見て、サンプリングされた結果のナイキスト限界よりも低い周波数を維持しながら、エイリアシング周波数をどれだけうまくカットできるかを知る必要があります。ガウスの変換は別のガウスです。つまり、鋭いカットオフはありません。ほとんどの場合、より良い選択があります。
Mark Ransom 2013

回答:


4

両方の画像間のナイキスト周波数の変化について考える必要があります。元の画像のナイキスト周波数がNの場合、ダウンサンプリングされた画像はより低いナイキスト周波数xNを持ちます。ここで、xは最終画像と最初の画像の間のサイズの比率に関連しています。ダウンサンプリングする前に、元の画像のxNよりも高い空間周波数を削除する必要があります。

画像空間のガウスのパワースペクトルは、周波数空間のガウスでもあります。しばらくの間2番目の次元を無視すると、画像空間のガウスはexp(-x ^ 2 / s ^ 2)として定義されます。ここで、xはピクセルを表します。これはexp(-w ^ 2 * s ^ 2)として周波数空間にマッピングされます。ここで、wは周波数です。シグマパラメーター(s)は、画像空間の広いガウスが周波数空間の狭いガウスに対応することを示しています。

ダウンサンプリングされた画像のナイキスト周波数に対応する周波数で、周波数空間で非常に低い値を生成するシグマパラメーターを選択します。


右ですが、これを離散たたみ込みカーネルに変換するにはどうすればよいですか?(これが問題でした)
Ben-Uri

編集plsを参照してください...
NoNameNo 2013

ありがとう、しかし、出力結果に含まれるべき最大周波数の関数としてシグマを見つけるための式はまだありますか?
Ben-Uri

数式がわかりません。
NoNameNo 2013

1

mσに基づいて選択されることがすでに指摘されています。メートルσ

最適に選ぶ方法を考えるのに時間を費やしました。ここに私の考慮事項があります。TL; DR:たぶん私はいくつかのミスを犯したが、σ 23.37ダウンサンプリング係数2によるのために良い選択のように見えますが。σσ23.37


0

大きなダウンサイズ(2x、3x、4xなど)を行っていた場合は、ピクセルの平均化を行って、適切なアンチエイリアスを実現できます。ビデオゲームをより鮮明に見せるために、アンチエイリアスが追加のCPU / GPUを多く使用するのは、このためです。

1000x1000から707x707の画像(スケールファクターの単なる例)に移行するので、エイリアシングが問題になる可能性があるのは正しいことです。

ありがたいことに、これは多くの人がすでに遭遇し、解決するためにかなりの作業を行っている問題です。多くの場合、バイキュービック補間が適しています。さまざまな補間方法の例をいくつか示します。

http://www.compuphase.com/graphic/scale.htm

OpenCVのサイズ変更には、これらのメソッドがいくつか組み込まれています。

http://opencv.willowgarage.com/documentation/cpp/geometric_image_transformations.html#cv-resize

これらの補間方法のいくつかをすでに試していて、それらがうまく機能しない場合は、不足を示すサンプルソース画像とサンプル結果画像のようなものを投稿してください。これは、問題を診断して適切な解決策を考え出すために必要です。


ピクセル平均化は高速ですが、品質の理想的なソリューションではないことに注意してください。ピクセル平均化は、効果的に矩形フィルターを適用します。周波数空間では、これはナイキストの高調波でゼロ交差で振動するsinc関数を乗算することと同じです。これには2つの問題があります。1。高周波は減衰しますがそれほど減衰しません。(1)と(2)の両方がエイリアシングに寄与する可能性があります。
タン

0

良い答えはありませんが、次の2つの方法を試してみてください。

  • σσ
  • 細かい信号サンプリング計算を実行する場合は、フーリエ変換を使用しないのはなぜですか。画像のFFTを取り、ターゲットサイズに対応するサブパーツのみを保持し、変換を反転します。これにより、スペクトルにアンチエイリアスフィルターが適用されます。アーティファクト(波紋、リンギング)が多すぎる場合は、ターゲットサイズに対応する幅のガウスフィルターのスペクトルに適用します。

0

場合s=1/2

[121]T[121]

あなたは間違っている。0.25の倍率を忘れましたか?...もしそうなら、これは1 / sqrt(0.5)ではなくs = 1/2の一般的な選択です。
Ben-Uri

@ Ben-Uriの見解に関するコメントはありますか?長すぎるため、システムはこの投稿に低品質のフラグを立てています。修正または削除を検討してください。
Peter K.

1
ss2

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