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

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

コメント

アバター
moh6an 2023/4/10 17:02 ◆6Z.AzgCiEzTT
よくわからないですが、いろいろ試してみます
まずは窓関数ですね
アバター
こういち 2023/4/10 21:49 ◆ou0jbJnEJ0Kb
正直ボクも理解しきれてないんですよね。(C言語/CUDA使いなので窓関数法でゴリ押しても実用的な速度出ると思って正攻法は早々に諦めました)

あまさとしおんさんのトピックにも載せましたが、ヒサンちゃんのところの記事とか参考になるかもです。
https://qiita.com/Hisan_twi/items/8534e7e104d60f6ac86a
アバター
moh6an 2023/4/10 22:11 ◆6Z.AzgCiEzTT
現状FFTを使っても通常のガウスぼかしより遅くなってしまっていて
利用法としてはあまり価値を見いだせない状況ですが
なんとかやってみます。
アバター
moh6an 2023/4/10 22:20 ◆6Z.AzgCiEzTT
窓関数使ってみましたが、IFFT出力がスポットライトみたいになっただけでした
矩形以外の窓はみんな同じような出力
アバター
こういち 2023/4/10 22:52 ◆ou0jbJnEJ0Kb
あー。
ガウスぼかし速いですからね。フィルタサイズが小さいので素直に書いても速い。多分ARYOP使うことでかなり速くなりそう。
多分FFTが真価を発揮するのはハイパスフィルタの方ですね。
そしてハイパスフィルタが輝くのはおそらく風景写真…
アバター
moh6an 2023/4/10 23:07 ◆6Z.AzgCiEzTT
周波数フィルタリング (Spectral Filtering)【画像フィルタリング その2】 | CVMLエキスパートガイド https://cvml-expertguide.net/terms/cv/image-filtering/spectral-filtering/#31_%E3%83%AD%E3%83%BC%E3%83%91%E3%82%B9%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%81%A8%E3%83%8F%E3%82%A4%E3%83%91%E3%82%B9%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%81%AE%E7%B5%90%E6%9E%9C%E7%94%BB%E5%83%8F
これを見てみたら、象限の入れ替えが必要みたいな事が書いてあった
ループシフト関数使えばできるかも!
アバター
moh6an 2023/4/10 23:19 ◆6Z.AzgCiEzTT
ビンゴでした!
苦労してぼかし処理ができたけど、あんまきれいにボケませんね・・・
アバター
moh6an 2023/4/10 23:40 ◆6Z.AzgCiEzTT
モノトーンでやってもガウスぼかしより遅いorz
アバター
moh6an 2023/4/10 23:41 ◆6Z.AzgCiEzTT
メモリも滅多めたに使う上に2の累乗幅でしかつかえないときたもんだorz
アバター
moh6an 2023/4/11 7:27 ◆6Z.AzgCiEzTT
結局こういちさんの最初の返信で問題解決してた(前後入れ替え≒ループシフト)
アバター
こういち 2023/4/11 7:52 ◆ou0jbJnEJ0Kb
いや、まさかそれで解決できるとは思ってなかったです(前同じ現象に遭遇したときもその辺意識したはずなんですけどね)
アバター
こういち 2024/1/19 22:39 ◆ou0jbJnEJ0Kb
これはRwiiugさんのHidelike GBのタイトル画面(サイズが小さめでグレースケールなのが都合良かったので拝借)
アバター
こういち 2024/1/19 22:41 ◆ou0jbJnEJ0Kb
これは5x5のガウシアンフィルタを256倍したもの(フィルタの中央が0,0に来るよう平行移動してある)
アバター
こういち 2024/1/19 22:42 ◆ou0jbJnEJ0Kb
元画像をFFTしたもの(Real)
アバター
こういち 2024/1/19 22:43 ◆ou0jbJnEJ0Kb
元画像をFFTしたもの(Jmaginary)
アバター
こういち 2024/1/19 22:44 ◆ou0jbJnEJ0Kb
ガウシアンフィルタをFFTしたもの(Real)
アバター
こういち 2024/1/19 22:54 ◆ou0jbJnEJ0Kb
なんか虚部はFFMpegが撮ってくれなかった。
注意点として、象限の入れ換えは行っていないのと、縦横サイズがタイトル画面のサイズ+フィルタのサイズより大きくなるようにしてる。
アバター
こういち 2024/1/19 22:55 ◆ou0jbJnEJ0Kb
これを要素毎に掛け算(複素積)する。
アバター
こういち 2024/1/19 22:56 ◆ou0jbJnEJ0Kb
要素毎に掛け算(複素積)する(虚部)
アバター
こういち 2024/1/19 22:57 ◆ou0jbJnEJ0Kb
そしてIFFTして、ピクセル数/256を掛けてやったものがこちら。

…なんか。微妙。
ROUND掛けてないからかな。
NTT(高速数論変換)が欲しい。

コメントを書く

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

- WEB PATIO -