首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误是什么:"ValueError: assignment destination is read-only"?

错误是什么:"ValueError: assignment destination is read-only"?
EN

Stack Overflow用户
提问于 2019-03-17 14:42:13
回答 2查看 4.2K关注 0票数 2

当我使用cv2.imread()打开一个jpg文件时,它有时会失败,这可能是由于我使用的BGR格式造成的。所以我改用PLT来使用RGB。

代码语言:javascript
复制
import matplotlib.pyplot as plt
import numpy as np

def rgb_to_gray(img):
        grayImage = np.zeros(img.shape)
        R = np.array(img[:, :, 0])
        G = np.array(img[:, :, 1])
        B = np.array(img[:, :, 2])

        R = (R *.299)
        G = (G *.587)
        B = (B *.114)

        Avg = (R+G+B)
        grayImage = img

        for i in range(3):
           grayImage[:,:,i] = Avg

        return grayImage       

image_file = 'C:\A.jpg';
img = plt.imread(image_file,0)
gray = rgb_to_gray(img).copy()

然而,当我将图像转换为灰度时,我得到了一个错误。:"ValueError: assignment destination is read-only“如何更改此处的代码以避免这种情况?

EN

回答 2

Stack Overflow用户

发布于 2019-03-17 15:24:08

此行似乎是多余的,并导致错误,请删除它:

代码语言:javascript
复制
        grayImage = img
票数 0
EN

Stack Overflow用户

发布于 2020-12-14 23:27:24

不确定PIL库,但是如果它是基于numpy数组的,可以试试这个(https://numpy.org/doc/stable/reference/generated/numpy.copy.html):

代码语言:javascript
复制
grayImage = img.copy()

这将通过初始化一个完全不同的实例来创建一个完整的副本,而不是引用它(使用'=‘操作符来引用它)

https://pythonexamples.org/python-numpy-duplicate-copy-array/#:~:text=Following%20is%20the%20syntax%20to%20make%20a%20copy,of%20array1.%20Example%201%3A%20Copy%20Array%20using%20Numpy

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55204505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档