python gdal批量随机裁剪遥感影像代码
时间: 2023-10-14 19:31:11 浏览: 122
批量裁剪影像代码
以下是使用Python GDAL库进行批量随机裁剪遥感影像的示例代码:
```python
import os
import random
from osgeo import gdal
# 设置输入和输出路径
input_path = 'path_to_input_directory'
output_path = 'path_to_output_directory'
# 设置裁剪后的图像大小和数量
crop_size = 256
num_crops = 10
# 遍历输入路径下的所有遥感影像文件
for filename in os.listdir(input_path):
if not filename.endswith('.tif'):
continue
# 打开遥感影像文件
dataset = gdal.Open(os.path.join(input_path, filename))
# 获取遥感影像文件的大小
width = dataset.RasterXSize
height = dataset.RasterYSize
# 随机裁剪遥感影像文件并保存为新文件
for i in range(num_crops):
x = random.randint(0, width - crop_size)
y = random.randint(0, height - crop_size)
output_filename = os.path.splitext(filename)[0] + '_crop_' + str(i) + '.tif'
output_path_filename = os.path.join(output_path, output_filename)
gdal.Translate(output_path_filename, dataset, srcWin=[x, y, crop_size, crop_size])
# 关闭遥感影像文件
dataset = None
```
这个代码将遍历输入路径中的所有遥感影像文件,并随机裁剪它们为指定数量的图像。裁剪后的图像大小为256×256像素。裁剪后的图像将保存在输出路径中,并按原始文件的名称添加"_crop_"和数字以区分它们。
阅读全文