gpt4 book ai didi

image-processing - 将 RGB 转换为灰度/强度

转载 作者:行者123 更新时间:2023-11-30 16:22:42 27 4
gpt4 key购买 nike

当从 RGB 转换为灰度时,据说应该对 R、G 和 B channel 应用特定的权重。这些权重是:0.2989、0.5870、0.1140。

据说这是因为人类对这三种颜色的感知/感受不同。有时也有人说这些是用于计算 NTSC 信号的值。

但是,我在网上没有找到这方面的良好引用。这些值的来源是什么?

另请参阅之前的这些问题:herehere .

最佳答案

问题中的具体数字来自 CCIR 601(请参阅 Wikipedia article)。

如果您使用稍微不同的数字/不同的方法转换 RGB -> 灰度,在普通计算机屏幕上您不会看到太大差异在正常照明条件下——尝试一下。

这里有一些关于一般颜色的更多链接:

维基百科 Luma

Bruce Lindbloom的杰出网站

Colin Ware 所著《信息可视化》一书中有关颜色的第 4 章,isbn 1-55860-819-2;这个长链接指向 books.google.com 中的 Ware可能有效,也可能无效

cambridgeincolor :优秀,写得好“关于如何获取、解释和处理数码照片的教程使用以视觉为导向的方法,强调概念而不是程序”

如果您遇到“线性”与“非线性”RGB,这是我自己写的关于此事的旧笔记的一部分。重复一遍,实际上您不会看到太大的差异。

<小时/>### RGB -> ^gamma -> Y -> L*

在色彩科学中,常见的RGB值,如html中的rgb( 10%, 20%, 30% ),被称为“非线性”或 Gamma corrected 。“线性”值定义为

Rlin = R^gamma,  Glin = G^gamma,  Blin = B^gamma

对于许多 PC,gamma 为 2.2。通常的R G B有时也写成R' G' B' (R' = Rlin ^ (1/gamma))(纯粹主义者舌头点击)但在这里我将删除“。

CRT 显示器的亮度与 RGBlin = RGB ^ gamma 成正比,因此,CRT 上的 50% 灰度相当暗:0.5 ^ 2.2 = 最大亮度的 22%。(液晶显示屏比较复杂;此外,某些显卡会补偿 Gamma 。)

要从 RGB 中获取名为 L* 的亮度测量值,首先将 R G B 除以 255,然后计算

Y = .2126 * R^gamma + .7152 * G^gamma + .0722 * B^gamma

这是 XYZ 色彩空间中的 Y;它是颜色“亮度”的度量。(真正的公式并不完全是 x^gamma,但很接近;坚持使用 x^gamma 进行第一遍。)

最后,

L* = 116 * Y ^ 1/3 - 16

"... aspires to perceptual uniformity [and] closely matches human perception of lightness." --Wikipedia Lab color space

关于image-processing - 将 RGB 转换为灰度/强度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54344766/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com