.net - 获取灰度像素的亮度

标签 .net colors grayscale

基本上,我试图找到位图图像中所有像素的亮度。我使用的图像是 24 位位图图像,并且不允许使用函数 GetBrightness()。 我正在获取像素的 RGB 值,我想知道 RGB 值是否也是像素的亮度,或者有人可以推荐一种获取灰度像素的像素亮度的方法吗?

谢谢

最佳答案

由于亮度(亮度)是主观的,因此有多种方法可以将 RBG 转换为亮度值。区别在于您赋予每种颜色多少权重。

这是one method对于相对亮度 (Y):

Y = (0.2126 * R) + (0.7152 * G) + (0.0722 * B)

这是another :

Y = (0.299 * R) + (0.587 * G) + (0.114 * B)

第一种方法对某些人来说更可取,因为(对于大多数人来说)“绿光对人类感知的强度贡献最大,而蓝光贡献最小”。色盲和其他差异会减弱这种影响。请注意,第二种方法对绿色值的权重较小,对红色值的权重较大,蓝色值的权重稍稍增加。

关于.net - 获取灰度像素的亮度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27136950/

相关文章:

javascript - 带动画的 CSS 灰度

c# - 如何从种子中生成随机的人类可读颜色? C#

css - 无法悬停以更改文本颜色

java - 如何将int RGB转为BYTE二维数组灰度图像

.net - 将上下文菜单命令参数绑定(bind)到数据网格属性

css - 如何为背景颜色添加颗粒类型外观

python - 如何在使用 cv2 保持透明度的同时将图像转换为灰度?

c# - OnMethodBoundaryAspect 是如何工作的?

c# - 用于为 Web 应用程序实现文档编辑和查看功能的 API?

c# - DateTime.Parse 在特定文化中总是抛出异常