楼主,你的钻研精神实在太让我佩服了
但是,我们再深入讨论下去,会不会被踢出去?毕竟这里是ps的地盘?!
说实话,你的几个问题刚才已经把我绕晕了,我又复习了课本才有底气继续说下去的。结果我发现课本是用公式说话的,你的问题如果用高数公式我可以很精确的推导出结论(课件上的那几句话就是我老师算了半天数学最后用中文做了个概括),但估计推导过程不会有人欢迎。所以,我还是决定自己画图,用ps说话,但推理的精确度就不敢保证了。
为了回答你的系列问题,我们首先必须搞懂,对计算机而言,“
对比度”是个什么东西?(这是进行图象增强的基础。)通俗的讲,对比度是指
目标物体与
背景之间反差的大小。在计算机看来,就是目标物体与背景之间灰度值差别的大小(还是用灰度图象说明问题)。如果图象轮廓清晰,那么轮廓线与周围象素之间灰度的差值就大。如果图象模糊,那么轮廓与背景的灰度就表现得接近。
但与此对应的是,如果一幅图象细节丰富,纹理细腻,那么它的图象灰度就会过渡得非常自然。这个时候图象对比度也会表现得偏低。所以,我们很难在对图象进行增强处理的时候同时兼顾对比度与细节。
以下我用图片说明这个意思。
首先,我在ps中使用渐变工具填充一个黑白均匀过渡的图象(选灰度模式,渐变时勾选“仿色”),经过观察,发现这个理想中的由0-255灰度均匀组成的图象,它的直方图并不是绝对均匀分布的,而是略有起伏,这是因为计算机也无法生成理想的绝对均匀分布的图象(专业范畴,我们不去管它),就把它近似看作决定均匀的分布。
再看第二副图,我使用色调分离功能,把原图均匀分配到16个色阶上。这时,原本0-255灰度的图象被分别分配到16个灰度上。也就是说,原本用256种灰度值来表现的一幅细腻的完整的图象,被我们用16种灰度近似代替了!比如灰度接近为0(例如10)的象素,它在视觉上表现为近似为黑色的深灰,现在随着色调分离操作,它的灰度被调成了0。如果我们要表现的是人的头发的纹理与光泽,深灰与黑色之间微妙的变化就不复存在了!所以细节就不可避免的损失了!
再看第三副图,使用色调均化,也就是直方图均衡化,其实它的原理与色调分离类似,就是楼主希望的
“色调分离后,理想状态是这10根线相当均匀地分散在整个横坐标上”。我们的肉眼看不出来,直方图告诉我们这个操作已经完成了,对比发现连续的灰度被破坏了。我们可以想象,执行了色调均化后,图象的边缘会因为相似灰度的合并而不再朦朦,但同时图象的细节也在合并中丢失了。
“原来的直方图上频数较小的灰度级被归入很少几个或一个灰度级内”----难道总是不能保持原来的灰度级的个数吗?为什么一定要减少呢?根据算法要求,你必须要事先告诉计算机本次操作的最后会剩下几个灰度值,就好像把一箱鸡蛋分到篮子里去,计算机看不到篮子它是不会动的,看到了篮子它会再根据算法研究鸡蛋的类型,判断每个鸡蛋应该放哪里最合适。判断的过程就是运算的过程,结果可能全放一个篮子,也可能按从大到小均匀放,放法的不同就是算法的不同了。同时,篮子越多,计算机每次判断的用时就越长,太多了它算不出来就死机了!所以ps就是一个运算器,它不是万能的。而且我们做直方图操作就是为了给灰度分类,如果不减少,一个鸡蛋一个篮子那有什么意义?
“减少图象的灰度级以换取对比度的加大”----这一定会导致细节丢失吗?这个问题相信你看了前面的解释已经明白了。
增加对比度的同时肯定伴随着细节的丢失,因为计算机是靠直方图,靠灰度值判断图象的,它永选不会明白同样是深灰,为什么模糊黑色轮廓的深灰,跟描述人头发的深灰有什么不同,所以总是一视同仁的处理了!在现实的专业的图象增强处理中,我们很难仅仅通过直方图的变换取得绝对理想的增强效果,问题也就出在这里。当然,更新更好的算法早就出现,可能因为运算量过大的缘故,ps一直没有引入吧!不过我们通过多图层加通道蒙板的操作,多少弥补了这个缺陷。
最后
假设原来有10个灰度级,也就是在直方图上显示10根连续紧密排列的竖线。色调分离后,理想状态是这10根线相当均匀地分散在整个横坐标上,这时我们不能说有细节丢失吧。因为所有的色阶层次都在啊。楼主,首先我要纠正的是,
理想状态是这10根线相当均匀地分散在整个横坐标上通过数学证明,这个运算是不可能实现的。所以,…………