我被困在 Python 3 中練習圖像:import numpy as npfrom matplotlib.image import imreadphoto_data = imread('c:\jpeg.jpg')photo_data[0,0,1] = 0我收到這個錯誤---------------------------------------------------------------------------ValueError Traceback (most recent call last)<ipython-input-40-f19579124b68> in <module>() 1 photo = photo_data 2 print(type(photo))----> 3 photo[0,0,1] = 0 4 plt.imshow(photo_data)ValueError: assignment destination is read-only我正在學習此代碼似乎有效的在線課程,您能告訴我我出了什么問題嗎?
2 回答

滄海一幻覺
TA貢獻1824條經驗 獲得超5個贊
有時,如果您嘗試將寫入標志設置為 True,則會出現如下錯誤。
ValueError: cannot set WRITEABLE flag to True of this array
只需復制它并工作。它很有用,而不是降級numpy版本
photo = photo_data.copy()
print(type(photo))
photo[0,0,1] = 0
plt.imshow(photo_data)

守候你守候我
TA貢獻1802條經驗 獲得超10個贊
手頭的問題是數組被設置matplotlib為只讀。確認:
print(photo_data.flags)
你會得到:
C_CONTIGUOUS : True
F_CONTIGUOUS : False
OWNDATA : False
WRITEABLE : False
ALIGNED : True
WRITEBACKIFCOPY : False
UPDATEIFCOPY : False
要使其可寫,只需:
photo_data.setflags(write=1)
photo_data[0,0,1] = 0
添加回答
舉報
0/150
提交
取消