1. 程式人生 > >python 'PngImageFile' object has no attribute 'shape'

python 'PngImageFile' object has no attribute 'shape'

我在生成詞雲是匯入圖片的時候冒出來這麼個問題,在網上搜了一下,沒有看到解決方法(也許是我的搜尋姿勢不對)

部分程式碼如下,

img = Image.open(path)
wc = WordCloud(
    background_color='white',
    width=1000,
    height=300,
    mask=img,
    font_path=font,
    stopwords=stopword
).generate_from_text(string)#繪製圖片

報錯的中文解釋為:'屬性' pngimagefile 物件沒有形狀    這句話我也不是很懂

不過我選擇換一個圖片匯入方式,

img = plt.imread(path+r'\22.png')

他給我換了個報錯方式,

 UserWarning: mask image should be unsigned byte between 0 and 255. Got a float array

  warnings.warn("mask image should be unsigned byte between 0"

不過這次我認識了,所以我機智的改了將圖片改成陣列

img_array = np.array(img)

結果他還是報那個錯,然後我又改回了原來的圖片匯入方式,

img = Image.open(path) #開啟圖片
img_array = np.array(img) #將圖片裝換為陣列
wc = WordCloud(
    background_color='white',
    width=1000,
    height=300,
    mask=img_array,
    font_path=font,
).generate_from_text(string)#繪製圖片

然後他就成功了,他就有用了,哈哈哈哈!

具體原因我也不太清楚,歡迎大家解釋,指正。