色相、饱和度、明度定义

news/2025/1/25 3:46:51/

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 }

 


http://www.ppmy.cn/news/311510.html

相关文章

灰度、灰度级、分辨率、像素值 概念解析

​1、像素点 像素点是最小的图像单元&#xff0c;一张图片由好多的像素点组成。如下图 可以看到上述图片尺寸是500 * 338 的&#xff0c;表示图片是由一个500 * 338的像素点矩阵构成的&#xff0c;这张图片的宽度是500个像素点的长度&#xff0c;高度是338个像素点的长度&#…

APP全局色彩饱和度修改

APP全局色彩饱和度修改 对以下两篇鸿洋大神的博文进行了实践&#xff0c;并记录对应的问题。 App 黑白化实现探索&#xff0c;有一行代码实现的方案吗&#xff1f; App 黑白化实现探索2&#xff0c; 发现了一种更方便的方案&#xff0c;我被锤了&#xff01; 第一篇 第一篇采用…

理解图像中基本概念:色调、色相、饱和度、对比度、亮度

对比度&#xff1a; 对比度指不同颜色之间的差别。对比度越大&#xff0c;不同颜色之间的反差越大&#xff0c;即所谓黑白分明&#xff0c;对比度过大&#xff0c;图像就会显得很刺眼。对比度越小&#xff0c;不同颜色之间的反差就越小。 亮度&#xff1a; 亮度指照射在景物…

检测色卡饱和度和色彩偏差

简介 本篇讲解如何测24色卡的饱和度和色彩偏差。实现原理 主要是模仿imatest来实现&#xff0c;详细资料请参考&#xff1a;http://www.imatest.com/docs/colorcheck/ 具体做法&#xff1a;1、首先鼠标框选出色卡中24色所在位置&#xff0c;然后分别在对应色块中再取出小块矩形…

亮度对比度色调饱和度最佳_色彩三要素之—— “饱和度”

今天是色彩三要素最后一篇了,学起学起! 何为饱和度? 饱和度:色彩饱和度,可以理解为色彩的纯度,纯度越高,表现越鲜艳,纯度越低,表现越暗淡,简单来说就是色彩中灰色成分多少,这将直接影响了色彩的饱和度 。 再来看一张图⬇️

Android色彩特效处理之色调、饱和度、亮度、ColorMatrix精炼详解

一、前期基础知识储备 Bitmap&#xff08;位图文件&#xff09;&#xff0c;扩展名可以是.bmp或者.dib。位图是Windows标准格式图形文件&#xff0c;它将图像定义为由点(像素)组成&#xff0c;每个点可以由多种色彩表示&#xff0c;包括2、4、8、16、24和32位色彩。想象一下你…

色彩,饱和度,强度和对比度(HSIC)

Hue, Saturation, Intensity, and Contrast (HSIC) 色彩&#xff0c;饱和度&#xff0c;强度和对比度&#xff08;HSIC&#xff09; 1、Sunlight visibility improvement Improved contrast for multimedia content at the same power (backlight) level 阳光能见度提高 …

OpenCV - C++实战(07) — 色调、饱和度和亮度的色彩空间

目录 第7章 色调、饱和度和亮度的色彩空间 7.1 色度、饱和度和亮度的概念 7.2 图像HSV模型 7.3 通过HSV生成色彩特效 7.4 颜色用于肤色检测 7.5 完整代码 Github代码地址&#xff1a;GitHub - Qinong/OpenCV 第7章 色调、饱和度和亮度的色彩空间 RGB 是一种被广泛接受…