确定图像是否模糊(首选没有OpenCV)

时间:2017-03-30 14:23:54

标签: ios swift image avcapturesession

刚刚完成使用AVCaptureSession制作相机以便在iPhone上扫描文档,我正在寻找,以确定所捕获的图像质量是否良好且不模糊。 我看到很多使用OpenCV的解决方案,我正在寻找其他选择。

任何帮助都将不胜感激。

由于

1 个答案:

答案 0 :(得分:3)

首先,有趣的问题,让我做一些研究来弄清楚自己的东西。一般来说,Analysis of focus measure operators for shape-from-focus是一篇很好的研究论文,讨论了一些关于如何测量图像模糊度的方法(准确地说是36个),从简单/直接的方法到更复杂的方法。

我已经在图像的一个通道上完成了一些基本的拉普拉斯操作(基本上是像素的二阶导数)来测量模糊度,这对我来说非常有效。一旦您使用拉普拉斯算子对通道进行卷积,该拉普拉斯图像的方差就是对模糊性的良好估计。这里的假设是,如果图像包含高方差,则存在广泛的响应,类似边缘和非边缘,代表正常的对焦图像。但如果存在非常低的方差,则会有很小的响应扩散,表明图像中的边缘非常少。众所周知,图像越模糊,边缘就越少。这里的诀窍是找出方差为高/低的合适阈值,我猜你可以通过在数据集上运行它来确定。

礼貌:Blog

PS。虽然我在这里引用的博客提到了“OpenCV”,但如果您理解了这个概念,那么这些方法可以按照您的意愿实现,因此我用research paper开始了答案。