в чем ошибка: «ValueError: назначение назначения доступно только для чтения»? - PullRequest
2 голосов
/ 17 марта 2019

Когда я открываю файл jpg с помощью cv2.imread (), и иногда происходит сбой, что, вероятно, связано с форматом BGR, который я использовал. Поэтому я переключился на PLT, чтобы использовать RGB.

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: назначение назначения доступно только для чтения» Как я могу изменить свой код здесь, чтобы избежать этого?

1 Ответ

0 голосов
/ 17 марта 2019

Эта строка выглядит избыточной и вызывает ошибку, удалите ее:

        grayImage = img
...