用python滑动裁剪遥感影像,然后拼接起来
时间: 2023-07-12 10:25:51 浏览: 196
以下是使用 Python 对遥感影像进行滑动裁剪并拼接的代码示例:
```python
import numpy as np
from PIL import Image
# 加载图像
image = Image.open('test_image.jpg')
image = np.array(image)
# 定义裁剪大小和步长
crop_size = 512
stride = 256
# 滑动裁剪
rows, cols, _ = image.shape
crop_rows = (rows - crop_size) // stride + 1
crop_cols = (cols - crop_size) // stride + 1
crop_images = []
for i in range(crop_rows):
for j in range(crop_cols):
x = i * stride
y = j * stride
crop_image = image[x:x+crop_size, y:y+crop_size, :]
crop_images.append(crop_image)
# 拼接图像
col_images = []
for i in range(crop_rows):
col_images.append(np.concatenate(crop_images[i*crop_cols:(i+1)*crop_cols], axis=1))
merged_image = np.concatenate(col_images, axis=0)
# 保存图像
merged_image = Image.fromarray(merged_image.astype(np.uint8))
merged_image.save('merged_image.jpg')
```
在这个示例中,我们首先加载了一张遥感影像作为测试图像,然后定义了裁剪大小和步长。接着,对测试图像进行了滑动裁剪,将裁剪后的小图像存储在 crop_images 列表中。最后,对裁剪后的小图像进行拼接,生成完整的图像,并保存为一张图像文件。你可以根据自己的需求修改代码,进行不同大小和步长的裁剪和拼接。
阅读全文