如何识别/检查模糊图像?

我们如何识别给定图像模糊或C#中模糊的百分比? 有没有可用的API? 或者任何有用的算法?

谢谢!

您可以执行2D-FFT并在频率系数中搜索超过特定阈值的值(以从舍入/边缘错误中消除误报)。 模糊图像永远不会具有高频系数(频率空间中的大X / Y值)。

如果要与某种模糊算法进行比较,请通过2D-FFT运行单个像素,并检查更多图像,以查看它们是否具有参考FFT范围之外的频率分量。 这意味着无论使用何种类型的模糊算法(框模糊,高斯等),您都可以使用相同的算法

对于一个非常具体的问题(找到拍摄到古代书籍的模糊照片),我基于ImageMagick设置了这个脚本:

https://gist.github.com/888239

鉴于单独的位图模糊,你可能不会。

给定原始位图和模糊位图,您可以逐个像素地比较两个像素,并使用简单的差异来告诉您它有多少模糊。

鉴于我猜你没有原始图像,可能值得看看在模糊图像上执行某种边缘检测。

本文提出了一种使用Harr小波变换的方法,但正如其他海报所说,这是一个相当复杂的主题。

虽然,我在提问8到9年后发布了这个答案。 那时,我通过在图像上应用模糊然后与原始图像进行比较来解决这个问题。

我们的想法是,当我们在非模糊图像上应用模糊然后比较它们时,图像的差异非常大。 但是当我们在模糊图像上应用模糊时,图像的差异几乎是10%。 通过这种方式,我们解决了识别模糊图像的问题,结果非常好。

结果发表在以下会议论文中: 通过图像过滤通过活动识别创建数字生活故事(2010)

呃……你有原始形象吗? 你要问的不是一件简单的事情,尽管……如果它可能的话

这只是一个随机的但是你可以通过傅里叶变换“模糊”和原始图像,并通过逐步过滤原始图像来查看是否可以获得具有非常相似的频率轮廓的东西。在频域。 然而,测试“相似性”本身会相当复杂。