博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
opencv轮廓提取、轮廓识别相关要点
阅读量:7233 次
发布时间:2019-06-29

本文共 1742 字,大约阅读时间需要 5 分钟。

hot3.png

1、轮廓提取

复制代码

1 src = cv2.imread("***.jpg", cv2.IMREAD_COLOR)2 gray = cv2.cvtColor(src ,cv2.COLOR_BGR2GRAY)3 ret, binary = cv2.threshold(gray,100,255,cv2.THRESH_BINARY)4 contours, hierarchy = cv2.findContours(binary,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)5 cv2.drawContours(src,contours[32],-1,(0,0,255),1)6 cv2.imshow("Src", src)

复制代码

其中,threshold函数第2参数,确定黑白分界点。除此之外,还有canny等方法,形成二值图。

drawContours的轮廓参数,可以是整个轮廓,也可是其中一个。

函数原型:

cv2.threshold(src, thresh, maxval, type[, dst]) → retval, dst

type:THRESH_BINARY, THRESH_BINARY_INV, THRESH_TRUNC, THRESH_TOZERO, THRESH_TOZERO_INV

cv2.findContours(image, mode, method[, contours[, hierarchy[, offset]]]) → contours, hierarchy

mode:CV_RETR_EXTERNALCV_RETR_LIST, CV_RETR_CCOMP, CV_RETR_TREE

method:CV_CHAIN_APPROX_NONE, CV_CHAIN_APPROX_SIMPLE, CV_CHAIN_APPROX_TC89_L1, CV_CHAIN_APPROX_TC89_KCOS

contours:轮廓多边形点群数据

hierarchy:

? hierarchy[idx][0] 返回同等级层次结构的下一个轮廓索引

? hierarchy[idx][1] 返回同等级层次结构的上一个轮廓索引
? hierarchy[idx][2] 返回第一个子轮廓的索引
? hierarchy[idx][3] 返回父轮廓的索引
如果其中一个轮廓不存在,返回索引为负值

cv2.drawContours(image, contours, contourIdx, color[, thickness[, lineType[, hierarchy[, maxLevel[, offset]]]]]) → None

2、轮廓对比

(1)轮廓矩对比

1 cv2.matchShapes(contours1[0], contours2[0], cv2.cv.CV_CONTOURS_MATCH_I1, 0.0)

函数原型:

cv2.matchShapes(contour1, contour2, method, parameter) → retval

method:CV_CONTOURS_MATCH_I1, CV_CONTOURS_MATCH_I2, CV_CONTOURS_MATCH_I3

(2)轮廓hist对比

1 hist1 = cv2.calcHist(src1, [0], None, [256], [0, 256])2 hist2 = cv2.calcHist(src2, [0], None, [256], [0, 256])3 print cv2.compareHist(hist1, hist2, cv2.cv.CV_COMP_BHATTACHARYYA)

函数原型:

cv2.calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate]]) → hist

cv2.compareHist(H1, H2, method) → retval

转载于:https://my.oschina.net/u/1426828/blog/863696

你可能感兴趣的文章
大神php摘录
查看>>
MySQL常用查询
查看>>
drop user 报错ora-00604
查看>>
微信JSSDK支付接口-安卓机无法正常调起接口
查看>>
XMPP使用简单介绍--登录
查看>>
Mac_IntelliJ IDEA For Mac 快捷键
查看>>
JavaCC从入门到出门
查看>>
iOS - 社会化分享-微信分享,朋友圈分享
查看>>
Xamarin XAML语言教程构建ControlTemplate控件模板
查看>>
第三章 消息摘要算法--MD5
查看>>
【AtCoder - 2300】Snuke Line(树状数组)
查看>>
【Unity笔记】常见集合类System.Collections
查看>>
Font Awesome:图标字体,完全CSS控制
查看>>
Python 获取CentOS主机信息
查看>>
Java NIO Buffer缓冲区
查看>>
CSS选择器 < ~ +
查看>>
html5 弹性布局
查看>>
Win8 Metro(C#)数字图像处理--2.61哈哈镜效果
查看>>
win10怎么查看进程
查看>>
ANTLR#1:描述一个简单计算器
查看>>