遥感影像变化检测python 代码
时间: 2023-10-05 08:11:45 浏览: 165
以下是一个简单的遥感影像变化检测的Python代码示例,使用了OpenCV和Numpy库:
```python
import cv2
import numpy as np
# 读取两张影像
img1 = cv2.imread('img1.jpg')
img2 = cv2.imread('img2.jpg')
# 转换为灰度图像
gray1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
gray2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)
# 计算两张影像的差异
diff = cv2.absdiff(gray1, gray2)
# 二值化差异图像
thresh = cv2.threshold(diff, 25, 255, cv2.THRESH_BINARY)[1]
# 去除噪点
kernel = np.ones((5,5), np.uint8)
thresh = cv2.erode(thresh, kernel, iterations=1)
thresh = cv2.dilate(thresh, kernel, iterations=1)
# 显示结果
cv2.imshow('img1', img1)
cv2.imshow('img2', img2)
cv2.imshow('diff', diff)
cv2.imshow('thresh', thresh)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这个代码将两张影像加载为OpenCV的Mat对象,然后将它们转换为灰度图像。接下来,它计算了两张图像的差异,并将其二值化。最后,通过腐蚀和膨胀操作来去除噪点,并将结果显示在屏幕上。这个代码只是一个简单的示例,您可以根据自己的需要进行修改和优化。
阅读全文