Python OpenCV教程:特定颜色的检测

描述

在这篇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) 现在运行完整的代码。

 

 

 


 

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分