OpenCV HSV颜色识别及HSV基本颜色分量范围


Posted in Python onMarch 22, 2019

一般对颜色空间的图像进行有效处理都是在HSV空间进行的,然后对于基本色中对应的HSV分量需要给定一个严格的范围,下面是通过实验计算的模糊范围(准确的范围在网上都没有给出)。

H:  0 — 180

S:  0 — 255

V:  0 — 255

此处把部分红色归为紫色范围:

OpenCV HSV颜色识别及HSV基本颜色分量范围

OpenCV HSV颜色识别及HSV基本颜色分量范围

OpenCV HSV颜色识别及HSV基本颜色分量范围

OpenCV HSV颜色识别及HSV基本颜色分量范围

OpenCV HSV颜色识别及HSV基本颜色分量范围

目前在计算机视觉领域存在着较多类型的颜色空间(color space)。HSL和HSV是两种最常见的圆柱坐标表示的颜色模型,它重新影射了RGB模型,从而能够视觉上比RGB模型更具有视觉直观性。

HSV颜色空间 

HSV(hue,saturation,value)颜色空间的模型对应于圆柱坐标系中的一个圆锥形子集,圆锥的顶面对应于V=1. 它包含RGB模型中的R=1,G=1,B=1 三个面,所代表的颜色较亮。色彩H由绕V轴的旋转角给定。红色对应于 角度0° ,绿色对应于角度120°,蓝色对应于角度240°。在HSV颜色模型中,每一种颜色和它的补色相差180° 。 饱和度S取值从0到1,所以圆锥顶面的半径为1。HSV颜色模型所代表的颜色域是CIE色度图的一个子集,这个 模型中饱和度为百分之百的颜色,其纯度一般小于百分之百。在圆锥的顶点(即原点)处,V=0,H和S无定义, 代表黑色。圆锥的顶面中心处S=0,V=1,H无定义,代表白色。从该点到原点代表亮度渐暗的灰色,即具有不同 灰度的灰色。对于这些点,S=0,H的值无定义。可以说,HSV模型中的V轴对应于RGB颜色空间中的主对角线。 在圆锥顶面的圆周上的颜色,V=1,S=1,这种颜色是纯色。HSV模型对应于画家配色的方法。画家用改变色浓和 色深的方法从某种纯色获得不同色调的颜色,在一种纯色中加入白色以改变色浓,加入黑色以改变色深,同时 加入不同比例的白色,黑色即可获得各种不同的色调。 

HSI颜色空间 

HSI色彩空间是从人的视觉系统出发,用色调(Hue)、色饱和度(Saturation或Chroma)和亮度 (Intensity或Brightness)来描述色彩。HSI色彩空间可以用一个圆锥空间模型来描述。用这种 描述HIS色彩空间的圆锥模型相当复杂,但确能把色调、亮度和色饱和度的变化情形表现得很清楚。 通常把色调和饱和度通称为色度,用来表示颜色的类别与深浅程度。由于人的视觉对亮度的敏感 程度远强于对颜色浓淡的敏感程度,为了便于色彩处理和识别,人的视觉系统经常采用HSI色彩空间, 它比RGB色彩空间更符合人的视觉特性。在图像处理和计算机视觉中大量算法都可在HSI色彩空间中 方便地使用,它们可以分开处理而且是相互独立的。因此,在HSI色彩空间可以大大简化图像分析 和处理的工作量。HSI色彩空间和RGB色彩空间只是同一物理量的不同表示法,因而它们之间存在着 转换关系。

HSI 色彩模型是从人的视觉系统出发,用 H 代表色相 (Hue)、S 代表饱和度 (Saturation) 和 I 代表亮度 (Intensity) 来描述色彩。饱和度与颜色的白光光量刚好成反比,它可以说是一个颜色鲜明与否的指标。因此如果我们在显示器上使用 HIS 模型来处理图像,将能得到较为逼真的效果。 

  • 色相 (Hue):指物体传导或反射的波长。更常见的是以颜色如红色,橘色或绿色来辨识,取 0 到 360 度的数值来衡量。 
  • 饱和度 (Saturation):又称色度,是指色彩的强度或纯度。饱和度代表灰色与色调的比例,并以 0% (灰色) 到 100% (完全饱和) 来衡量。 
  • 亮度 (Intensity):是指颜色的相对明暗度,通常以 0% (黑色) 到 100% (白色) 的百分比来衡量。

 HSL代表色调(Hue),饱和度(Saturation)和亮度(Lightness),通常也称为HLS。HSV代表色调,饱和度和值(Value)。注意HSL 和HSV的两个H的含义是相同的,而饱和度的定义是不同的,虽然都叫饱和度,从后面的定义可以看出二者的不同。
