come from : https://www.cnblogs.com/whw19818/p/6307514.html

色彩三要素(Elements of color)色彩可用的色调(色相)、饱和度(纯度)和明度来描述。人眼看到的任一彩色光都是这三个特性的综合效果,这三个特性即是色彩的三要素,其中色调与光波的波长有直接关系,亮度和饱和度与光波的幅度有关。

走在大街上,看了一个女生穿着  “红色”  的衣服,这个  红色  就是色相,  上午看这个女生,阳光充足打在她的衣服上 反射到了眼睛里面 感觉好亮,这个就是明度,傍晚觉得没有那么亮,这个就是明度,亮到一定程度的时候,感觉都是白色的,暗到一定程度的时候,感觉都是黑色的,这个就是明度的变化,红色的衣服 可能是 粉红色 ,鲜红色  这个 粉红 鲜红  就是指饱和度。

色相、明度与饱和度 
1,色相:色相通俗的说就是“颜色”,色相的改变就是颜色的改变,色相的调节伴随着红橙黄绿蓝紫的变化。
2,明度:明度通俗的说就是“光照度”,明度的改变就是光照在物体上带来的改变,明度的调节伴随着越高,光越强,越泛白(就像过曝一样,往白色上偏离);越低,光越弱,越往黑里偏
3,饱和度:饱和度通俗的说就是“色彩的纯度”,饱和度的改变会影响颜色的鲜艳程度,以红色为例子,越高,越接近红色,越低则越接近灰色(黑白)

1.1 色相定义

  色彩是由于物体上的物理性的光反射到人眼视神经上所产生的感觉。色的不同是由光的波长的长短差别所决定的。作为色相,指的是这些不同波长的色的情况。波长最长的是红色,最短的是紫色。把红、橙、黄、绿、蓝、紫和处在它们各自之间的红橙、黄橙、黄绿、蓝绿、蓝紫、红紫这6种中间色——共计12种色作为色相环。在色相环上排列的色是纯度高的色,被称为纯色。这些色在环上的位置是根据视觉和感觉的相等间隔来进行安排的。用类似这样的方法还可以再分出差别细微的多种色来。在色相环上,与环中心对称,并在180度的位置两端的色被称为互补色。

                            

1.2 饱和度定义

  用数值表示色的鲜艳或鲜明的程度称之为彩度。有彩色的各种色都具有彩度值,无彩色的色的彩度值为0,对于有彩色的色的彩度(纯度)的高低,区别方法是根据这种色中含灰色的程度来计算的。彩度由于色相的不同而不同,而且即使是相同的色相,因为明度的不同,彩度也会随之变化的。

                        

1.3 明度定义

  表示色所具有的亮度和暗度被称为明度。计算明度的基准是灰度测试卡。黑色为0,白色为10,在0—10之间等间隔的排列为9个阶段。色彩可以分为有彩色和无彩色,但后者仍然存在着明度。作为有彩色,每种色各自的亮度、暗度在灰度测试卡上都具有相应的位置值。彩度高的色对明度有很大的影响,不太容易辨别。在明亮的地方鉴别色的明度比较容易的,在暗的地方就难以鉴别。

                          

2 色相、饱和度、明度调节

  常在RGB色彩空间调整亮度与饱和度不是很直观,而HSL彩色空可以很直观表示出每个像素的饱和度与亮度。所以首先读取图像的像素RGB值然后再转换到HSL空间得到饱和度与亮度值,调整以后再从HSL空间转换到RGB空间的RGB值,对每个像素完成这样的调整就完成图像的亮度与饱和度调整。

3 饱和度调节源码实现

 1 #include "highgui.h"2 #include "cv.h"3 #include "stdio.h"4 IplImage* src = 0;5 int g_switch_value = 0;6 int value=0;7 int main( )//int argc,char**argv) 8 {9     src = cvLoadImage("11.bmp", 1);
10     CvSize cvSz = cvGetSize(src);
11     IplImage* h_plane = cvCreateImage( cvGetSize(src), 8, 1 );
12     IplImage* s_plane = cvCreateImage( cvGetSize(src), 8, 1 );
13     IplImage* v_plane = cvCreateImage( cvGetSize(src), 8, 1 );
14     cvCvtColor(src,src,CV_RGB2HSV);//RGB转为HSV空间
15     cvCvtPixToPlane( src,h_plane, s_plane, v_plane, 0 ); //HSV分为H,S,V三个分量
16     cvNamedWindow("src",1);
17     cvCreateTrackbar("bar","src",&g_switch_value,200,NULL);
18     unsigned char* pTest = (uchar*)s_plane->imageData;
19     int m=src->height;
20     int n=src->width;
21     printf("%d\n",m);//输出图像的长和宽
22     printf("%d\n",n);
23     while(1)
24     {
25       if(cvGetTrackbarPos("bar","src")!=value)
26       {
27        for(int y=0;y<m;y++)
28        {
29         for( int x=0; x<n; x++ )
30         {
31             pTest[y*n+x] +=cvGetTrackbarPos("bar","src")-value;//pTest[y*n+x]+g_switch_value;
32         }
33        }
34        value=cvGetTrackbarPos("bar","src");
35       }
36        cvCvtPlaneToPix( h_plane, s_plane, v_plane, 0, src );
37        cvCvtColor(src,src,CV_HSV2RGB);
38        cvShowImage("src",src);
39        if(cvWaitKey (15)==27) break;                        //按Esc退出
40      }
41        cvReleaseImage(&src);
42        cvDestroyWindow("src");
43        return 0;
44 }

