HSV转换
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转换的更多相关文章
- 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 ...
- Delphi图像处理 -- RGB与HSV转换
阅读提示: <Delphi图像处理>系列以效率为侧重点,一般代码为PASCAL,核心代码采用BASM. <C++图像处理>系列以代码清晰,可读性为主,全部使用C ...
- [图像类名词解释][ RGB YUV HSV相关解释说明]
一.概述 颜色通常用三个独立的属性来描述,三个独立变量综合作用,自然就构成一个空间坐标,这就是颜色空间.但被描述的颜色对象本身是客观的,不同颜色空间只是从不同的角度去衡量同一个对象.颜色空间按照基本机 ...
- c# 实现 HSV 调色板
界面相关核心代码如下: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private vo ...
- LCD LED OLED区别 以及RGB、YUV和HSV颜色空间模型
led 液晶本身不发光,而是有背光作为灯源,白色是由红绿蓝三色组成,黑色是,液晶挡住了led灯光穿过显示器. lcd比led更薄. oled:显示黑色时,灯是灭的,所以显示黑色更深,效果更好. 这就不 ...
- RGB、YUV和HSV颜色空间模型
一.概述 颜色通常用三个独立的属性来描述,三个独立变量综合作用,自然就构成一个空间坐标,这就是颜色空间.但被描述的颜色对象本身是客观的,不同颜色空间只是从不同的角度去衡量同一个对象.颜色空间按照基本机 ...
- ISP模块之色彩增强算法--HSV空间Saturation通道调整 .
色彩增强不同于彩色图像增强,图像增强的一般处理方式为直方图均衡化等,目的是为了增强图像局部以及整体对比度.而色彩增强的目的是为了使的原有的不饱和的色彩信息变得饱和.丰富起来.对应于Photoshop里 ...
- 06: RGB、YUV和HSV颜色空间模型
RGBA是代表Red(红色)Green(绿色)Blue(蓝色)和Alpha的色彩空间 YUV:Y"表示明亮度(Luminance或Luma),也就是灰阶值:而"U"和&q ...
- OpenCV3编程入门笔记(1)图像载入、显示、保存、变换灰度图
图像载入.显示.保存函数: 1 图像载入函数:imread() Mat imread(const string& filename, int flags=1); const ...
随机推荐
- Spring_Hibernate整合准备
1,Spring整合Hibernate 整合什么? 1)由IOC容器来生成Hibernate的SessionFactory 2)让Hibernate使用上Spring的声明式事务 2,整合步骤 1 ...
- Linux下根目录root扩容
参考博客:https://blog.csdn.net/qq_36527339/article/details/81772996 1.首先虚拟机关机 —> 选中要扩容的虚拟机 —>编辑虚拟机 ...
- Mac下载Navicat premium提示文件损坏的解决方案
首先打开终端,执行: sudo bash 这时会提示你输入你的账户密码, 输入完后就切换到了 root 用户,然后执行: xattr -cr /Applications/Navicat\ Premiu ...
- java习题-集合框架-泛型
集合框架 一 去除List集合中的重复元素. 思路: 1,先创建一个临时容器.用于存储唯一性的元素.2,遍历原容器,将遍历到的元素到临时容器中去判断,是否存在.3,如果存在,不存储到临时容器,如果不存 ...
- eclipse2018整合tomcat9
eclipse2018整合tomcat9 选择 Windows --> preferences --> server --> runtime environmen:点击“add”按钮 ...
- 微信小程序之项目的创建
之前就想学习一下微信小程序,只不过前段时间在学习Java中的一些线程的知识,拖了很久也没有实行这个目标,今天终于从网上找了一个完整的视频,来从头学习完整的开发流程,现在逐渐有一种想法,就是自己构建项目 ...
- 2017年2月27日Unicorn, US (148) and China (69), followed by the U.K. (10), India (9), Israel (5) and Germany (5).
Revisiting The Unicorn Club Get to know the newest crowd of billion dollar startups In 2013, when Ai ...
- Ubuntu 安装 setuptools
Setuptools的官方页面 Easily download, build, install, upgrade, and uninstall Python packages 它是一个对python的 ...
- arcgis投影测试
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- win下在虚拟机安装CentOS 7 Linux系统
准备: CentOS 7下载地址(我下的是everthing版本):https://www.centos.org/download/ 一.首先下载安装虚拟机VMware 地址官网下载即可. 二.安装操 ...