HSV中H为色调(Hue)、S为饱和度(Saturation)、V为亮度(Value)三个分量构成

RGB和HSV颜色空间中进行图像处理的案例,HSV颜色空间分离图像中每一个像素的值或V分量。这个分量在不同光照条件下变化最大,H或色调通道在阴影或高亮条件下非常稳定,如果我们主要依赖于这个通道,并丢弃V通道中的信息。我们就能比RGB颜色空间更可靠地探测彩色对象。比如这里的绿色屏幕背景。

这里已经导入图片,绿色屏幕的图像亮度不均匀,带有阴影区域和亮度不同的区域。我想遮住这个绿色区域,看看RGB和

HSV颜色空间中是那些通道起作用,现在这幅图像中每个像素都有代表位置的x和y值。以及代表颜色的RGB值,首先要做的是重建RGB阈值,

设置上下阈值,用cv2.inRange创建一个遮罩,然后遮盖面积不等于0的图像部分,既白色区域,

由于阴影部分的存在,它只遮盖住了一半的绿色背景,我们看看HSV颜色空间是不是效果更好?首先我们需要把图像转换为

HSV颜色空间,使用cvtColor函数,这是一个色彩转换函数,我们使用RGB到HSV.返回转换后的图像。然后我们把每一个色彩通道都隔离开。方便可视化。要隔离通道,只需代入图像阵列,带入图像前两列的x和y值,然后是第三列的0索引,代表每一个像素的色调。类似的 对于饱和度和明度,打入图像像素的所有x和y坐标,然后取第三列的第一个和第二个索引,

得到每一个像素的饱和度和i明度值,然后在灰阶中绘制每一个彩色通道。

这是灰阶度饱和度表示的三个通道,像素越亮,代表色调值,饱和度,明度的值越高,我们可以看到,即便在阴影部分

色调水平非常一致,但饱和度和明度分量变化很大,尤其是阴影部分

HSV转换的更多相关文章

  1. OpenCV中RGB和HSV转换的问题

    1.一般情况下HSV模型各分量的取值范围为:H为0到360°,S为0到100%,V为0到255.但是在OpenCV中在由RGB转换到HSV的过程中,发现HSV中H为0到180°,S为0到255,V为0 ...

  2. Delphi图像处理 -- RGB与HSV转换

    阅读提示:     <Delphi图像处理>系列以效率为侧重点,一般代码为PASCAL,核心代码采用BASM.     <C++图像处理>系列以代码清晰,可读性为主,全部使用C ...

  3. [图像类名词解释][ RGB YUV HSV相关解释说明]

    一.概述 颜色通常用三个独立的属性来描述,三个独立变量综合作用,自然就构成一个空间坐标,这就是颜色空间.但被描述的颜色对象本身是客观的,不同颜色空间只是从不同的角度去衡量同一个对象.颜色空间按照基本机 ...

  4. c# 实现 HSV 调色板

    界面相关核心代码如下: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private vo ...

  5. LCD LED OLED区别 以及RGB、YUV和HSV颜色空间模型

    led 液晶本身不发光,而是有背光作为灯源,白色是由红绿蓝三色组成,黑色是,液晶挡住了led灯光穿过显示器. lcd比led更薄. oled:显示黑色时,灯是灭的,所以显示黑色更深,效果更好. 这就不 ...

  6. RGB、YUV和HSV颜色空间模型

    一.概述 颜色通常用三个独立的属性来描述,三个独立变量综合作用,自然就构成一个空间坐标,这就是颜色空间.但被描述的颜色对象本身是客观的,不同颜色空间只是从不同的角度去衡量同一个对象.颜色空间按照基本机 ...

  7. ISP模块之色彩增强算法--HSV空间Saturation通道调整 .

    色彩增强不同于彩色图像增强,图像增强的一般处理方式为直方图均衡化等,目的是为了增强图像局部以及整体对比度.而色彩增强的目的是为了使的原有的不饱和的色彩信息变得饱和.丰富起来.对应于Photoshop里 ...

  8. 06: RGB、YUV和HSV颜色空间模型

    RGBA是代表Red(红色)Green(绿色)Blue(蓝色)和Alpha的色彩空间 YUV:Y"表示明亮度(Luminance或Luma),也就是灰阶值:而"U"和&q ...

  9. OpenCV3编程入门笔记(1)图像载入、显示、保存、变换灰度图

    图像载入.显示.保存函数: 1         图像载入函数:imread()   Mat imread(const string& filename, int flags=1); const ...

随机推荐

  1. netbeans 代码自动补全设置

    编辑器-----代码完成------语言选择"JAVA"------在如图红框中输入 @ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrst ...

  2. div覆盖div DIV相互重叠如何解决

    div覆盖div,出现div与div盒子之间产生重叠覆盖现象,而内容没有出现覆盖重叠现象原因与解决方法.DIVCSS5通过CSS图文案例介绍产生原因与解决方法.DIV与DIV覆盖原因与解决方法. 可能 ...

  3. Asio与Boost.Asio

    译自http://think-async.com/Asio/AsioAndBoostAsio Asio有两种变体:(非Boost)Asio和Boost.Asio.本文概要描述二者的不同. 1. 源代码 ...

  4. RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占优势

    美国时间3月4-8日,国际知名信息安全峰会RSA Conference在美国旧金山开幕,云安全及云可以为企业提供更可靠的资产管理方式成为大会热点. 此次峰会共吸引全球700多家机构参展,其中近42%为 ...

  5. web App libraries跟referenced libraries的一些问题

    该博文内容经参看网上其他资料归纳所成,并注明出处: 问题一:myeclipse中Web App Libraries无法自动识别lib下的jar包(http://blog.csdn.net/tianca ...

  6. freemarker 取值(插值)(转)

    Java数据模型 1)基本数据类型取值 八种基本的java类型:byte.short.int.long:float,double:char:boolean 对应的封装类型:Byte.Short.Int ...

  7. Bigdecimal 相加结果为0的解决

    之前很少使用这样的一个对象BigDecimal,今天在改需求的时候遇到了,结果坑爹的怎么相加最后都为零. 代码如下: BigDecimal totalAmount = new BigDecimal(0 ...

  8. [Vue CLI 3] 插件开发之 registerCommand 到底做了什么

    首先,我们看到在 package.json 中有 scripts 的定义: "scripts": { "serve": "vue-cli-servic ...

  9. 洛谷P1929 迷之阶梯

    P1929 迷之阶梯 题目描述 在经过地球防卫小队的数学家连续多日的工作后,外星人发的密码终于得以破解.它 告诉我们在地球某一处的古老遗迹中,存在有对抗这次灾难的秘密武器.防卫小队立即赶 到这处遗迹. ...

  10. Leetcode888.Fair Candy Swap公平的糖果交换

    爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝拥有的第 i 块糖的大小,B[j] 是鲍勃拥有的第 j 块糖的大小. 因为他们是朋友,所以他们想交换一个糖果棒,这样交换后,他们都有相同的糖果总量.( ...