目标
- 了解轮廓是什么。
- 学习查找轮廓,绘制轮廓等。
- 你将看到以下功能:cv.findContours(),cv.drawContours()
什么是轮廓?
轮廓可以简单地解释为连接具有相同颜色或强度的所有连续点(沿边界)的曲线。轮廓是用于形状分析以及对象检测和识别的有用工具。
- 为了获得更高的准确性,请使用二进制图像。因此,在找到轮廓之前,请应用阈值或canny边缘检测。
- 从OpenCV 3.2开始,findContours()不再修改源图像。
- 在OpenCV中,找到轮廓就像从黑色背景中找到白色物体。因此请记住,要找到的对象应该是白色,背景应该是黑色。
让我们看看如何找到二进制图像的轮廓:
import numpy as npimport cv2 as cvim = cv.imread('test.jpg')imgray = cv.cvtColor(im, cv.COLOR_BGR2GRAY)ret, thresh = cv.threshold(imgray, 127, 255, 0)contours, hierarchy = cv.findContours(thresh, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)
findcontour()函数中有三个参数,第一个是源图像,第二个是轮廓检索模式,

本文介绍了OpenCV中的轮廓检测概念,包括如何查找和绘制轮廓,重点讲解了cv.findContours()函数的使用。文章还探讨了轮廓近似方法,如cv.CHAINAPPROXSIMPLE如何通过去除冗余点来节省内存。通过实例展示了轮廓检测在对象检测和形状分析中的应用。
最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



