本文版权所有,禁止任何形式的商业转载使用或抄袭。谢绝任何XXX和微博非授权转载,违者必究。
第七章 地狱之门
前几天的推送,可能大家看得还是云里雾里。不明白具体讲了什么,是什么意思。
其实,我想告诉大家的核心思想其实是这个:
摄影圈不该有玄学,什么味道啊色彩啊毒德大学啊,都有对应的数学模型,时域不行咱去频域,总有办法能攻克它。
这也是我们评测的核心目标和方法——对用户的实拍效果负责,提供严谨而有价值的参考数据。
但你们面对的是我一一给出的解释,而不是这些冰冷的数据。
我力求客观,但绝不冷漠。
那么,我们今天就来谈另外一个玄学指标——焦外成像。
焦外成像(Bokeh)在照片画面表现中的作用有时候甚至不亚于焦内成像,历史上也出现过诸多以焦外虚化效果而闻名的镜头——比如美能达135mm f/2.8(T4.5)STF。但焦外成像相对来说比较难以量化,从而也成为了老法师泛滥的一个重灾区。
以V爷为首的科学方法党在各个论坛使用过双盲测试的方法来对镜头焦外成像做评价,不得不说这种方法极其具有开创性——但缺点也是明显的:无数学,不科研。没有量化数据的输出、存储和对比,也十分不方便在更多不同镜头之间进行直接的比较。双盲测试用来打脸可以,用来做评测的话,其实还远远不够。
那么,究竟该如何量化焦外成像呢?
熟悉摄影或者摄影器材的人或许知道,焦外成像的本质是弥散圆,也就是说本来应该聚焦成一个点的图像,由于没有合焦而发散开来,成为一个圆形。弥散圆的大小是景深的标志性指标,属于研究焦外成像的入门层面。
很显然,这是一个从点到平面图形的映射,也就是我们之前说过的函数或者信号。首先我们要解决的,就是如何从数学上去描述一个点和一个平面。
平面图形都有对应的曲线方程,描述起来没有任何压力。问题就在于点这个东西,应该如何描述。
对于一个理想点来说,它应该具有以下三个特点:
这个就是狄拉克函数δ(0)的图像,用于表示坐标原点处的一个理想点。
这个函数推广到二维空间当中依旧成立,可以用δ(x,y)来描述位于坐标(x,y)处的一个点。
描述镜头焦外的函数,便是这样一个点通过散焦光学系统之后得到的响应。这个描述方法在数字图像处理上有一个专门的名字,叫做点扩散函数——只要求出点扩散函数的分布,便可以描述镜头的单点散焦特征。
知道了单点散焦的特征,那么该如何求取整个焦外成像的特性呢?
把所有的点都加起来就可以了?不,远远不够。
由于每一个点都是扩散的,也就是说,对于一个特定的位置来说,每一个点造成的散焦对这个位置成像的影响都不同,不能通过简单的求和来求取焦外成像的特性。
我们令这些扩散之后的点扩散函数为g(τ),原始图像如果合焦,其描述函数为f(t)来讨论一下这个问题——点扩散函数是如何影响焦外成像效果的。
我们假设有一个点X,它受到了来自远近不同的各点的点扩散函数影响:
其中ABCD都是被虚化的点,那么从图上,以及我们的一般认识当中可以看出:离X越远的点,对X处成像效果的影响越小。
所以实际上影响虚化效果的是每个点到X的距离f(t-τ),求出这个值之后,将其乘以每个点扩散函数g(τ),便得出了某一个点对于X处虚化效果的影响。
ABCD……这样的点有无穷多个,所以我们从距离0到∞对所有扩散之后的值积分,即:
这个公式在信号处理上叫做卷积积分,用来求取当知晓系统对理想δ函数的响应(或者叫单位冲激响应)之后,系统的全响应。
关于卷积,有个著名的段子,在此贴过来博大家一乐。
有一个七品县令,喜欢用打板子来惩戒那些市井无赖,而且有个惯例:如果没犯大罪,只打一板,释放
回家,以示爱民如子。
有一个无赖,想出人头地却没啥指望,心想:既然扬不了善名,出恶名也成啊。怎么出恶名?炒作呗!
怎么炒作?找名人呀!他自然想到了他的行政长官——县令。
无赖于是光天化日之下,站在县衙门前撒了一泡尿,后果是可想而知地,自然被请进大堂挨了一板子,
然后昂首挺胸回家,躺了一天,嘿!身上啥事也没有!第二天如法炮制,全然不顾行政长管的仁慈和衙
门的体面,第三天、第四天......每天去县衙门领一个板子回来,还喜气洋洋地,坚持一个月之久!这
无赖的名气已经和衙门口的臭气一样,传遍八方了!
县令大人噤着鼻子,呆呆地盯着案子上的惊堂木,拧着眉头思考一个问题:这三十个大板子怎么不好使
捏?......想当初,本老爷金榜题名时,数学可是得了满分,今天好歹要解决这个问题:
——人(系统!)挨板子(脉冲!)以后,会有什么表现(输出!)?
——费话,疼呗!
——我问的是:会有什么表现?
——看疼到啥程度。像这无赖的体格,每天挨一个板子啥事都不会有,连哼一下都不可能,你也看到他
那得意洋洋的嘴脸了(输出0);如果一次连揍他十个板子,他可能会皱皱眉头,咬咬牙,硬挺着不哼(
输出1);揍到二十个板子,他会疼得脸部扭曲,象猪似地哼哼(输出3);揍到三十个板子,他可能会
象驴似地嚎叫,一把鼻涕一把泪地求你饶他一命(输出5);揍到四十个板子,他会大小便失禁,勉强哼
出声来(输出1);揍到五十个板子,他连哼一下都不可能(输出0)—— 死啦!
县令铺开坐标纸,以打板子的个数作为X轴,以哼哼的程度(输出)为Y轴,绘制了一条曲线:
——呜呼呀!这曲线象一座高山,弄不懂弄不懂。为啥那个无赖连挨了三十天大板却不喊绕命呀?
——呵呵,你打一次的时间间隔(Δτ=24小时)太长了,所以那个无赖承受的痛苦程度一天一利索,没
有叠加,始终是一个常数;如果缩短打板子的时间间隔(建议Δτ=0.5秒),那他的痛苦程度可就迅速
叠加了;等到这无赖挨三十个大板(t=30)时,痛苦程度达到了他能喊叫的极限,会收到最好的惩戒效
果,再多打就显示不出您的仁慈了。
——还是不太明白,时间间隔小,为什么痛苦程度会叠加呢?
——这与人(线性时不变系统)对板子(脉冲、输入、激励)的响应有关。什么是响应?人挨一个板子
后,疼痛的感觉会在一天(假设的,因人而异)内慢慢消失(衰减),而不可能突然消失。这样一来,
(注意:这里是时域的例子,但是用空间距离代换时间间隔,一样适用)
只要打板子的时间间隔很小,每一个板子引起的疼痛都来不及完全衰减,都会对最终的痛苦程度有不同
的贡献:
t个大板子造成的痛苦程度=Σ(第τ个大板子引起的痛苦*衰减系数)[衰减系数是(t-τ)的函数,仔细
品味]
数学表达为:y(t)=∫T(τ)H(t-τ)
——拿人的痛苦来说卷积的事,太残忍了。除了人以外,其他事物也符合这条规律吗?
——呵呵,县令大人毕竟仁慈。其实除人之外,很多事情也遵循此道。好好想一想,铁丝为什么弯曲一
次不折,快速弯曲多次却会轻易折掉呢?
——恩,一时还弄不清,容本官慢慢想来——但有一点是明确地——来人啊,将撒尿的那个无赖抓来,
狠打40大板!
那么,测量焦外的问题就变成了——如何测定系统的点扩散函数?
如果大家高中数学不是语文老师教的,应该还记得一件东西——导数。
我们的待测函数δ(t),实际上就可以看做是单位方波其中一侧的导数。
而对于线性系统,我们有以下结论:
如果对系统输入信号f(x),输出的信号是g(x)的话,那么输入信号f'(x)_,输出的信号就是g'(x)。
所以我们依然可以用方波标板来测系统的点扩散函数——就是麻烦一点,这个过程无法通过imatest软件自动化,需要自己做很多的数学工作。
暂无评论,快来添加评论哦