在这篇OpenCV Python文章中,我想展示OpenCV中的基本颜色检测示例。

我们用颜色空间或颜色模型来表示计算机上的颜色,该模型基本上将颜色范围描述为数字元组。 除了讨论每种颜色之外,我们还将讨论我们使用的最常见的颜色空间。即RGB(红色,绿色,蓝色)和HSV(色调,饱和度,值)。

RGB基本上将颜色描述为三个组成部分的元组。 每个分量可以取0到255之间的值,其中元组(0,0,0)表示黑色,而(255,255,255)表示白色。 例如,如果要在屏幕上显示纯蓝色像素,则R值将为0,G值将为0,B值将为255。

下面是一些RGB颜色的例子:

颜色 RGB 值
红色 255, 0, 0
橙色 255, 128, 0
粉色 255, 153, 255

下面是OpenCV Python颜色检测示例的完整代码

import cv2
import numpy as np

img = cv2.imread('www.linuxmi.com.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.linuxmi.com.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)

现在运行完整的代码,结果如下:

发表评论

电子邮件地址不会被公开。 必填项已用*标注