[英]Trying to run simple PIL python example, can't convert jpeg to float
所以我寫了一個簡單的python腳本
from PIL import Image
from pylab import *
im = array(Image.open('sample.jpg'))
imshow(im)
我從IDLE得到這個錯誤
Traceback (most recent call last):
File "/home/michael/Dropbox/OpenCV/greyscale.py", line 5, in <module>
imshow(im)
File "/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.py", line 2722, in imshow
imlim=imlim, resample=resample, url=url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/matplotlib/axes.py", line 7091, in imshow
im.set_data(X)
File "/usr/local/lib/python2.7/dist-packages/matplotlib/image.py", line 418, in set_data
raise TypeError("Image data can not convert to float")
TypeError: Image data can not convert to float
基本上說我不能隱藏我的形象漂浮,任何人都知道我失蹤了什么
我知道這會很晚才到,但我想我應該回答以防其他人遇到同樣的問題。 我遇到了同樣的問題,問題是我加載的圖像在項目文件夾中不存在。所以你需要檢查sample.jpg
存在,並且在使用它之前它已正確加載。
if os.path.isfile('sample.jpg'): im = array(Image.open('sample.jpg'))
if im == None or im.size == 0:
print 'Image loaded is empty'
sys.exit(1)
你有什么是接近的。 查看imshow文檔,您需要傳遞一個Image或一個數據數組。
這應該工作:
from PIL import Image
from pylab import *
im = Image.open('sample.jpg')
imshow(im)
這是imshow()所期待的:
“X可以是浮點數組,uint8數組或PIL圖像。”
這里有更多細節:
http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.imshow
嘗試這個
>>> import matplotlib.pyplot as plt
>>> plt.imshow(im.reshape(im.shape[0], im.shape[1]), cmap=plt.cm.Greys)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.