彩色转灰度的公式
用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
而这里更是列出了7种方法:Seven grayscale conversion algorithms (with pseudocode and VB6 source code)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App