将多幅tif读取为.npz文件
时间: 2024-09-11 17:07:34 浏览: 86
将多幅TIFF图像转换成NPZ(NumPy专用文件格式)的过程通常涉及到两个步骤:首先读取每个单独的TIFF图像,然后将它们打包成一个NPZ文件。以下是Python中使用PIL(Pillow库)和numpy库的一个简要示例:
```python
from PIL import Image
import numpy as np
import os
# 定义目录路径和文件夹结构
image_dir = 'path/to/tiff/images'
output_file = 'output_data.npz'
# 获取所有TIFF文件
tif_files = [f for f in os.listdir(image_dir) if f.endswith('.tif') or f.endswith('.tiff')]
# 创建一个空的字典存储图像数据
data_dict = {}
for file in tif_files:
# 读取单张图片
img = Image.open(os.path.join(image_dir, file))
# 转换为numpy数组
img_array = np.array(img)
# 给数组命名,例如'img0', 'img1', ...
image_name = 'img_' + str(tif_files.index(file))
data_dict[image_name] = img_array
# 将字典保存为NPZ文件
np.savez_compressed(output_file, **data_dict)
阅读全文