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

时间:2009-11-05 14:07:17

标签: c# image image-processing

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

谢谢!

6 个答案:

答案 0 :(得分:8)

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

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

答案 1 :(得分:4)

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

https://gist.github.com/888239

答案 2 :(得分:1)

如果只有模糊的位图,你可能不会。

考虑到原始位图和模糊位图,您可以逐个像素地比较两个像素,并使用一个简单的差异来告诉您它的模糊程度。

答案 3 :(得分:1)

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

This Paper建议使用Harr小波变换的方法,但正如其他海报所说,这是一个相当复杂的主题。

答案 4 :(得分:0)

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

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

结果发表在以下会议文件中: Creating digital life stories through activity recognition with image filtering (2010)

答案 5 :(得分:-1)

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

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