我们用颜色空间或颜色模型来表示计算机上的颜色,该模型基本上将颜色范围描述为数字元组。除了讨论每种颜色之外,我们还将讨论我们使用的最常见的颜色空间。即RGB(红色,绿色,蓝色)和HSV(色调,饱和度,值)。 RGB基本上将颜色描述为三个组成部分的元组。每个分量可以取0到255之间的值,其中元组(0,0,0)表示黑色,而(255,255,255)表示白色。例如,如果要在屏幕上显示纯蓝色像素,则R值将为0,G值将为0,B值将为255。颜色 | RGB 值 |
---|
红色 | 255, 0, 0 | 橙色 | 255, 128, 0 | 粉色 | 255, 153, 255 |
下面是OpenCV Python颜色检测示例的完整代码 import cv2 import numpy as np
img = cv2.imread('www..png')
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
#Red color rangle 169, 100, 100 , 189, 255, 255
lower_range = np.array([110,50,50]) upper_range = np.array([255,255,0])
mask = cv2.inRange(hsv, lower_range, upper_range)
cv2.imshow('www.linuxmi.ccom - image', img) cv2.imshow('www.linuxmi.ccom - mask', mask)
cv2.waitKey(0) cv2.destroyAllWindows()
首先,你需要在你的工作目录中有一个图像,我正在使用这个图像,你可以从下面得到这个图像。 首先我们需要加载图像,然后我们将图像转换为HSV颜色。img = cv2.imread('www..png')hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)之后,您需要确定颜色的上限和下限,可以为此建议使用imutils。在上图中,我们将检测三种蓝色。lower_range = np.array([110,50,50]) upper_range = np.array([255,255,0])mask = cv2.inRange(hsv, lower_range, upper_range)cv2.imshow('www.linuxmi.ccom - image', img) cv2.imshow('www.linuxmi.ccom - mask', mask)文章来源:Linux迷 https://www./
|