使用opencv识别黄色的线代码
时间: 2023-12-31 20:07:11 浏览: 107
以下是使用 OpenCV 进行黄色线条识别的 Python 代码示例:
```python
import cv2
import numpy as np
# 读取图片
img = cv2.imread('image.jpg')
# 将图片转换为 HSV 颜色空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 定义黄色范围
lower_yellow = np.array([20, 100, 100])
upper_yellow = np.array([30, 255, 255])
# 根据定义的黄色范围进行阈值分割
mask = cv2.inRange(hsv, lower_yellow, upper_yellow)
# 对二值化图像进行腐蚀和膨胀处理,去除噪点
kernel = np.ones((5, 5), np.uint8)
mask = cv2.erode(mask, kernel, iterations=1)
mask = cv2.dilate(mask, kernel, iterations=1)
# 检测轮廓
contours, hierarchy = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# 绘制轮廓
cv2.drawContours(img, contours, -1, (0, 0, 255), 2)
# 显示结果
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,`lower_yellow` 和 `upper_yellow` 分别是定义黄色范围的下界和上界,可以根据实际情况进行调整。`erode` 和 `dilate` 函数用于对二值化图像进行腐蚀和膨胀处理,去除噪点。`findContours` 函数用于检测轮廓,`drawContours` 函数用于绘制轮廓。
阅读全文