Re: [問題] fft和ifft已回收
※ 引述《cdm3201 ()》之銘言:
: ※ 引述《likewind88 (你是另一個我)》之銘言:
: : 剛剛做了一個小測試,如下所示:
: : clear all
: : pic=[30 55 60;
: : 20 48 76;
: : 87 39 57];%原影像
: : imwrite(uint8(pic),'original.gif');%以uint8格式儲存,存成不壓縮的gif格式
: : ,不要存成jpg
: : imshow('original.gif')
: : Fpic = fftshift(fft2(pic));
: : pic1=ifft(Fpic);
: pic1=abs(fftshfit(ifft2(Fpic)));
上面這行程式不正確 改成下面那樣就對了
pic1=ifft2(ifftshift(Fpic));
要注意的是 做了fft2以後 如果又用fftshift
那要反轉換前 需要先使用 ifftshift 把資料移回正確的位置
然後再使用ifft2即可得回原圖。
: 如果只是單純轉回來(沒要在頻域做處理的話)
: Fpic = fft2(pic);
: pic1 = ifft2(pic);
: imshow(pic1);
: 另外3by3的圖也太小了吧 = =
: 只接看變數應該會比較快
: 總之一句話,原po忘記打ifft2的"2"了
: 另外小弟fft的觀念也是一知半解
: pic1=abs(fftshfit(ifft2(Fpic)));
: 這部份也是不知所云
: 有高手可以點一下嗎? 謝謝。
低手試著點一下錯誤
pic1有四個錯誤 1. fftshift拼錯
2.應該用的是 ifftshift
3.應該先做ifftshift再做ifft2
4.abs是多餘的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.44.201.197
→
04/18 12:11, , 1F
04/18 12:11, 1F
討論串 (同標題文章)