【发布时间】:2009-11-05 14:07:17
【问题描述】:
我们如何识别给定的图像是模糊的,或者在 C# 中它模糊了多少?有没有可用的API?或者任何可以对此有所帮助的算法?
谢谢!
【问题讨论】:
-
你知道原图吗?
-
我没有原始图像,如果有,很容易检查它们之间的相似性。我想分析从相机拍摄的图像并想分离模糊图像。
标签: c# image image-processing
我们如何识别给定的图像是模糊的,或者在 C# 中它模糊了多少?有没有可用的API?或者任何可以对此有所帮助的算法?
谢谢!
【问题讨论】:
标签: c# image image-processing
您可以执行 2D-FFT 并在频率系数中搜索超过某个阈值的值(以消除舍入/边缘错误中的误报)。模糊的图像永远不会有高频系数(频率空间中的大 X/Y 值)。
如果您想与某种模糊算法进行比较,请通过 2D-FFT 运行单个像素,并检查更多图像以查看它们是否具有超出参考 FFT 范围的频率分量。这意味着无论使用哪种类型的模糊算法(框模糊、高斯等),您都可以使用相同的算法
【讨论】:
针对一个非常具体的问题(寻找古代书籍拍摄的模糊照片),我基于 ImageMagick 设置了这个脚本:
【讨论】:
仅考虑到模糊的位图,您可能无法做到。
鉴于原始位图和模糊位图,您可以逐个像素地比较这两个位图,并使用一个简单的差异来告诉您它模糊了多少。
【讨论】:
鉴于我猜您没有原始图像,可能值得考虑对模糊图像执行某种边缘检测。
This Paper 建议使用 Harr Wavelet Transform 的方法,但正如其他发帖者所说,这是一个相当复杂的主题。
【讨论】:
虽然,我在提出这个问题 8 到 9 年后才发布这个答案。当时,我通过在图像上应用模糊然后与原始图像进行比较来解决这个问题。
这个想法是,当我们对非模糊图像应用模糊然后比较它们时,图像的差异非常大。但是当我们在模糊的图像上应用模糊时,图像的差异几乎是 10%。 这样就解决了我们识别模糊图片的问题,效果还不错。
结果发表在以下会议论文中: Creating digital life stories through activity recognition with image filtering (2010)
【讨论】:
呃……你有原图吗?你问的不是一件简单的事情,虽然......如果它甚至可能
虽然这有点随机,但您可以通过对“模糊”图像和原始图像进行傅立叶变换并查看是否可以通过渐进式低通滤波获得具有非常相似频率分布的东西来做到这一点频域中的原始图像。不过,“相似性”测试本身就相当复杂。
【讨论】: