我的光标比白色更白吗?


21

我最近注意到我的光标比背景白色(纯0xFFFFFF)更白。我最初认为这是一种视觉幻觉,因为截取屏幕快照显示背景和光标都位于0xFFFFFF。然后我拍了一张光标的照片,它清楚地显示出亮度的差异:

游标照片

我在图像上放置了马赛克滤镜,以更好地看到平均亮度:

带有马赛克滤镜的光标照片

箭头的内部大约是191灰色(0xBF),背景大约是177灰色(0xB1),这意味着光标的白色比背景的纯白色亮大约8%。

什么硬件在执行此操作以及如何执行?颜色信息是否以每通道8位以上的速率传输?

该计算机是Windows XP,具有通过HDMI电缆连接到Samsung 5100电视的NVIDEA GeForce 8500 GT图形卡。

另一张照片:

两个光标和一个阴影正方形

一个硬件光标,一个硬件光标的屏幕快照以及每个灰度值(从0到0xFF)的2个2x2块的16x16正方形。

两个光标和带有马赛克滤镜的阴影正方形

与上一张图像相同,但应用了马赛克滤镜。应该很明显哪个是实际光标,哪个是照片中光标的屏幕截图。这次的亮度是185和170,仍然相差8%。使用颜色选择器,照片中的颜色170在屏幕上为0xFFFFFF。我不能在光标本身上使用颜色选择器,因为它会直接在光标下方对颜色进行采样。


您是否在显示器上使用了亮度或对比度设置?
罗恩

1
如果以上问题的图片是使用处理原始sencor图像的任何相机项目捕获的(即使以原始文件格式存储,它们也都可以捕获),那么视觉效果已经通过处理相机sencor数据进行了更改。要缓解该问题,可以采用“控制”措施。在白色背景上显示光标(不是渲染的单独光标)的图像,并观察它们的不同之处。使用各种方法并应用控件,然后可以假定它发生的位置。
Psycogeek

@Psycogeek我想我眼中的软件在做同样的事情。如何访问眼睛的原始数据?严重的是,我对图像所做的唯一一件事就是将其裁剪到相关位。我可以上传光标屏幕快照的图像,并在其旁边放置实际的光标,但是它并没有像我已经解释的那样更具启发性。每个颜色通道的亮度(如我之前所了解的)在0到255(0xFF)之间。如果光标内的白色为相同比例,则大约为275(0x113),而8位的空间根本不足以对此进行编码。
CJ丹尼斯

@ user2714915我没有在任何地方调整亮度或对比度!这实际上并没有引起我的问​​题的核心:当我的图形模式为每通道颜色8位时,光标如何比可以以8位编码的最亮颜色更亮?
CJ丹尼斯

@CJDennis:哪些程序受到影响?对我来说,这看起来像是伽马校正问题。
詹姆斯·P

Answers:


10

如Psychogeek的回答所述,这是操作系统对颜色配置文件进行设置的问题。

颜色配置文件可以由应用程序,操作系统,视频卡和显示硬件应用。

对于Windows中的OS颜色配置文件,将颜色配置文件发送到视频卡时,它对光标的应用方式与对屏幕图像的应用方式不同,如果颜色配置文件更改了白点,则可能会产生不同的颜色。在您的情况下,光标以纯白色发送,而下面的图像应用了颜色配置文件,从而将白点更改为较低的级别。

光标将与其余显示数据分开发送到视频卡,并在渲染期间的稍后阶段由视频卡混入,然后再发送到显示器。

在简化的级别上:

[Cursor Draw]   --   --   --   --   --   --   --
                                               ˅
[Windowing] --> [OS Profile] --> [Video Driver] --> [Video Card] --> [Hardware Profile] --> ...

屏幕快照不会将OS颜色配置文件应用于“快照”数据,因为它是在窗口阶段捕获的。通常,屏幕快照捕获不会显示光标,因为即使在应用OS配置文件之前,屏幕快照捕获也会捕获。但是,某些捕获屏幕的工具(我假设您使用过)会像视频卡一样在图像上混合光标。由于光标和背景的白电平均为100%,因此屏幕快照的白电平相同。

您可以通过使用带有硬件LUT的监视器或视频卡进行颜色校准,或者通过强制将光标绘制在其他渲染点上来解决所看到的正常行为,请参阅此Photo.SE问题。您还可以编辑光标图像,并在使您烦恼的情况下更改白色等级。但是,我认为它使光标在屏幕上更引人注目。


