用python实现将 骨架化的图像的点用曲线连接起来 批量图片输入和批量图片保存
时间: 2024-05-15 17:19:40 浏览: 186
以下是使用Python实现将骨架化的图像点用曲线连接起来并批量保存的代码:
```python
import cv2
import numpy as np
import os
def connect_skeleton_points(img):
# 根据骨架化图像获取骨架点
skel = cv2.ximgproc.thinning(img)
skel_points = np.transpose(np.nonzero(skel))
# 连接骨架点
for i in range(len(skel_points) - 1):
point1 = tuple(skel_points[i])
point2 = tuple(skel_points[i + 1])
cv2.line(img, point1, point2, 255, 1)
return img
# 批量处理图片
input_folder = 'input_folder/'
output_folder = 'output_folder/'
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for filename in os.listdir(input_folder):
if filename.endswith('.png'):
# 读取图像
img = cv2.imread(os.path.join(input_folder, filename), cv2.IMREAD_GRAYSCALE)
# 连接骨架点
img = connect_skeleton_points(img)
# 保存图像
cv2.imwrite(os.path.join(output_folder, filename), img)
```
代码中使用了OpenCV的骨架化函数(cv2.ximgproc.thinning)来获取骨架点,然后使用cv2.line函数连接骨架点。最后使用cv2.imwrite函数保存处理后的图像。
阅读全文