图像处理 – 图像/视频序列中的模糊检测

我已经问过这个照片stackexchange,但以为这可能是相关的,因为我想在我的实现中以编程方式实现。

我正在为我的影像管道实现一个模糊检测算法。我想检测的模糊是 –

1)相机抖动:当快门速度较小时,用手拍摄的图像移动/摇动。

2)镜头聚焦错误 – (景深)问题,例如聚焦在不正确的物体上造成一些模糊。

3)运动模糊:使用不够高的快门速度拍摄场景中快速移动的物体。例如。一个夜晚的移动车可能会在图像中显示出头灯/尾灯的痕迹,使其模糊。

如何以某种方式检测这种模糊并量化它,以便根据计算出的“模糊度量”做出一些决定?

模糊检测背后的理论是什么?

我正在使用C / Matlab中可以实现一些算法的良好阅读材料。

谢谢。

-广告。

最佳答案
运动模糊和相机抖动是一样的事情,当你想到的原因:相机和物体的相对运动。你提到慢快门速度 – 这是两种情况的罪魁祸首。

焦点错失是主观的,因为它们依赖于摄影师的意图。不知道摄影师想要关注的是什么,这是不可能实现的。即使你知道你想要关注什么,它仍然不会是微不足道的。

除了这种现实主义之外,让我向您保证,模糊检测实际上是一个非常活跃的研究领域,并且已经有几个可以尝试图像的指标。以下是我最近使用过的一些

边缘宽度基本上,对图像执行边缘检测(使用Canny或其他方式),然后测量边缘的宽度。模糊的图像将具有更广泛的边缘,扩展。更亮的图像将具有更薄的边缘。 Google针对Marziliano提供的“无参考感知模糊度量” – 这是一篇着名的论文,用于描述这种方法,足以完全实现。如果您正在处理运动模糊,则边缘将沿运动方向模糊(宽)。
>细节细节。看看我的答案this question(编辑部分)。
频域方法拍摄图像的DCT系数的直方图(假设您正在使用JPEG)可以让您了解图像有多少精细细节。 This is how您直接从JPEG文件中获取DCT系数。如果非DC项目的计数低,则图像很可能模糊。这是最简单的方法 – 在频域中有更复杂的方法。

还有更多,但我觉得这应该足以让你开始。如果您需要有关这些要点的更多信息,请启动Google Scholar并环顾四周。特别是,请参阅Marziliano的论文,以了解过去曾经尝试过的内容。

转载注明原文:图像处理 – 图像/视频序列中的模糊检测 - 代码日志