Dam*_*aur 7 python tiff computer-vision image-resizing deep-learning
我有一个尺寸为 21 X 513 X 513 的 tiff 图像,其中 (513, 513) 是包含 21 个通道的图像的高度和宽度。如何将此图像的大小调整为 21 X 500 X 375?
我正在尝试使用 PILLOW 来做到这一点。但无法弄清楚我是否做错了什么。
>>> from PIL import Image
>>> from tifffile import imread
>>> img = Image.open('new.tif')
>>> img
<PIL.TiffImagePlugin.TiffImageFile image mode=F size=513x513 at 0x7FB0C8E5B940>
>>> resized_img = img.resize((500, 375), Image.ANTIALIAS)
>>> resized_img
<PIL.Image.Image image mode=F size=500x375 at 0x7FB0C8E5B908>
>>> resized_img.save('temp.tif')
>>> img = imread('temp.tif')
>>> img.shape
(500, 375)
Run Code Online (Sandbox Code Playgroud)
通道信息在这里丢失。
尝试使用tifffileand 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')
Run Code Online (Sandbox Code Playgroud)
comment98601187_559751612009_003961_SEG.tif中链接的文件不是多通道513x513x21图像。相反,该文件包含 513 个大小为 513x21 的图像。该库将读取文件中的一系列图像并将其作为形状为 513x513x21 的 numpy 数组返回。tifffile
要将 numpy 数组的大小调整为 375x500x21,请使用skimage.transform.resize(或scipy.ndimage.zoom)。单独调整 21 个通道的大小可能会更快。
要使用 写入包含大小为 375x500x21 的单个多通道图像的 TIFF 文件tifffile,请指定planarconfig参数。没有多少库或应用程序可以处理此类文件。