cv2.findContours( threshold, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
时间: 2024-01-13 18:17:43 浏览: 70
cv2.findContours()是一个在二进制图像中查找轮廓的函数。它的输入参数是二进制图像,以及两个可选参数cv2.RETR_EXTERNAL和cv2.CHAIN_APPROX_SIMPLE。其中cv2.RETR_EXTERNAL表示只检测外部轮廓,cv2.CHAIN_APPROX_SIMPLE表示只保留轮廓的终点坐标。函数返回两个值,第一个是轮廓本身,第二个是每个轮廓的层次结构。下面是一个例子:
```python
import cv2
img = cv2.imread('test.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret, binary = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
contours, hierarchy = cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(img, contours, -1, (0, 0, 255), 3)
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这个例子中,我们首先读入一张图片,然后将其转换为灰度图像。接着使用cv2.threshold()函数将灰度图像转换为二进制图像。最后使用cv2.findContours()函数查找轮廓,并使用cv2.drawContours()函数将轮廓绘制在原图上。最后使用cv2.imshow()函数显示图像,cv2.waitKey()函数等待按键输入,cv2.destroyAllWindows()函数关闭所有窗口。
阅读全文