手机是如何实现自动对焦的? Norman Karma 手机对比度对焦,也称为反差对焦,这种对焦方法有非常严谨的数学推导的,在下因为是工科生,数学功底不好,只能做非常粗略的介绍,详细的内容还要依靠更有能力的知友来实现。 一般来说基于图像处理的自动对焦的方法有两种,第一种是通过计算对焦深度得到的,第二种是通过计算离焦深度得到的。 这两种方法的原理说明起来比较麻烦,简单来说,离焦深度方法是从离焦图像中获得模糊程度和深度信息,根据二者加上对应的拍摄参数来计算清晰度评价值,并结合这些所有值,得到需要调整的具体量,因为需要的图像较少,所以速度较快。 对焦深度方法要麻烦一些,首先需要一系列模糊程度不同的图像,计算这一系列图像的清晰度评价值,之后对这一系列值以拟合的方式得到评价曲线,根据评价曲线的峰值确定最佳对焦位置,这种方法精度高,但速度慢。 需要说一点题外话就是,虽然这个些过程一样,但不同的厂商的计算方法其实有些不同,所以一样的对比度对焦,有的厂家就收敛就快,有的厂家就则慢。 这两种方法都不离开一个东西,就是清晰度评价值,清晰度评价值类似一个统计量,是根据一些参数经过某种处理之后得到的,当然清晰度评价值还有其他的要求,比如有效性/鲁棒性等。 平常计算清晰度评价值的方法一般有这么几种(不全面,还有其他的很多): 第一种是频谱函数的方法,清晰的图像对比相应的不清晰图像在相应频谱分量上含有更多的信息,一种反映出来就是频谱函数的幅值,可以利用这种方法评价。 第二种是信息熵,清晰的图像的信息熵大于相应的不清晰图像,这个原始证明很繁琐,所以这里用数据处理定理反证:1.清晰的图像处理后可以得到不清晰的图像。 2.但不清晰的图像无论如何处理都不能单独得到清晰的图像。 3.所以清晰图像的信息熵大于相应的不清晰图像,如果有方法计算出信息熵,则可以用熵来评价。 第三种是梯度函数,在图像中梯度函数是一个可以衡量某变量变换率快慢的函数,正确对焦的图像有较为清晰的边缘,而在边缘的地方更为锐利,往往有变化率的最大值,或者说变化最不连续,如此一来也可以评价清晰度。 现在常用的是第三种,也就是梯度,梯度在数学上是变换率的表征,在实际计算的时候我们可以用方差、能量梯度或者拉普拉斯算子(等价于二阶微分)或者其他一些方法来实现,这些计算方法本身各自的复杂度不同,但最影响计算量的是选取图像中像素点的多寡,比如一个对比度对焦选款,是取中央一点,还是边缘四点,还是对角线五点?这都是各个相机厂家考虑的问题。 现在来看看,下图是那种评价方法? 查看知乎原文