图像细化只保留内径的python代码
时间: 2023-04-09 20:02:00 浏览: 103
我可以回答这个问题。以下是一个基于Python的图像细化算法,可以只保留内径:
```python
import cv2
import numpy as np
def thinning(img):
size = np.size(img)
skel = np.zeros(img.shape, np.uint8)
ret, img = cv2.threshold(img, 127, 255, 0)
element = cv2.getStructuringElement(cv2.MORPH_CROSS, (3,3))
done = False
while not done:
eroded = cv2.erode(img, element)
temp = cv2.dilate(eroded, element)
temp = cv2.subtract(img, temp)
skel = cv2.bitwise_or(skel, temp)
img = eroded.copy()
zeros = size - cv2.countNonZero(img)
if zeros == size:
done = True
return skel
```
这个算法使用了OpenCV库,可以对输入的二值图像进行细化操作,只保留内径。
阅读全文