Я пытаюсь загрузить оригинальные цветные изображения глазного дна на python для какого-то учебного проекта.Это RGB изображения размером ок.4000 *2000* 3.Я хочу преобразовать каждое изображение в градации серого, прежде чем отправлять их на обучение в мою модель.Для этого я попробовал следующие 2 подхода:
Метод 1:
import matplotlib.image as mpimg
def rgb2gray(rgb):
return np.dot(rgb[...,:3], [0.299, 0.587, 0.114])
def load_images(folder):
images = []
for filename in os.listdir(folder):
img = mpimg.imread(os.path.join(folder, filename))
gray = rgb2gray(img)
images.append(gray)
return images
Метод 2:
from PIL import Image
def load_images(folder):
images = []
for filename in os.listdir(folder):
img = Image.open(os.path.join(folder, filename))
gray = img.convert('L')
images.append(gray)
return images
В обоих методах я получаю одинаковые Memory Error
в строках gray = rgb2gray(img)
и gray = img.convert('L')
соответственно.
Можно ли как-то преобразовать такие большие изображения в оттенки серого по одному исохранить его как список?