opencv python 如何获取黑色区域的s与v的最大值与最小值
时间: 2024-03-05 13:53:45 浏览: 172
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
要获取黑色区域的s和v值的最大值和最小值,可以使用OpenCV的颜色空间转换和阈值化函数。首先将图像从BGR颜色空间转换为HSV颜色空间,然后使用cv2.inRange函数根据HSV值的范围创建一个二进制掩码图像,最后使用cv2.minMaxLoc函数计算掩码图像中的最大值和最小值。
以下是示例代码:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('image.jpg')
# 将图像从BGR颜色空间转换为HSV颜色空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 设定黑色范围
lower_black = np.array([0, 0, 0])
upper_black = np.array([180, 255, 50])
# 根据黑色范围创建二进制掩码图像
mask = cv2.inRange(hsv, lower_black, upper_black)
# 计算掩码图像中的最大值和最小值
(minVal, maxVal, minLoc, maxLoc) = cv2.minMaxLoc(hsv[:, :, 1], mask=mask)
min_s = minVal
max_s = maxVal
(minVal, maxVal, minLoc, maxLoc) = cv2.minMaxLoc(hsv[:, :, 2], mask=mask)
min_v = minVal
max_v = maxVal
print('最小s值:', min_s)
print('最大s值:', max_s)
print('最小v值:', min_v)
print('最大v值:', max_v)
```
请注意,此代码假定黑色范围为0-50的H值,0-255的S值和0-50的V值,您可以根据您的实际需求调整这些值。
阅读全文