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实现根据图标提取分类应用程序实例
Sep 28 Python
Python的Django中django-userena组件的简单使用教程
May 30 Python
Python3实现抓取javascript动态生成的html网页功能示例
Aug 22 Python
pandas修改DataFrame列名的方法
Apr 08 Python
python实现图书馆研习室自动预约功能
Apr 27 Python
python斐波那契数列的计算方法
Sep 27 Python
Django REST framework视图的用法
Jan 16 Python
python f-string式格式化听语音流程讲解
Jun 18 Python
浅谈Python3实现两个矩形的交并比(IoU)
Jan 18 Python
SpringBoot实现登录注册常见问题解决方案
Mar 04 Python
PyQt5多线程防卡死和多窗口用法的实现
Sep 15 Python
python利用opencv保存、播放视频
Nov 02 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
php中根据变量的类型 选择echo或dump
2012/07/05 PHP
实现变速回到顶部的JavaScript代码
2011/05/09 Javascript
获取表单控件原始(初始)值的方法
2013/08/21 Javascript
使用js解决由border属性引起的div宽度问题
2013/11/26 Javascript
对Web开发中前端框架与前端类库的一些思考
2015/03/27 Javascript
简介JavaScript中的getSeconds()方法的使用
2015/06/10 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
2015/10/30 Javascript
JS组件Bootstrap实现图片轮播效果
2016/05/16 Javascript
JavaScript事件学习小结(三)js事件对象
2016/06/09 Javascript
jQuery取得元素标签名称小结(附代码)
2017/08/16 jQuery
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
2017/09/02 Javascript
JS学习笔记之闭包小案例分析
2019/05/29 Javascript
python实现2048小游戏
2015/03/30 Python
python实现复制整个目录的方法
2015/05/12 Python
Python使用pyh生成HTML文档的方法示例
2018/03/10 Python
python 使用sys.stdin和fileinput读入标准输入的方法
2018/10/17 Python
利用python求积分的实例
2019/07/03 Python
Python使用正则表达式分割字符串的实现方法
2019/07/16 Python
pycharm 安装JPype的教程
2019/08/08 Python
Python中断多重循环的思路总结
2019/10/04 Python
Django3.0 异步通信初体验(小结)
2019/12/04 Python
python中p-value的实现方式
2019/12/16 Python
python多线程实现代码(模拟银行服务操作流程)
2020/01/13 Python
使用Tensorboard工具查看Loss损失率
2020/02/15 Python
Keras: model实现固定部分layer,训练部分layer操作
2020/06/28 Python
Python使用lambda抛出异常实现方法解析
2020/08/20 Python
CSS3 calc()会计算属性详解
2018/02/27 HTML / CSS
css3 按钮样式简单可扩展创建
2013/03/18 HTML / CSS
Burt’s Bees英国官网:世界领先的天然个人护理品牌
2020/08/17 全球购物
资料员岗位职责
2013/11/17 职场文书
桥梁工程专业求职信
2014/04/21 职场文书
公安机关党的群众路线教育实践活动剖析材料
2014/10/10 职场文书
派出所副所长四风问题个人整改措施思想汇报
2014/10/13 职场文书
2015年煤矿工作总结
2015/04/28 职场文书
2015年质检工作总结
2015/05/04 职场文书
教你使用VS Code的MySQL扩展管理数据库的方法
2022/01/22 MySQL