コミュニティアイコン プチコン 非公式コミュニティ トピック

アバター
moh6an ◆6Z.AzgCiEzTT
2023/4/9 18:54
情報交換
FFT全然わからなくて泣きそう
FFTを使って二次元画像処理したい
ぼかし処理をFFTを使ってできると聞いて
水平及び垂直にライン毎にFFTをかけてみたんだけど
なぜかIFFTで戻した画像は上下反転して重なった画像になってる

コメント

アバター
moh6an 2023/4/9 18:58 ◆6Z.AzgCiEzTT
上下反転して重なってしまった出力はこちら(右下端)
FFTをかけた画像の端部を削るとボケると聞いていたのだが・・・
アバター
こういち 2023/4/10 12:12 ◆ou0jbJnEJ0Kb
↑のコメントは恐らく例の現象とは関係ないです。
僕も画像が重なる現象には見覚えがあるので。

https://twitter.com:443/hikarinichiwo/status/1400444113426653185
アバター
こういち 2023/4/10 12:21 ◆ou0jbJnEJ0Kb
手っ取り早い解決策としては「FFT用の配列を縦横2倍の大きさにして、空いた要素を0で埋める」だと思います。
なんとなくですが、「巡回畳み込み」に近しいことが起こってる気がするので。
正直僕もこの辺理解してないので苦肉の策です。2倍せず綺麗にフィルタを掛ける方法があるような気がするので、僕よりFFTに詳しい人に聞くのがいいかも知れません。

…よく考えたら2倍にする方法も罠がありそうな気がするので、いっそ最初から線形フィルタ(窓関数法等で設計できるらしい)でやる方が楽かも。
アバター
こういち 2023/4/10 12:36 ◆ou0jbJnEJ0Kb
もう一つの可能性として、FFTで問題になりがちな「折り返し」が起こってる可能性ですね。
FFTは周期的な波形に対して行うものですが、周期的でない波形は無理やり「周期的である」ものとして処理されます。
その際、両端が急激に変化することで本来存在しないはずの周波数成分が出ることがあります。
その折り返しが悪さしてる可能性。
これの場合、窓関数をゴニョゴニョすれば解決すると思います。(雑)

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -