模糊检测一般用于多张图片的模糊度辨别。这里介绍的是基于拉普拉斯算子的模糊检测算法。对于该算法的原理讲解过后,我们就会发现其实图片的尺寸大小也会引起相应值的变化。因此此类算法最好是对于同一类图片进行处理,如连拍照片等。一般而言,我们会设置一个阈值来判别图片是否模糊。当然这个阈值同样要根据适应的场景来调整。废话不多说,接下来介绍算法。
该算法的流程很简单:
- 图片灰度化
- 对灰度化图片进行拉普拉斯变换
- 对变化后的图片求取方差(variance)
我们都知道,拉普拉斯算子是个二阶差分(离散的为差分,因为图片为离散的。实际原理是微分算子)算子。所以说白了2,3两步就是在求取图片中的高频信息是多还是少。而这也就揭示了模糊检测的本质。如果大家了解信号处理就会知道,我们可以通过计算图片的傅里叶变换,并查看其中的高低频分布。如果图片有较多的高频成分,则该图片就是较为清晰的。相反,如果图片有较少的高频成分,则该图片可以认为是相对模糊的。而基于拉普拉斯算法的算法就是基于这个基本原理。
网友评论