Попробуйте использовать tifffile
и scikit-image
:
from tifffile import imread, imwrite
from skimage.transform import resize
data = imread('2009_003961_SEG.tif')
resized_data = resize(data, (375, 500, 21))
imwrite('multi-channel_resized.tif', resized_data, planarconfig='CONTIG')
Файл 2009_003961_SEG.tif
, связанный в comment98601187_55975161 , не является многоканальным изображением 513x513x21.Вместо этого файл содержит 513 изображений размером 513x21.Библиотека tifffile
будет считывать серии изображений в файле и возвращать их в виде массива с цифрами 513x513x21.
Чтобы изменить размер массива с цифрами 375x500x21, используйте skimage.transform.resize
(или scipy.ndimage.zoom
).Возможно, будет быстрее изменить размер 21 канала отдельно.
Чтобы записать файл TIFF, содержащий одноканальное изображение размером 375x500x21, с использованием tifffile
, укажите параметр planarconfig
.Не многие библиотеки или приложения могут обрабатывать такие файлы.