📜  upperWhite = np.array([109, 255, 255]) (1)

📅  最后修改于: 2023-12-03 15:35:31.847000             🧑  作者: Mango

介绍 upperWhite 变量的含义及作用

变量 upperWhite 是一个包含三个整数的 NumPy 数组,分别表示 HSV (色相饱和度亮度) 颜色空间中的色相、饱和度和亮度的上限。具体而言,这个数组表示的是 HSV 颜色空间中色相为 109 的色调,饱和度和亮度均为最大值 255 的颜色的上限。

在 OpenCV 的图像处理任务中,HSV 可以更好地描述颜色的区域边界和变化,比 RGB 更为直观。因此经常会用到 HSV 模型,且经常需要设定颜色范围。

在图像处理中将图像转换为 HSV 颜色空间之后,可以用这个上限值对每个像素的 HSV 值进行比较,以筛选出位于这个上限颜色及以下的像素。例如,可以用这个上限值筛选出图像中色调为 109,饱和度和亮度均小于 255 的像素,从而可以实现白色背景的去除等操作。

下面是使用变量 upperWhite 对 HSV 颜色空间转换后的图像进行阈值分割的示例代码:

import cv2
import numpy as np

image = cv2.imread('image.jpg')
hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)

lowerWhite = np.array([0,0,0])
upperWhite = np.array([109, 255, 255])

mask = cv2.inRange(hsv_image, lowerWhite, upperWhite)

result = cv2.bitwise_and(image, image, mask=mask)

cv2.imshow('Image', image)
cv2.imshow('Mask', mask)
cv2.imshow('Result', result)
cv2.waitKey(0)
cv2.destroyAllWindows()

在这个例子中,对彩色图像进行了 HSV 颜色空间的转换,然后设定白色上限颜色为 upperWhite,接着用函数 cv2.inRange() 对各个像素的 HSV 值进行比较,从而得到一个二值化掩膜 mask。最后用 cv2.bitwise_and() 函数将原图像和二值化掩膜进行按位与操作,得到结果图像 result。

通过设定不同的 HSV 上限值,可以方便地提取特定颜色范围的像素,是图像分割中常用的一种方法。