OpenCV调整hsv的阈值函数
时间: 2024-06-18 15:04:14 浏览: 481
颜色阈值滑动确定.txt
OpenCV中有一个函数叫做inRange()可以用来调整HSV颜色空间的阈值,具体使用方法如下:
```
cv2.inRange(img_hsv, lower, upper)
```
其中,img_hsv是待处理的图像,lower和upper是两个长度为3的数组,表示HSV三个通道的阈值范围。函数会返回一个二值化的图像,像素值为0或255,表示该像素是否在阈值范围内。
例如,如果你想要提取一张图像中红色物体的轮廓,可以这样使用inRange()函数:
```
import cv2
import numpy as np
# 读取图像并转换到HSV颜色空间
img = cv2.imread('test.jpg')
img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 定义红色的阈值范围
lower_red = np.array([0, 50, 50])
upper_red = np.array([10, 255, 255])
mask1 = cv2.inRange(img_hsv, lower_red, upper_red)
lower_red = np.array([170, 50, 50])
upper_red = np.array([180, 255, 255])
mask2 = cv2.inRange(img_hsv, lower_red, upper_red)
# 将两个阈值范围内的部分合并起来
mask = mask1 + mask2
# 对原图像和掩模进行位运算
res = cv2.bitwise_and(img, img, mask=mask)
# 显示图像
cv2.imshow('Image', img)
cv2.imshow('Mask', mask)
cv2.imshow('Result', res)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文