Pythonanywhere:matplotlib.pyplot.imgopen创建一个无法修改的numpy.array

问题描述 投票:1回答:1

我在使用matplotlib编辑图像的像素时遇到问题。

Python 3.7.5 (default, Nov 14 2019, 22:26:37) 
>>> import matplotlib.pyplot as plt
>>> img = plt.imread('allo.JPG')
>>> img[0][0]
array([255, 255, 255], dtype=uint8)
>>> img[0][0][1]
255
>>> img[0][0][1]=40
Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
ValueError: assignment destination is read-only

我已经以各种方式探讨了这个错误,但都没有用。想法?

python matplotlib pythonanywhere
1个回答
3
投票
对于该img数组,可写标志设置为False。

您可以进行复制,并将其标志设置为True:

>>> img.flags C_CONTIGUOUS : True F_CONTIGUOUS : False OWNDATA : False WRITEABLE : False ALIGNED : True WRITEBACKIFCOPY : False UPDATEIFCOPY : False >>> img1 = img.copy() >>> img1.flags C_CONTIGUOUS : True F_CONTIGUOUS : False OWNDATA : True WRITEABLE : True ALIGNED : True WRITEBACKIFCOPY : False UPDATEIFCOPY : False

© www.soinside.com 2019 - 2024. All rights reserved.