二值图像轮廓边缘提取 python
时间: 2023-10-10 13:08:31 浏览: 115
要在Python中进行二值图像轮廓边缘提取,你可以使用OpenCV库。下面是一个简单的示例代码:
```python
import cv2
import os
def Edge_Extract(root):
img_root = os.path.join(root, 'img_masks') # 修改为保存图像的文件名
edge_root = os.path.join(root, 'img_edge') # 结果输出文件
if not os.path.exists(edge_root):
os.mkdir(edge_root)
file_names = os.listdir(img_root)
img_name = []
for name in file_names:
if not name.endswith('.png'):
assert "This file %s is not PNG"%(name)
img_name.append(os.path.join(img_root, name[:-4 + '.png'))
index = 0
for image in img_name:
img = cv2.imread(image, 0)
cv2.imwrite(os.path.join(edge_root, file_names[index]), cv2.Canny(img, 30, 100))
index += 1
return 0
if __name__ == '__main__':
root = '/Data/Datasets/binary_mask_path/' # 修改为你对应的文件路径
Edge_Extract(root)
```
你可以将代码中的`root`变量修改为你的文件路径,然后运行即可实现二值图像轮廓边缘提取。请确保已经安装了Python的OpenCV库,如果没有可以使用`pip3 install opencv-python`来安装。
阅读全文