canny算子 轮廓闭合_Python OpenCV 轮廓提取

OpenCV里提供提取目标轮廓的函数是findContours,输入图像为一幅二值图像,输出的是每一个连通区域的轮廓点的集合。

import cv2
import numpy as np

img = cv2.imread('002.tif')
rows, cols, ch = img.shape
# 边缘提取
Ksize = 3
L2g = True
edge = cv2.Canny(img, 50, 100, apertureSize=Ksize, L2gradient=L2g)

# 提取轮廓
'''
findcontour()函数中有三个参数,第一个img是源图像,第二个model是轮廓检索模式,第三个method是轮廓逼近方法。输出等高线contours和层次结构hierarchy。
model:  cv2.RETR_EXTERNAL  仅检索极端的外部轮廓。 为所有轮廓设置了层次hierarchy[i][2] = hierarchy[i][3]=-1
        cv2.RETR_LIST  在不建立任何层次关系的情况下检索所有轮廓。
        cv2.RETR_CCOMP  检索所有轮廓并将其组织为两级层次结构。在顶层,组件具有外部边界;在第二层,有孔的边界。如果所连接零部件的孔内还有其他轮廓,则该轮廓仍将放置在顶层。
        cv2.RETR_TREE  检索所有轮廓,并重建嵌套轮廓的完整层次。
        cv2.RETR_FLOODFILL  输入图像也可以是32位的整型图像(CV_32SC1)
method:cv2.CHAIN_APPROX_NONE  存储所有的轮廓点,任何一个包含一两个点的子序列(不改变顺序索引的连续的)相邻。
        cv2.CHAIN_APPROX_SIMPLE  压缩
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值