自动聚焦清晰度评价指标算法

自动聚焦清晰度评价指标算法

自动聚焦简介

自动聚焦最简单的做法是遍历所有的聚焦点,判断每个聚焦点成像图片的清晰程度或聚焦程度,使得成像镜头停在图片清晰度最高的聚焦位置上。这样做的缺点非常明显,聚焦点的数量是非常多的,判断每个聚焦点的图片清晰程度会使得自动聚焦过程特别长。更一般的做法是定义搜索策略,根据搜索算法遍历有限个数的聚焦点。

这些做法都有一个关键的问题,如何判断图片的清晰度,如何设计一个清晰度评价指标?下面介绍现有的清晰度评价指标,或者说聚焦程度指标,因为清晰度评价指标是通过某个函数计算出一个代表清晰度的数值,因此称这个函数为聚焦函数。

原理

不同的聚焦位置,图片的清晰度不同,观察图片的像素值,可以发现,图片越清晰,相邻像素之间的差值越大,从而图片的边缘越尖锐。从频域上讲,图片越清晰,高频成分就越多。因此,可以在空域或频域中设计聚焦函数。但是采集图片一般是RGB格式,转换成频域需要复杂的计算,因此大多数聚焦函数都是在空域中对像素进行计算。

类型

目前有许多种聚焦函数1,下面一一讲解。

基于导数的聚焦函数

基于导数的聚焦函数的原理是图片越清晰,相邻像素的差值越大。因此基于导数的聚焦函数一般都是计算相邻像素的差值,具体做法是使用一个卷积核与图片进行卷积,把每次卷积结果加起来作为清晰度评价指标。这种算法的缺点是对图片中的噪声敏感。

Thresholded Absolute Gradient:
(F-1) F th_grad = ∑ Height ∑ Width ∣ i ( x + 1 , y ) − i ( x , y ) ∣ F_{\text{th\_grad}} = \sum_{\text{Height}} \sum_{\text{Width}} \left | i(x + 1, y) - i(x, y) \right | \tag{F-1} Fth_grad=HeightWidthi(x+1,y)i(x,y)(F-1)
其中 ∣ i ( x + 1 , y ) − i ( x , y ) ∣ ≥ θ \left | i(x + 1, y) - i(x, y) \right | \ge \theta i(x+1,y)i(x,y)θ θ \theta θ为阈值。

Squared Gradient
(F-2) F th_grad = ∑ Height ∑ Width ( i ( x + 1 , y ) − i ( x , y ) ) 2 F_{\text{th\_grad}} = \sum_{\text{Height}} \sum_{\text{Width}} \left ( i(x + 1, y) - i(x, y) \right )^2 \tag{F-2} Fth_grad=HeightWidth(i(x+1,y)i(x,y))2(F-2)
其中 ( i ( x + 1 , y ) − i ( x , y ) ) 2 ≥ θ \left ( i(x + 1, y) - i(x, y) \right )^2 \ge \theta (i(x+1,y)i(x,y))2θ

Brenner Gradient:
(F-3) F Brenner = ∑ Height ∑ Width ( i ( x + 2 , y ) − i ( x , y ) ) 2 F_{\text{Brenner}} = \sum_{\text{Height}} \sum_{\text{Width}} \left ( i(x + 2, y) - i(x, y) \right )^2 \tag{F-3} FBrenner=HeightWidth(i(x+2,y)i(x,y))2(F-3)
其中 ( i ( x + 2 , y ) − i ( x , y ) ) 2 ≥ θ \left ( i(x + 2, y) - i(x, y) \right )^2 \ge \theta (i(x+2,y)i(x,y))2θ

Tenenbaum Gradient:
(F-4) F Tenengrad = ∑ Height ∑ Width ( S x ( x , y ) 2 + S y ( x , y ) 2 ) F_{\text{Tenengrad}} = \sum_{\text{Height}} \sum_{\text{Width}} \left ( S_x (x, y)^2 + S_y (x, y)^2 \right ) \tag{F-4} FTenengrad=HeightWidth(Sx(x,y)2+Sy(x,y)2)(F-4)
其中 S x ( x , y ) S_x (x, y)

  • 5
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值