【发布时间】:2011-02-06 12:08:59
【问题描述】:
我正在尝试为每一行创建一个具有恒定灰度值的光谱图像。我编写了一些非常慢的代码,它基本上在给定色调下尝试了 1000 种黑白之间的不同变化,它找到了灰度值最接近目标值的那个,产生了以下图像:
在我的笔记本电脑屏幕 (HP) 上,蓝色峰值附近有一个非常明显的“凹陷”,图像底部附近的蓝色像素看起来比相邻的紫色和青色像素要亮得多。在我的第二个屏幕上(Acer,它的彩色显示效果要好得多),倾角较小,但仍然存在。
我使用以下函数来计算颜色的灰度近似值:
Math.Abs(targetGrey - (0.2989 * R + 0.5870 * G + 0.1140 * B))
当我使用 Paint.NET 将图像转换为灰度时,我得到了一个完美的黑白渐变,因此这部分代码至少可以工作。
所以,问题:这纯粹是我的屏幕显示质量的人工制品吗?或者是否可以对上述灰度算法进行改进以提供视觉上更一致的结果?
编辑:问题似乎主要是显示器校准。不,我再说一遍,代码有问题。
【问题讨论】:
-
超级聪明——在我看来也不是线性的,但我会将其归结为非线性生物学。
-
如果没有经过色彩校准的显示器,您无法判断生成的图像是否正常。我的显示器几乎看不到任何下降。
-
@Codo,谢谢。我担心如果没有颜色校准设备,根本就没有解决方案。我会看看我是否可以校准我的 Acer 显示器,如果问题消失,我知道不是我的问题 :)