Преобразовать numpy.ndarray в imageio.core.util.Image

Я пытался изменить размер входного изображения с помощью cv2, но у меня возникли проблемы с преобразованием массива np с измененным размером в исходный формат.

image = imageio.imread(filename) #<class 'imageio.core.util.Image'>
image_re = cv2.resize(image, (256, 256)) #<class 'numpy.ndarray'>
#convert into <class 'imageio.core.util.Image'> here

Заранее спасибо.


person Pablo Gonzalez    schedule 14.03.2018    source источник


Ответы (2)


imageio.core.util.Image — это просто подкласс np.ndarray с мета-атрибутом. Почему вы хотите вернуться к нему?

Некоторое дальнейшее объяснение ваших целей, вероятно, поможет прояснить вопрос.

person Mr K.    schedule 15.03.2018
comment
Спасибо за ответ. Надеюсь, вы сможете мне помочь. Моя проблема в том, что входное изображение было 512x512, но мне нужно его размер 256x256. Итак, я использовал функцию изменения размера cv2, чтобы изменить размер изображения до нужного размера, но эта функция выводит numpy.ndarray, и мне нужно вернуть его в imageio.core.util.Image для следующего шага, поскольку код ожидает этот тип. Может быть, это простой вопрос, но я новичок в питоне и до сих пор не могу найти способ в гугле - person Pablo Gonzalez; 15.03.2018
comment
Какой следующий шаг? imageio используется для чтения/записи изображений, видео и т. д., поэтому, как только у вас уже есть информация, вы можете просто записать ее на диск с помощью imageio.imwrite() - person Mr K.; 15.03.2018

используйте следующий код

width = height = 256
dim = (width, height)

file_name = "your file address here"    
image = imageio.imread(file_name )
resized = cv2.resize(image, dim, interpolation = cv2.INTER_AREA)
image2 = imageio.core.util.Array(resized)

вам нужно использовать image2

person Abey Bruck    schedule 27.03.2020