HSL 和 HSV 二者都把颜色描述在圆柱体内的点,这个圆柱的中心轴取值为自底部的黑色到顶部的白色而在它们中间是的灰色,绕这个轴的角度对应于“色相”,到这个轴的距离对应于“饱和度”,而沿着这个轴的距离对应于“亮度”,“色调”或“明度”。 HSV 以人类更熟悉的方式封装了关于颜色的信息:“这是什么颜色?深浅如何?明暗如何?”。HSL 颜色空间类似于 HSV,在某些方面甚至比它还好。HSL的模型为双圆锥形状。

这两种表示在用目的上类似,但在方法上有区别。二者在数学上都是圆柱,但 HSV(色相,饱和度,明度)在概念上可以被认为是颜色的倒圆锥体(黑点在下顶点,白色在上底面圆心),HSL 在概念上表示了一个双圆锥体和圆球体(白色在上顶点,黑色在下顶点,最大横切面的圆心是半程灰色)。HSV 模型在 1978 年由埃尔维?雷?史密斯创立。下图给出了HSL和HSV的圆柱模型。

OpenCV HSV颜色识别及HSV基本颜色分量范围

OpenCV HSV颜色识别及HSV基本颜色分量范围

OpenCV HSV颜色识别及HSV基本颜色分量范围

在圆锥上,角度代表色调H,饱和度S表示为点到中心竖线的距离,而亮度或者值V用中心竖线表示。红色的角度为0度,依次为黄色、绿色、青色、蓝色、橙色。连续两种颜色的角度相差60度。

OpenCV HSV颜色识别及HSV基本颜色分量范围

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python进行稳定可靠的文件操作详解
Dec 31 Python
简单使用Python自动生成文章
Dec 25 Python
Python使用scrapy采集数据过程中放回下载过大页面的方法
Apr 08 Python
详解Python迭代和迭代器
Mar 28 Python
Python的网络编程库Gevent的安装及使用技巧
Jun 24 Python
手把手教你用python抢票回家过年(代码简单)
Jan 21 Python
python实现RabbitMQ的消息队列的示例代码
Nov 08 Python
Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】
Mar 30 Python
python列表插入append(), extend(), insert()用法详解
Sep 14 Python
Tensorflow:转置函数 transpose的使用详解
Feb 11 Python
解决Python pip 自动更新升级失败的问题
Feb 21 Python
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
May 28 Python
基于OpenCV python3实现证件照换背景的方法
Mar 22 #Python
详解Python给照片换底色(蓝底换红底)
Mar 22 #Python
详解python-图像处理(映射变换)
Mar 22 #Python
python中如何使用分步式进程计算详解
Mar 22 #Python
浅谈Python基础—判断和循环
Mar 22 #Python
浅谈python常用程序算法
Mar 22 #Python
python实现移位加密和解密
Mar 22 #Python
You might like
简单实用的.net DataTable导出Execl
2013/10/28 PHP
去除php注释和去除空格函数分享
2014/03/13 PHP
PHP 数组遍历foreach语法结构及实例
2016/06/13 PHP
php网页版聊天软件实现代码
2016/08/12 PHP
查询json的数据结构的8种方式简介
2014/03/10 Javascript
教你用jquery实现iframe自适应高度
2014/06/11 Javascript
javascript里绝对用的上的字符分割函数总结
2014/07/31 Javascript
以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题
2015/11/13 Javascript
给easyui的datebox控件添加清空按钮的实现方法
2016/11/09 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2017/06/05 Javascript
JS判断微信扫码的方法
2017/08/07 Javascript
详解 vue better-scroll滚动插件排坑
2018/02/08 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
vue项目中运用webpack动态配置打包多种环境域名的方法
2019/06/24 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
2020/03/10 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
2020/05/01 Javascript
Bootstrap table 服务器端分页功能实现方法示例
2020/06/01 Javascript
js实现简易ATM功能
2020/10/27 Javascript
[05:45]Ti4观战指南(下)
2014/07/07 DOTA
编写Python脚本来实现最简单的FTP下载的教程
2015/05/04 Python
Python中import导入上一级目录模块及循环import问题的解决
2016/06/04 Python
python生成词云的实现方法(推荐)
2017/06/13 Python
python实现用户答题功能
2018/01/17 Python
python通过zabbix api获取主机
2018/09/17 Python
numpy 计算两个数组重复程度的方法
2018/11/07 Python
Python openpyxl读取单元格字体颜色过程解析
2019/09/03 Python
python基于opencv检测程序运行效率
2019/12/28 Python
香港优质食材和美酒专门店:FoodWise
2017/09/01 全球购物
亚马逊加拿大网站:Amazon.ca
2020/01/06 全球购物
工艺工程师工作职责
2013/11/23 职场文书
《猴子种树》教学反思
2014/02/14 职场文书
学校欢迎标语
2014/06/18 职场文书
青涩记忆观后感
2015/06/18 职场文书
关于Numpy之repeat、tile的用法总结
2021/06/02 Python
【海涛七七解说】DCG第二周:DK VS 天禄
2022/04/01 DOTA
CSS link与@import的区别和用法解析
2023/05/07 HTML / CSS