来源:自学PHP网 时间:2021-03-25 10:50 作者:小飞侠 阅读:次
[导读] Python OpenCV 基于图像边缘提取的轮廓发现函数...
今天带来Python OpenCV 基于图像边缘提取的轮廓发现函数教程详解
基础知识铺垫在图像中,轮廓可以简单的理解为连接具有相同颜色的所有连续点(边界)的曲线,轮廓可用于形状分析和对象检测、识别等领域。 轮廓发现的原理:先通过阈值分割提取目标物体,再通过边缘检测提取目标物体轮廓。 使用 函数原型说明contours, hierarchy = cv2.findContours(image, mode, method[, contours[, hierarchy[, offset]]]) 我使用的 Python OpenCV 是 4.0 以上版本,如果你使用的是 3.0 以上,可能存在返回值差异问题。
备注: 轮廓检索模式,有四种
轮廓逼近方法
了解上述内容之后,就可以应用轮廓发现函数了,代码如下: import cv2 as cv src = cv.imread("./both.jpeg") gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY) ret, thresh = cv.threshold(gray, 150, 255, 0) cv.imshow("thresh",thresh) # 寻找轮廓 contours, hierarchy = cv.findContours(thresh, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE) 轮廓发现之后,还要通过 image = cv2.drawContours(image, contours, contourIdx, color[, thickness[, lineType[, hierarchy[, maxLevel[, offset]]]]]) 参数说明如下:
测试代码与运行结果如下: import cv2 as cv # help(cv.drawContours) src = cv.imread("./both.jpeg") gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY) ret, thresh = cv.threshold(gray, 150, 255, 0) cv.imshow("thresh",thresh) # 寻找轮廓 contours, hierarchy = cv.findContours(thresh, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE) # print(contours) # print(hierarchy) # 绘制轮廓 cv.drawContours(src,contours,-1,(200,0,150),2) cv.imshow('src',src) cv.waitKey(0) 到此这篇关于Python OpenCV 基于图像边缘提取的轮廓发现函数的文章就介绍到这了,更多相关OpenCV 边缘提取轮廓 内容请搜索自学php网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学php网! 以上就是关于Python OpenCV 基于图像边缘提取的轮廓发现函数全部内容,感谢大家支持自学php网。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com