Lous Blog

图像清晰度判断

为了能采集到包含信息更加丰富的图像,需要使被采集对象成像在相机有效焦面范围内。

无参考图像的评价方法

假设$f(x,y)$代表图像(x,y)点的像素,$D(f)$代表图像的清晰度参考系数。

Brenner 梯度函数

\[D(f)=\sum_Y \sum_X |f(x+2,y)-f(x,y)|^2\]

Tenengrad 梯度函数

\[D(f)=\sum_Y \sum_X |G(x,y)| \qquad (G(x,y)>T)\]

$G(x,y)= \sqrt{ G_x^2(x,y) + G_y^2(x,y)}$

$G(x,y)$代表着(x,y)处的卷积

Laplacian 梯度函数

和上面类似,只不过算子换成了拉普拉斯算子

SMD(灰度方差)函数

计算两个方向上的梯度之和 \(D(f)=\sum_Y \sum_X (|f(x,y)-f(x+1,y)| + |f(x,y)-f(x,y+1)|)\)

SMD2 (灰度方差乘积)函数

为了提高在焦面附近的分辨率,我们可以把系数适当的放大,计算两个方向上梯度乘积 \(D(f)=\sum_Y \sum_X (|f(x,y)-f(x+1,y)| \times |f(x,y)-f(x,y+1)|)\)

方差函数

直接统计图像的方差,但此方法对噪声较为敏感 \(D(f)=\sum_Y \sum_X |f(x,y)-u|^2\) $u$为图像的灰度均值

能量梯度函数

计算两个方向上的梯度平方和

\[D(f)=\sum_Y \sum_X (|f(x,y)-f(x+1,y)|^2 + |f(x,y)-f(x,y+1)|^2)\]

Vollath函数

\[D(f)=\sum_Y \sum_X f(x,y)f(x+1,y) -M \cdot N \cdot u^2\]

这个和方差计算比较类似,但是考虑到了领域之间的关系

熵函数

通过统计各灰度的出现频率,计算整幅图像含有的信息熵。

\(D(f)=-\sum_{i=0}^{L-1}p_i \ln(p_i)\) 其中$L$是总的灰度等级,$p_i$代表灰度为$i$像素出现的概率

EAV点锐度算法函数

FFT 图像变换域

直接在频域分析图像,高频成分越多越清晰。

Reblur 二次模糊

清晰图像模糊后高频部分能量损失比较大,而模糊图像再次模糊化后高频损失较小。比较滤波前后的梯度变化就能分析出其清晰程度。

NRSS 梯度结构相似度

低通滤波后,用SSIM判断两幅图像之间的相似程度。

有参考图像的评价方法

SSIM

structural similarity index 评判两图像之间的相似程度。对比分析低通滤波前后图像的差异程度从而判断图像的清晰程度。 亮度对比

\[L=\frac {2 \mu_x \mu_y +C_1}{\mu_x^2 + \mu_y^2 +C_1}\]

对比度

\[C=\frac{2 \sigma_x \sigma_y +C_2}{\sigma_x^2 + \sigma_y^2 + C_2}\]

结构对比

\[S=\frac{\sigma_{xy}+C_3}{\sigma_x \sigma_y +C_3}\]

最终的信息为

\[SSIM=L^\alpha C^\beta S^\gamma\]

$\alpha \beta \gamma$可认为是某个系数的权重,一般为1就可以。$C_1 C_2 C_3$只是为了让系数不为零,可自选。

参考