社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

新机器视觉 • 3 年前 • 342 次点击  

点击下方卡片,关注“新机器视觉”公众号

重磅干货,第一时间送达


来自:Linux迷 https://www.linuxmi.com/

在这篇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)
现在运行完整的代码,结果如下:



声明:部分内容来源于网络,仅供读者学习、交流之目的。文章版权归原作者所有。如有不妥,请联系删除。

—THE END—

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/157001