写一段距离变化代码将灰度图像进行距离变化
时间: 2024-02-20 13:59:18 浏览: 16
下面是使用 OpenCV 库中的 distanceTransform 函数对灰度图像进行距离变化的示例代码:
```python
import cv2
# 读取灰度图像
img = cv2.imread('input.png', cv2.IMREAD_GRAYSCALE)
# 二值化图像
ret, thresh = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
# 计算距离变化
dist_transform = cv2.distanceTransform(thresh, cv2.DIST_L2, 5)
# 将距离变化结果转化为灰度图像
dist_transform = cv2.normalize(dist_transform, None, 0, 255, cv2.NORM_MINMAX, cv2.CV_8UC1)
# 显示距离变化结果
cv2.imshow('Distance Transform', dist_transform)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这段代码中,我们首先读入一个灰度图像,然后使用二值化将其转化为黑白图像。接着,我们调用 distanceTransform 函数,计算黑白图像中每个像素到最近白色像素的距离,这个距离被保存在 dist_transform 中。最后,我们将 dist_transform 转化为灰度图像,并将其显示出来。