Re: [問題] fft和ifft已回收

看板MATLAB作者 (juzn)時間14年前 (2010/04/17 20:46), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串3/4 (看更多)
※ 引述《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
文章代碼(AID): #1BoQsymG (MATLAB)
文章代碼(AID): #1BoQsymG (MATLAB)