我同意光标更引人注目。这并不烦我,我只是对技术上的可能性感到好奇。HDMI是否在每个通道上传送8位以上的图像,还是对图像的其余部分进行压缩(如音频压缩,而不是数字数据压缩),以便某些电平等于其相邻电平?
CJ丹尼斯

1
HDMI承载未压缩的数据,在您的情况下,最有可能以每个通道8位的速度传输,但它可以传输更多数据。此问题在HDMI信号之前发生
Richie Frame'5

en.wikipedia.org/wiki/Uncompressed_video提到HDMI可能是每个像素24、30、36或48位(每个通道8、10、12或16位)。因此,如果在我的系统上将其作为每个通道10位发送,则“纯”白色可能是每个通道0x3B3,而光标的白色是0x3FF。这将允许所有256个8位级别是不同的,同时为光标提供了额外的明亮颜色空间。大多数相邻的层之间的差为0x4,但少数只有0x3。
CJ丹尼斯

如果您将视频卡设置为输出10位通道,那么它就是10位,但事实并非如此
Richie Frame

我在NVIDIA控制面板中找到了一个可以调整亮度的设置。它仅影响屏幕图像,而不影响光标。我可以降低亮度,直到白色大约为0xC0,使光标真正突出!但是我看不到每个传输通道的位数。
CJ丹尼斯

1

这个答案首先分析了为什么数字事物不是1:1,最后是根据实际问题改变事物的可能方法。

  • 用相机拍摄照片,处理完所有传感器数据。
  • 然后它被压缩到死亡。
  • 然后它将1:1移至您的计算机。
  • 它的显示位置由任何OS颜色配置文件进行调整。
  • 在视频卡上以数字方式绘制的图像,不仅可以进行用户调整,而且可能具有一些色彩技巧。
  • 1:1发送到监视器。
  • 在可以将其完全处理之前,先将其制成显示面板。
  • 显示面板本身无法呈现其所有方面。
  • 背光源颜色会根据背光源发出的色谱光谱而变化很大。

在这种情况下,光标是(可能是)硬件渲染的项目,该项目覆盖在视频卡硬件中。要查看或尝试进行调整以进行更改的第一件事是显示器配置文件和/或操作系统应用的颜色配置文件。可以在“控制面板”,“所有控制面板”项目,“色彩管理”中找到颜色配置文件,在这些颜色配置文件中,可以更改颜色,然后再将颜色添加到显示器本身。
可以禁用配置文件,因此您可以观察其效果。

调整视频卡软件。桌面,3D和视频直接绘图素材都是可控制的,即使在视频卡软件中未对这些功能进行调整,也可能是将它们全部设置为0 0 0仍存在一些处理。如果有任何真正的理由要打扰它,可以尝试使用它来匹配光标覆盖。

视频卡覆盖了硬件渲染的光标,并且没有使用与其余背景相同的参数,这就是它的工作方式。

-根据控制图片,其余的都不适用于此特定问题-

另一种可能性是监视器设置,尽管可能性较小。显示器和电视中的自动对比度,自动颜色项可以平衡巨大的明亮或黑暗区域,并经常引起不希望的变化。监视器中的自动颜色和水平调整并不总是可以调整的,它们在执行操作时会使用许多不同的可爱名称。

显示器(例如游戏,电影,台式机)中的配置文件,或它们用于配置文件的任何名称,都会设置特定的颜色,对比度和亮度设置,它们认为对所选配置文件有用,即使对于正确的配置文件选择,也可能是不希望的更改。

相机中的锐化算法(在视频显示卡中不太可能),但在监视器中也可以在周围区域创建高亮矩阵,以增强原始对比度,或者(当然)减小对比度。在这个问题中,可能性很小,因为除非经过两次不同的处理,否则白色会扩展到超出锐化矩阵的像素范围。

当实际上不需要软件具有鲜明的白色背景时,该列表将变得更长,可以对其进行调整。操作系统和程序的背景可以不是白色,但是您已经知道不是这样,在这个问题中,是否在原始桌面或程序上对背景进行了颜色选择。

桌面上的颜色选择将显示您那里存在的一个或多个像素的颜色,从而向用户提供有关程序显示内容的事实。彩色图片出现在任何颜色配置文件调整输出之前。因此,拾色是发现实际颜色的好方法。然后它仍然再次经过处理。

现有的程序将在光标覆盖的情况下进行屏幕捕获。这样一来,一个人可以对事物进行颜色选择,但是再次可以使用不同的方法绘制诅咒者,并以与其余部分相同的方式对其进行处理。因此,尽管可以对屏幕(包括光标)进行软件数字捕获,但它可能会更改此处实际看到的内容。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.