检测图像/视频序列中的模糊
image-processing
5
0

我曾在photo stackexchange上询问过此问题,但认为它在这里也可能相关,因为我想在实现中以编程方式实现此问题。

我正在尝试为成像管道实现模糊检测算法。我要检测的模糊都是-

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

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

3)运动模糊:使用不够高的快门速度捕获场景中快速移动的对象。例如,夜间行驶的汽车可能在图像中显示出其前大灯/尾灯的踪迹为模糊。

一个人如何才能检测到这种模糊并以某种方式对其进行量化,从而根据计算出的“模糊指标”做出一些决定?

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

我正在寻找很好的阅读材料,使用它们我可以在C / Matlab中实现一些算法。

谢谢。

-广告。

参考资料:
Stack Overflow
收藏
评论
共 2 个回答
高赞 时间 活跃

有一篇很棒的论文:“ 从焦点形状分析焦点度量运算符 ”( https://www.researchgate.net/publication/234073157_Analysis_of_focus_measure_operators_in_shape-from-focus ),它对30种不同的技术进行了比较。

在所有不同的技术中,基于“拉普拉斯”的方法似乎具有最佳性能。大多数图像处理程序,例如:MATLAB或OPENCV,已经实现了此方法。以下是使用OpenCV的示例: http : //www.pyimagesearch.com/2015/09/07/blur-detection-with-opencv/

收藏
评论

当考虑原因时,运动模糊和相机抖动是同一回事:相机和物体的相对运动。您提到过慢的快门速度-这两种情况都是罪魁祸首。

焦点缺失是主观的,因为它们取决于摄影师的意图 。如果不知道拍摄者希望把重点放在什么 ,这是不可能实现这一目标。即使您确实知道要重点关注什么,它也不是一件容易的事。

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

  • 边缘宽度。基本上,对图像进行边缘检测(使用Canny或其他方法),然后测量边缘的宽度。模糊的图像将具有较宽的边缘,这些边缘会更加分散。较清晰的图像边缘较细。 Google 称其为Marziliano的 “无参考感知模糊度量”-这是一篇著名的论文,充分描述了这种方法以进行全面实施。如果要处理运动模糊 ,则边缘将在运动方向上模糊(宽)。
  • 存在精细细节。看看我对这个问题的回答 (编辑部分)。
  • 频域方法。取图像的DCT系数的直方图(假设您正在使用JPEG)将使您了解图像的精细程度。 这就是您直接从JPEG文件中获取DCT系数的方法。如果非DC项的计数很低,则图像可能很模糊。这是最简单的方法-频域中有更复杂的方法。

还有更多,但我认为这足以使您入门。如果您需要有关这两个方面的进一步信息,请启动Google学术搜索并四处查看。特别是,请查阅Marziliano论文的参考文献,以了解过去尝试过的方法。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号