Petitverse
ゲストさん (
ログイン
)
ログイン
コミュニティ内検索
コミュニティ一覧
Petitverse ご利用ガイド
Petitverse からのおしらせ
プチコン 非公式コミュニティ
トピック
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:08 ネタバレ
◆ou0jbJnEJ0Kb
正直今どういう処理を行ってるのかイマイチ掴めてないのでFFTの基本から解説します(恐らく症状とはあまり関係ないので読まなくても特に問題ないです)
要素数Nの波形をFFTした場合、N/2の要素までが周波数成分になります。
残りの要素は何かと言うと「負の周波数」になります
負の周波数は、FFTの計算で複素数を使ってるので、それを実数に適用した場合の辻褄合わせのようなものです。
コンピュータでは負のインデックスを扱えないため、負の周波数とか言いながら正の要素数になるわけですが、画像処理ではきちんと負の周波数になるように。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は周期的な波形に対して行うものですが、周期的でない波形は無理やり「周期的である」ものとして処理されます。
その際、両端が急激に変化することで本来存在しないはずの周波数成分が出ることがあります。
その折り返しが悪さしてる可能性。
これの場合、窓関数をゴニョゴニョすれば解決すると思います。(雑)
1
2
コメントを書く
こちらは「プチコン3号」「プチコンBIG」など、
プチコンシリーズ
に関する話題を扱った
コミュニティです
プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
ユーザー登録なしで書き込みができます
秘密の合い言葉は成りすましの防止 (
トリップ機能
)、書き込みの編集時の本人認証に使用します
秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります
normal
happy
like
surprized
frustrated
puzzled
画像
ネタバレ
投稿する
-
WEB PATIO
-