首页 > 其他分享 >亮度

亮度

时间:2024-08-11 19:28:54浏览次数:9  
标签:颜色 平均法 亮度 RGB 计算 色彩

亮度(Brightness)是色彩感知的一个属性,它描述了颜色的明亮程度。在色彩学中,亮度通常与颜色的光反射率或者发光强度有关。一个颜色越亮,它反射或发出的光就越多;一个颜色越暗,它反射或发出的光就越少。
在RGB色彩模式中,亮度可以通过以下几种方式来理解和计算:

1. 简单的平均法

一种简单的计算亮度的方法是取RGB三个颜色通道值的平均值。这种方法假设红色、绿色和蓝色对亮度的贡献是相等的。
亮度 = (R + G + B) / 3
这里的R、G、B值通常是在0到255的范围内。计算出的亮度值也会在这个范围内,值越大,颜色越亮。

2. 加权平均法

由于人眼对不同颜色的敏感度不同,通常绿色看起来会比红色和蓝色更亮。因此,更准确的计算亮度的方法是使用加权平均法,其中绿色通道的权重更大。
亮度 = 0.299R + 0.587G + 0.114*B
这里的0.299、0.587和0.114是依据人眼对不同颜色的感知度所确定的权重系数。使用这种方法计算出的亮度值同样会在0到255的范围内。

3. 转换到其他色彩空间

另一种计算亮度的方法是先将RGB转换到其他色彩空间,如HSV(色调、饱和度、亮度)或HSL(色调、饱和度、亮度)。在这些色彩空间中,亮度是一个直接可用的分量。
在HSV色彩空间中,亮度(V)的计算如下:
亮度 V = max(R, G, B)
这里的max函数返回RGB三个值中的最大值。亮度V的值范围是0到1,其中0代表黑色(完全没有亮度),1代表最亮(纯白或颜色最亮的状态)。

例子

假设我们有一个RGB颜色(100, 150, 200):
使用加权平均法计算亮度:
亮度 = 0.299100 + 0.587150 + 0.114200 ≈ 0.299100 + 0.587150 + 0.114200 ≈ 29.9 + 88.05 + 22.8 = 140.75
因此,这个RGB颜色的亮度大约是140.75,这在0到255的范围内表示一个中等亮度。
总结来说,亮度是一个主观感知属性,可以通过不同的方法来量化计算。在不同的应用和色彩处理系统中,亮度的计算方法可能会有所不同。

标签:颜色,平均法,亮度,RGB,计算,色彩
From: https://www.cnblogs.com/csdn001/p/18353784

相关文章

  • AP5174内置PWM调节LED灯亮度输入5-100V车灯驱动IC方案
    产品描述AP5174是一款效率高,稳定可靠的LED灯恒流驱动控制芯片,内置高精度比较器,固定关断时间控制电路,恒流驱动电路等,特别适合大功率LED恒流驱动。AP5174采用ESOP8封装,散热片内置接SW脚,通过调节外置电流检测的电阻值来设置流过LED灯的电流,支持外加电压线性调光,最大......
  • OpenCV 遍历Mat,像素操作,使用TrackBar 调整图像的亮度和对比度 C++实现
    文章目录1.使用C++遍历Mat,完成颜色反转1.1常规遍历方式1.2迭代器遍历方式1.3指针访问方式遍历(最快)1.4不同遍历方式的时间对比2.图像像素操作,提高图像的亮度3.TrackBar进度条操作3.1使用TrackBar调整图像的亮度3.2使用TrackBar调整图像的对比度1.使用C++遍历M......
  • C#+OpenCV基础(八)_获取修改图片亮度
    1、获取图片亮度///<summary>///获取图片的亮度(取HSV中V通道的均值)///</summary>///<paramname="mat">图片</param>///<returns></returns>publicstaticScalarGetVChannelMean(Matmat){//转Hsv图片Mathsv=newMat();......
  • ROG笔记本切换性能模式后,Win11 亮度滑动条失效
    不知道是ROG的Bug还是其设计问题,还是Win11本身的问题。本情况仅针对于快捷键可以调整亮度,但是拖动系统的亮度滑动条无法调整亮度的。治跟不治本法:只需在设置中的节电模式中将节能建议设置为“全部应用”。这样就可以通过Win11的亮度滑动条来调整亮度了。但是这样,会在每次......
  • RK3588-12将亮度调节从伽马曲线改调节为线性调节
    需求:    Rockchip-android11和android12系统亮度调节框调节亮度是曲线调节,需改为像低版本系统一样的线性调节效果(亮度递增效果)解决方法:代码路径:frameworks/base/packages/SettingsLib/src/com/android/settingslib/display/BrightnessUtils.java---a/pack......
  • 实现了对图像的亮度、对比度、饱和度的调整以及添加高光效果
    读取原始图像:使用cv2.imread()函数从指定路径读取一张图片,并将其存储在变量image中。创建光照掩模:生成一个与原图大小相同但完全黑色的图像(使用np.zeros_like()),这将作为后续光照效果的基础。定义光照中心点:确定光照效果的中心位置,默认为图像的几何中心。创建圆形光照区......
  • STM32使用定时器在普通gpio上模拟pwm-红牛开发板LED1的亮度调节
    stm32F103zet只有固定的几个针脚可以输出tim定时器信号,在不支持tim输出的口上就没法输出pwm,在红牛开发版上的表现就是控制lcd屏幕亮度的a1针脚,可以输出pwm,屏幕亮度可以无极调节,但是4个led灯就只能控制开关。使用arduino的analogWrite函数,只能调节开关。可以用定时器的中断来控制......
  • stm32F07 HAL 库 通过定时器方式实现呼吸灯 自定义呼吸灯函数 (以参数方式设置io
    效果: 1、通过Stm32CubMX开启定时器、设置对应的io口,然后生成工程STM32CubeMX|STM32HAL库方式的微秒延时函数  2、自定义呼吸灯函数代码://呼吸灯函数//GPIO_TypeDef*GPIOx:GPIO组(A-G)//uint16_tGPIO_Pin:IO口(GPIO_Pin_0--GPIO_Pin_16)//......
  • 上位机图像处理和嵌入式模块部署(qmacvisual亮度检测)
    【 声明:版权所有,欢迎转载,请勿用于商业用途。联系信箱:[email protected]】    前面我们说过,在机器视觉当中,对于光源的处理要非常小心。这里面不仅包括了选择什么样的光源,还取决于怎样使用这些光源。通常情况下,静止的场景,一般都是手工调节光源之后,不再修改;但是对......
  • 后处理 - 亮度,饱和度,对比度
    效果 c#代码usingUnityEngine;publicclassMyBrightnessSaturationAndContrast:MonoBehaviour{publicShaderm_Shader;publicMaterialm_Material;[Range(0.0f,3.0f)]publicfloatm_brightness=1.0f;[Range(0.0f,3.0f)]publ......