python opencv sub_pix_contour
时间: 2024-09-05 17:02:33 浏览: 66
`cv2.findContours` 是 OpenCV 库中的一个函数,用于检测二值图像中的轮廓。这些轮廓可以用来识别物体的边界,进行图像分析和处理。
在使用 `cv2.findContours` 函数时,有几个参数需要注意:
- `image`:这是输入图像,应该是二值图像(即图像中的像素点只有两种颜色,通常是黑白)。
- `mode`:这是一个枚举类型,用于确定如何检索轮廓。例如,`cv2.RETR_EXTERNAL` 只会检索最外层的轮廓。
- `method`:这是一个枚举类型,指定轮廓的检索方法。例如,`cv2.CHAIN_APPROX_SIMPLE` 会压缩水平或垂直段,仅保留端点。
- `offset`:可选参数,用于在轮廓上应用的偏移。
在得到轮廓之后,可以利用 `cv2.minAreaRect` 和 `cv2.boxPoints` 来获取最小面积的旋转矩形,并计算出对应的精确轮廓点。`cv2.minAreaRect` 返回一个包含中心点、宽度、高度和角度的矩形框,而 `cv2.boxPoints` 根据这个矩形框来计算出四个顶点的坐标。
不过,要注意的是 `cv2.findContours` 会影响原图。在 OpenCV 3.4.2.16 版本之后,如果你在查找轮廓之前需要保留原图,应该使用 `cv2.RETR_EXTERNAL` 和 `cv2.CHAIN_APPROX_SIMPLE` 参数。
阅读全文