2017-07-16 110 views
1

如何创建一个检测图片中未模糊部分的算法?例如,它会看这样的画面:检测部分模糊图像

enter image description here

,实现非模糊部分是:

enter image description here

我在here看到了如何测量整个图片的模糊。对于这个问题,我应该只为像素创建最大绝对二阶导数的阈值?然后,无论哪个超过,都被认为是非模糊区域?

+2

听起来很不错。不过,你可能需要做一些后处理。你为什么不试试?另一种方法是在每个像素周围画一个小窗口并分析频率。如果没有高频,它可能在模糊的区域。 –

+0

@NicoSchertler谢谢!会做。如果它不能解决问题,我应该怎么做?我猜想不允许重新发布一个问题。 –

+0

您可以编辑您的问题以反映您的新发现。据我所知,这个问题将重新出现在SO的首页。 –

回答

1

一个简单的解决方案是检测高频内容。

如果某个地区没有高频内容,可能是因为模糊。

如何检测没有高频内容的区域?您可以在频域中执行此操作(例如,使用DCT),或者您可以在空间域中执行此操作。

首先,我推荐空间域方法。

您需要某种高通滤波器。最简单的方法是模糊的图像(例如,具有高斯滤波器),然后从原始减去它,然后将其转换为灰度:

模糊:

enter image description here

消减:

enter image description here

如您所见,所有模糊的像素变暗,高频内容变亮。现在,你可能想混淆这个形象,并应用门槛,得到这样的:

enter image description here

注:这个过程是由手工完成,与瘸子。你的算法可以很容易地遵循这一点,但需要指定一些参数(如模糊半径,阈值)。

+0

哇!这是一个创新的想法。它也是有意义的。谢谢! –