码迷,mamicode.com
首页 > 编程语言 > 详细

OpenCV-Python:轮廓

时间:2019-04-15 18:19:47      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:inf   rar   col   block   提取   class   方法   ret   操作   

啥叫轮廓

轮廓是一系列相连的点组成的曲线,代表了物体的基本外形。

轮廓与边缘很相似,但轮廓是连续的,边缘并不全都连续,其实边缘主要是作为图像的特征使用,比如用边缘特征可以区分脸和手,而轮廓主要用来分析物体的形态,比如物体的周长和面积等,可以说边缘包括轮廓。

技术图片

寻找轮廓的操作一般用于二值化图,所以通常会使用阈值分割或Canny边缘检测先得到二值图。

 

寻找轮廓

import cv2
img = cv2.imread(handwriting.jpg)

img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(img_gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)

# 寻找二值化图中的轮廓
image, contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
print(len(contours))   # 结果是2
  • 参数2:轮廓的查找方式,一般使用cv2.RETR_TREE,表示提取所有轮廓并建立轮廓间的层级
  • 参数3:轮廓的近似方法,比如对于一条指向


 

OpenCV-Python:轮廓

标签:inf   rar   col   block   提取   class   方法   ret   操作   

原文地址:https://www.cnblogs.com/gezhuangzhuang/p/10711914.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!