我試圖採取python中的圖像的fft,改變轉換後的圖像,並採取反向fft。具體來說,我有一張我想要轉換的網格圖像,然後將所有圖像轉換爲中心,狹窄的垂直狹縫,然後進行反轉。Python代碼爲基本的網格圖像fft
我與現在的工作,因爲沒有改動變換平面代碼:
import os
os.chdir('/Users/terra/Desktop')
import Image, numpy
i = Image.open('grid.png')
i = i.convert('L') #convert to grayscale
a = numpy.asarray(i) # a is readonly
b = abs(numpy.fft.rfft2(a))
j = Image.fromarray(b)
j.save('grid2.png')
截至目前,我收到一條錯誤消息:
回溯(最近通話最後一個) : 文件「/Users/terra/Documents/pic2.py」,第11行,在 j.save('grid2.png') 文件「/Library/Frameworks/Python.framework/Versions/2.7/lib/python2 .7/site-packages/PIL/Image.py「,第1439行,保存 save_handler(self,fp,filename) 文件」/ Libr ary/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL/PngImagePlugin.py「,第506行,在_save中 引發IOError,」無法將模式%s寫入PNG「%模式 IOError:不能將模式F寫成PNG
我對編程和傅立葉變換非常陌生,所以我在網上找到的大多數相關的線程都在我的頭上。非常感謝非常具體的幫助。謝謝!
在Python 2.5中,我沒有收到此代碼的錯誤消息。 – Bemmu 2013-03-21 04:03:51
風格化,但我建議您不要將變量名稱'i'和'j'用於除整數索引變量之外的任何內容,例如用於遍歷範圍或循環。 – Patashu 2013-03-21 04:13:29
您可以將您的代碼複製並粘貼到控制檯中,然後編輯您的問題以包含整個生成的回溯? (如果代碼真的是'a = numpy.asarray('i')'或其他東西,但我不確定哪一行是第四行,我可以想辦法觸發錯誤消息。) – DSM 2013-03-21 04:25:17