如何创建一种检测图片不模糊部分的算法?例如,它会看到这张图片:
并实现非模糊部分:
我看到here如何测量整个画面的模糊度。对于这个问题,我应该为像素的最大绝对二阶导数创建一个阈值吗?然后,无论哪一个超过,都被视为非模糊区域?
答案 0 :(得分:1)
一个简单的解决方案是检测高频内容。
如果某个区域没有高频内容,可能是因为它模糊不清。
如何检测没有高频内容的区域?您可以在频域中执行此操作(例如,使用DCT),也可以在空间域中执行此操作。
首先,我推荐使用空间域方法。
你需要某种高通滤波器。最简单的方法是模糊图像(例如,使用高斯滤镜),然后从原始图像中减去它,然后转换为灰度图像:
模糊:
中减去:
如您所见,所有模糊像素都变暗,高频内容很明亮。现在,您可能希望模糊此图像,并应用阈值来实现此目的:
注意:这个过程是用gimp手工完成的。您的算法可以很容易地遵循这一点,但需要指定一些参数(如模糊半径,阈值)。