颜色空间

颜色空间是特定的颜色组织;它提供了将颜色分类,并以数字图像表示的方法。

RGB 是红绿蓝颜色空间。你可以将其视为 3D 空间,在这种情况下是立方体,其中任何颜色都可以用 R、G 和 B 值的三维坐标表示。例如,白色具有坐标(255,255,255),其具有红色、绿色和蓝色的最大值。

 

RGB 颜色空间

 

除了由红色、绿色和蓝色值组成的图像之外,还有许多其他方法,可以表示图像颜色。

还有 HSV 颜色空间(色调、饱和度和值)和 HLS 空间(色调、亮度和饱和度)。这些是图像分析中最常用的颜色空间。

为了获得关于这些颜色空间的一些基础知识,通常可以将 Hue 视为代表与亮度变化无关的颜色的值。所以如果你想象一下基本的红色涂料的颜色,然后给它添加一些白色,或者一些黑色使颜色变浅或变深——基础颜色保持不变,所有这些颜色的色调都是相同的。

HSV 和 HLS

另一方面,亮度和亮度值代表测量颜色的相对亮度或暗度的不同方式。例如,暗红色将具有类似的色调,但比浅红色的亮度值低得多。饱和度也参与其中;饱和度是颜色的度量。所以,当颜色变得越来越接近白色时,它们具有较低的饱和度值,而最强烈的颜色(如亮红色、蓝色或黄色)则具有较高的饱和度值。你可以通过查看下面的3D颜色空间来更好地了解这些值。

这些不同颜色空间中的大多数都受到人类视觉系统的启发,并且/或者为了在电视屏幕显示和计算机图形中有效使用而开发。你可以点击这里阅读更多关于 HLS 和 HSV 颜色空间的历史和推导。

 
 
 

HSV 和 HLS颜色空间的更多相关文章

  1. OpenCV颜色空间——HLS颜色空间

    引自:http://blog.csdn.net/zhangping1987/article/details/73699335 HLS颜色模型 HLS颜色空间,三个分量分别是色相(H).亮度(L).饱和 ...

  2. HSV与RGB颜色空间的转换

    一.本质上,H的取值范围:0~360   S的取值范围:0~1    V的取值范围:0~255                                     但是,当图像为32F型的时候,各 ...

  3. 【转】图像灰度化方法总结及其VC实现

    转载自:  http://blog.csdn.net/likezhaobin/article/details/6915754 最近一段时间作者开始进行运动目标识别定位系统设计,本文以及后续的几篇文章都 ...

  4. [转载+原创]Emgu CV on C# (二) —— Emgu CV on 灰度化

    本文主要对彩色图片灰度化的方法及其实现过程进行总结,最终给出Emgu CV实现的代码. 一.灰度化原理及数学实现(转载自——<图像灰度化方法总结及其VC实现> 该篇文章使用opencv实现 ...

  5. 图像灰度化方法总结及其VC实现

    http://blog.csdn.net/likezhaobin/article/details/6915754 最近一段时间作者开始进行运动目标识别定位系统设计,本文以及后续的几篇文章都是从一个图像 ...

  6. opencv学习笔记——颜色空间转换函数cv::cvtColor详解

    cv::cvtColor()用于将图像从一个颜色空间转换到另一个颜色空间的转换(目前常见的颜色空间均支持),并且在转换的过程中能够保证数据的类型不变,即转换后的图像的数据类型和位深与源图像一致. 具体 ...

  7. OpenCV MAT基本图像容器

    参考博客: OpenCv中cv::Mat和IplImage,CvMat之间的转换 Mat - 基本图像容器 Mat类型较CvMat和IplImage有更强的矩阵运算能力,支持常见的矩阵运算(参照Mat ...

  8. Emgucv使用中常用函数总结

    Emgucv常用函数总结: 读取图片 Mat SCr = new Mat(Form1.Path, Emgu.CV.CvEnum.LoadImageType.AnyColor); //根据路径创建指定的 ...

  9. OpenCV颜色转换和皮肤检测

    本笔记重点记录OpenCV中的颜色转换和利用色彩空间的特性进行皮肤检测 颜色转换 实现原理 之所以要引入色调/饱和度/亮度的色彩空间概念,是因为人们喜欢凭直觉分辨各种颜色,而它与这种方式吻合.实际上, ...

随机推荐

  1. golang redis_example

    main.go package main import ( "fmt" "github.com/garyburd/redigo/redis" ) func ma ...

  2. angular4 自定义表单组件

    自定义表单组件分为单值组件和多值组件. 单值组件:input/select/radio/textarea 多值组件:checkbox/tree组件 条件: 1.必须实现ControlValueAcce ...

  3. Python发送QQ消息

    一.需求背景 每天早上取一批数据,数据文件经过压缩加密之后用邮箱发送,而解压密码通过QQ发送给运营.使用Python进行取数.文件加密在已经实现的情况下,需要实现通过QQ发送密码的功能.     在进 ...

  4. 出现$(#form).validate is not a function的问题

    最近为项目写cms系统,在新增/编辑文章的页面,一些input诸如文章题目,作者等等需要验证是否已经填写,于是使用jquery.validate.js来做这个工作,自己写了个验证的validate.j ...

  5. hystrix熔断器

    在一个具有多服务的应用中,假如由于其中某一个服务出现问题,导致响应速度变慢,或是根本没有响应返回,会导致它的服务消费者由于长时间的等待,消耗尽线程,进而影响到对其他服务的线程调用,进而会转变为整个应用 ...

  6. 常见任务&基本工具 1 软件包管理

    打包系统主要有两个阵营 包文件的简介 Package files are created by a person known as a package maintainer, often (but n ...

  7. win10 系统同步时间出错

    设置->时间和语言->区域和语言->其他日期,区域和时间设置->设置时间和日期->Internet时间->更改设置 应该会有两个服务器,分别更新下时间,哪个正确就用 ...

  8. 洛谷P1052 过河

    P1052 过河 题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上. 由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青 ...

  9. nodeJs基础方法

    Node.js 是一个基于Chrome javascript 运行时建立的一个平台, 用来方便地搭建快速的 易于扩展的网络应用 Node.js 借助事件驱动, 非阻塞I/O 模型变得轻量和高效, 非常 ...

  10. HBuilderX生成本地打包App资源

    http://ask.dcloud.net.cn/question/60254 概要 在HBuilderX中开发的应用可以提交到云端打包生成apk(Android平台)和ipa(iOS平台).如果本地 ...