2009-12-10 61 views
9

任何人都知道一个算法,如果图像中有运动模糊/相机抖动,可以返回模糊真/假?是否有算法或库可以检测图像中的运动模糊?

理想情况下,它将特别针对动作模糊,因为该组中的许多图像可能已经模糊(Bokeh)背景。

语言首选项是C,Perl,Shell Utility或Python,但我对任何事情都很开放。

以我目前的数学/编程方面的知识,我不认为我真的有写这样的算法,只能用一个,需要一些参数的希望......

+0

如果可能,请标记为接受的答案。目前还不清楚它们是否适合用途。 – 2014-04-24 01:14:38

回答

4

Discrete wavelet transform是这种检测的有用工具。 Here是卡内基梅隆计算机科学学院关于使用DWT检测和量化图像模糊的论文。对于二元决策,您将金额限定在期望的水平,并且所有高于此值的模糊。

+0

这很方便,但论文明确指出“它对于离焦模糊和线性运动模糊均有效”,这意味着它对检测运动模糊没有多大用处...... – 2012-04-19 16:55:33

+1

@JoshBleecherSnyder超出范围焦点模糊不是方向性的,而线性运动模糊是。您可以运行主成分分析以获取模糊特征边缘点的方向矢量的特征值,并评估主要特征的强度。如果超出某个阈值,则可以得出结论:模糊是有方向性的,因此线性运动模糊。 – luvieere 2012-04-20 05:38:55

+0

谢谢,这有帮助。 – 2012-04-20 18:58:34

2

有多种方式来做到这一点,也许这里的一位成像大师有一个更好的答案。无论如何...

我的第一枪就是对图像进行频率分析(阅读:2d傅立叶变换)。然后定义高频的阈值(即从一个像素到下一个像素的快速变化)是否为真/假。运动模糊滤除高频。您的里程可能会有所不同尽管没有模糊,但完全黑色的图像将不会有高频。根据所使用的镜头和光圈,图像的某些部分可能会模糊,因为它们位于背景中。我不认为这里有一个通用的解决方案。

+0

这将如何区分散景模糊和运动模糊? – 2012-04-19 16:53:17

0

您也可以使用Richardson-Lucy算法。它主要用于盲解卷积,但如你所知,它需要移除运动模糊,RL算法应该采用更少的迭代来计算可行的重建。

相关问题