python批量裁剪tiff图像
时间: 2024-12-24 21:20:22 浏览: 11
在Python中,我们可以使用一些库如`tifffile`和`PIL`(Pillow)来批量裁剪TIFF图像。以下是一个简单的步骤:
1. 首先,你需要安装必要的库,如果你还没有的话:
```bash
pip install tifffile pillow
```
2. 然后,你可以创建一个函数,该函数接受TIFF文件名、需要裁剪的区域等作为输入:
```python
from PIL import Image
import tifffile
def crop_tiff(input_tiff, output_dir, x_start, y_start, width, height):
# 检查输出目录是否存在,不存在则创建
if not os.path.exists(output_dir):
os.makedirs(output_dir)
with tifffile.TiffFile(input_tiff) as tif:
for i, page in enumerate(tif.pages):
image = page.asarray()
cropped_image = image[y_start:y_start+height, x_start:x_start+width]
# 创建新的输出文件名(通常保留原文件名并在前面添加切割后的编号)
output_file = f"{output_dir}/{os.path.splitext(os.path.basename(input_tiff))[0]}_crop_{i}.tiff"
# 写入裁剪后的TIFF图像
with tifffile.TiffWriter(output_file) as writer:
writer.save(cropped_image)
# 使用示例
input_tiff_path = "path/to/input.tif"
output_dir = "path/to/output/"
x_start, y_start, width, height = 100, 200, 500, 300
crop_tiff(input_tiff_path, output_dir, x_start, y_start, width, height)
```
阅读全文