首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

opencv教程-轮廓检测

1:轮廓检测的基本流程

图像灰度化图像二值化或边缘检测轮廓检测

2:轮廓特征

轮廓矩,面积,周长等

3:轮廓近似、凸包

轮廓近似:设置精度,对原轮廓进行多边形近似。

凸包:相当于获取外交多边形。 

4:外接矩形

这里有两种,常规外接矩形 和 最小外接矩形(有旋转角度)。

5:最小外接圆

6:拟合椭圆

7:轮廓的常用属性

https://docs.opencv.org/4.4.0/d1/d32/tutorial_py_contour_properties.html

8:判断点与轮廓的位置关系

dist = cv.pointPolygonTest(cnt,(50,50),True)

第三个参数是True则返回的是点到轮廓的距离,负数表示点在轮廓外,正数表示点在轮廓内,0表示点在轮廓上;False则表示点是否在轮廓内外或上。

9:轮廓匹配

dis= cv.matchShapes(cnt1,cnt2,1,0.0)

基于hu矩计算两个轮廓的距离,越小越相似。

10:轮廓提取方式

cv2.RETR_EXTERNAL - 只提取最外层的轮廓

cv2.RETR_LIST - 提取所有轮廓,并且放置在 list 中

cv2.RETR_CCOMP - 提取所有轮廓,并且将其组织为两层的 hierarchy: 顶层为连通域的外围边界,次层为洞的内层边界。

cv2.RETR_TREE - 提取所有轮廓,并且重构嵌套轮廓的全部 hierarchy

11:轮廓点存储方式

cv2.CHAIN_CODE - Freeman 链码的输出轮廓. 其它方法输出多边形(定点序列).

cv2.CHAIN_APPROX_NONE - 将所有点由链码形式翻译(转化)为点序列形式

cv2.CHAIN_APPROX_SIMPLE - 压缩水平、垂直和对角分割,即函数只保留末端的像素点;

cv2.CHAIN_APPROX_TC89_L1,

cv2.CHAIN_APPROX_TC89_KCOS - 应用 Teh-Chin 链逼近算法. CV_LINK_RUNS - 通过连接为 1 的水平碎片使用完全不同的轮廓提取算法。仅有 CV_RETR_LIST 提取模式可以在本方法中应用.

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201214A0987300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券