彩色转灰度的公式

用PS之类软件把彩色图像转成灰度图好像很简单嘛,猜不就是每个像素的RGB值分别乘1/3再加起来就是灰度吗?

直到读书看到这么一行:

fixed luminance = 0.2125 * renderTex.r + 0.7154 * renderTex.g + 0.0721 * renderTex.b; 
——冯乐乐《UnityShader入门精要》P.248
书中指出,这是特定的系数。
 
哦原来不是1/3,彩色转灰度转换不是线性的,应该是跟人眼生理特性有关的,对三原色敏感度不同的三种视锥细胞的比例可能决定了不同的权重。
 
 
搜索了一番,
0.2125R +0.7154G+0.0721B这个公式应该来自国际电联Rec709标准,是为CRT显示器优化的
新版本微调了一点:0.2126 R+0.7152G+0.0722B
 
除此之外,还有其他公式

比如Gray = R*0.299 + G*0.587 + B*0.114

来自Rec.ITU-R BT.601-7(03/2011)

 

而这里更是列出了7种方法:Seven grayscale conversion algorithms (with pseudocode and VB6 source code)

 

posted @   野生特效测试员  阅读(537)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示
我想要握紧的并不是匕首或是什么,只不过是他的掌心而已。