opencv图像轮廓提取
时间: 2023-06-30 21:27:10 浏览: 78
图像轮廓提取 OpenCv
4星 · 用户满意度95%
要使用OpenCV提取图像中的轮廓,可以按照以下步骤进行:
1. 将图像转换为灰度图像:使用`cv2.cvtColor()`函数将彩色图像转换为灰度图像。
2. 阈值处理:使用`cv2.threshold()`函数将灰度图像二值化。
3. 查找轮廓:使用`cv2.findContours()`函数查找二值化图像中的轮廓。
4. 绘制轮廓:使用`cv2.drawContours()`函数将找到的轮廓绘制在图像上。
下面是一段示例代码:
```
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 将图像转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 阈值处理
ret, binary = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)
# 查找轮廓
contours, hierarchy = cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 绘制轮廓
cv2.drawContours(img, contours, -1, (0, 0, 255), 2)
# 显示结果
cv2.imshow('contours', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这段代码可以读取名为`image.jpg`的图像,并提取其中的轮廓,并将结果显示出来。
阅读全文