Python获取二值图的边缘/轮廓
这篇文章主要利用python去做一个边缘提取的例子。效果展示要求python3binary images(二值图)python的opencv库; 如果没有可以直接 pip3 install opencv-python代码代码很简单,直接复制代码并且修改下文件路径,运行即可#-*- coding: utf-8 -*-import cv2import osd...
·
这篇文章主要利用python去做一个边缘提取的例子。
效果展示
要求
- python3
- binary images(二值图)
- python的opencv库; 如果没有可以直接
pip3 install opencv-python
代码
代码很简单,直接复制代码并且修改下文件路径,运行即可
# -*- coding: utf-8 -*-
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(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)
更多推荐
已为社区贡献2条内容
所有评论(0)