色相、饱和度、明度定义相关推荐

  1. html的hsl形式的颜色选择器,hsl() - 色相饱和度明度模式 - css3颜色

    hsl() 版本:CSS3 hsl()函数符被定义为色相-饱和度-明度(Hue-saturation-lightness)模式.HSL 相比 RGB 的优点是更加直观:你可以估算你想要的颜色,然后微调 ...

  2. C++实现Photoshop色相/饱和度/明度功能

    本文用C++实现Photoshop色相/饱和度/明度功能,界面程序使用BCB6:图片操作采用GDI+.代码也可适用于其它C/C++编译器(可能要稍作修改). 有关Photoshop饱和度调整原理可参见 ...

  3. 1 色相、饱和度、明度定义

    色彩三要素(Elements of color)色彩可用的色调(色相).饱和度(纯度)和明度来描述.人眼看到的任一彩色光都是这三个特性的综合效果,这三个特性即是色彩的三要素,其中色调与光波的波长有直接 ...

  4. 在QT框架下进行仿照PS图像调整功能设计(亮度对比度,色相饱和度及明度)

    原文链接:https://blog.csdn.net/maozefa/article/details/4778934 图像亮度调整分为非线性和线性两种方法. 非线性图像亮度是将图像像素的R.G.B分别 ...

  5. PHP HSV色相 饱和度 亮度 增强

    PHP HSV色相 饱和度 亮度 增强 在开始之前我们先了解一下什么是HSV HSV 是颜色模型 色调H 用角度度量,取值范围为0°-360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°, ...

  6. 色彩和色调(色相,明度,冷暖,纯度)

    为什么80%的码农都做不了架构师?>>>    一直都说色彩和色调,那色彩和色调到底是什么呢?? 一.色调:决定色调的是反射的光线中哪种光线占优势 通常以一幅画的色相.明度.冷暖.纯 ...

  7. 用OpenCV实现Photoshop算法(七): 调整色相饱和度

    系列文章: 用OpenCV实现Photoshop算法(一): 图像旋转 用OpenCV实现Photoshop算法(二): 图像剪切 用OpenCV实现Photoshop算法(三): 曲线调整 用Ope ...

  8. 对比度和色彩的三要素——色相、明度、纯度

    对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,差异范围越大代表对比越大,差异范围越小代表对比越小,好的对比率120:1就可容易地显示生动.丰富的色彩,当对比率高达300:1时 ...

  9. 修改图片颜色 色相 饱和度 亮度 ColorMatrix

    Android开发中经常会遇到一些简单的图片处理,比如修改图片的颜色,饱和度,亮度等.今天就给大家介绍一下简单的图片处理. 基础知识 颜色的三要素 色调(色相/颜色):物体的颜色: 饱和度(彩度):色 ...

  10. ps 色相/饱和度,描边,外发光算法(opengl)

    做游戏可能需要有些动态的改变图片效果要求,这些用ps做的很容易,但是耗资源,所以在这里列举几个常用的滤镜算法,效果算是一般,没ps的专业 ~~. #ifdef GL_ES precision medi ...

最新文章

  1. LeetCode简单题之将句子排序
  2. 在网页中画Icon小图标
  3. php创建mysql计划任务_有关创建PHP-MySQL后台任务的建议
  4. C/C++ 指针详解
  5. C#中事务的简单使用
  6. Java案例:利用JDBC连接Oracle数据库
  7. Linux驱动之设备模型(1)
  8. 买房后每月还贷是什么感觉?
  9. Linux中防火墙端口查看,开启与关闭
  10. Sketch2Code 前端智能AI-识别草图生成代码
  11. PS制作一寸带白框的证件照
  12. java前缀表达式二叉树课程设计_表达式构建二叉树(中缀,前缀,后缀)
  13. python正则表达式快速入门_Python 正则表达式入门
  14. ADSL拨号代理服务器实现HTTP代理的搭建过程
  15. 牛客 送分啦-QAQ
  16. IBM识别癌变细胞技术取得重大突破,用深度学习与神经网络重塑病理学
  17. 初中英语语法(009)-动名词
  18. IOS 编程初体验 第一篇:自学和培训的选择
  19. 宏正ATEN发行全新高端式IP-Based Cat 5 KVM多电脑切换器
  20. 京东云linux面板脚本,Surge 开启脚本功能后,京东自动签到总结

热门文章

  1. redis雪崩、穿透、击穿的原因和解决方案
  2. c语言式表白,c语言表白必备
  3. 美国语言教学5c标准,美国外语教学(一)——5C目标
  4. 开发网站为“禁止复制”“禁用右键功能”(易被破解)
  5. 如何用一个例子彻底解释白盒测试中语句覆盖、判定覆盖、条件覆盖、条件判定覆盖、条件组合覆盖?
  6. 通过PackageManager 获取未安装的apk的包名,应用名,图标等,有个小吭
  7. 【单片机】2.1 AT89S52单片机的硬件组成
  8. 文件系统系列之一:fat文件系统的结构分析
  9. MATLAB时域信号采样,信号时域采样 频谱分析(matlab)
  10. 基于python的爬虫毕业论文_基于python网络爬虫及数据处理毕业论文 相关实例(示例源码)下载 - 好例子网...