Я пытаюсь изменить масштаб 2D-изображения (оттенки серого). Размер изображения составляет 256x256, а желаемый результат - 224x224. Значения пикселей варьируются от 0 до 1300.
Я пробовал 2 подхода для их масштабирования с помощью интерполяции Ланцоша:
Первое использование изображения PIL:
import numpy as np
from PIL import Image
import cv2
array = np.random.randint(0, 1300, size=(10, 256, 256))
array[0] = Image.fromarray(array[0]).resize(size=(224, 224), resample=Image.LANCZOS)
, что приводит к ошибке сообщение: ValueError: image has wrong mode
А затем CV2:
array[0] = cv2.resize(array[0], dsize=(224, 224), interpolation=cv2.INTER_LANCZOS4)
, что приводит к сообщению об ошибке: ValueError: could not broadcast input array from shape (224,224) into shape (256,256)
Как это сделать правильно?