2013-05-23 9 views
16

पर मोड एफ नहीं लिख सकता है मैं एक नई छवि बनाने/सहेजने के लिए एक jpg छवि ले रहा हूं और numpy के fft2 का उपयोग कर रहा हूं। हालांकि यह इस त्रुटिपीआईएल जेपीई

"IOError: cannot write mode F as JPEG" 

वहाँ जनहित याचिका में सीएमवाइके और जेपीईजी फ़ाइलें के साथ कोई समस्या है फेंकता है ???

p = Image.open('kibera.jpg') 
bw_p = p.convert('L') 
array_p = numpy.asarray(bw_p) 
fft_p = abs(numpy.fft.rfft2(array_p)) 
new_p = Image.fromarray(fft_p) 
new_p.save('kibera0.jpg') 
new_p.histogram() 

उत्तर

31

आरजीबी करने के लिए छवि परिवर्तित प्रयास करें:

... 
new_p = Image.fromarray(fft_p) 
if new_p.mode != 'RGB': 
    new_p = new_p.convert('RGB') 
... 
+3

क्या होगा अगर एक छवि ग्रेस्केल में है? – cerebrou

+0

वास्तव में, यह भी काम करता है। – cerebrou

+2

टक्कर, क्या होगा यदि मैं ग्रेस्केल के रूप में सहेजना चाहता हूं? – Hakaishin