opencv识别绿色
时间: 2023-06-28 15:06:48 浏览: 176
要使用OpenCV识别绿色,可以按照以下步骤进行操作:
1. 将图像从BGR颜色空间转换为HSV颜色空间,使用cv2.cvtColor()函数实现。
2. 创建一个numpy数组作为掩码,将绿色区域设置为白色,其余区域设置为黑色。可以使用cv2.inRange()函数实现。
3. 将原始图像与掩码进行按位与运算,只保留绿色区域。可以使用cv2.bitwise_and()函数实现。
这里是代码示例:
``` python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('test.jpg')
# 将图像从BGR颜色空间转换为HSV颜色空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 创建掩码
lower_green = np.array([36, 25, 25])
upper_green = np.array([86, 255, 255])
mask = cv2.inRange(hsv, lower_green, upper_green)
# 对原始图像和掩码进行按位与运算,只保留绿色区域
result = cv2.bitwise_and(img, img, mask=mask)
# 显示图像
cv2.imshow('Original Image', img)
cv2.imshow('Mask', mask)
cv2.imshow('Result', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的代码中,我们先将图像从BGR颜色空间转换为HSV颜色空间。然后定义了一个范围,该范围包含HSV颜色空间中绿色的值。我们使用cv2.inRange()函数创建一个掩码,在掩码中将绿色区域设置为白色,其余区域设置为黑色。最后使用cv2.bitwise_and()函数将原始图像和掩码进行按位与运算,只保留绿色区域。
阅读全文