我曾在照片stackexchange上问过这一点,但我认为它在这里可能也是相关的,因为我想在我的实现中编程实现这一点。
我正在尝试为我的成像管道实现一个模糊检测算法。我想要检测的模糊都是-
1)相机抖动:当快门速度较小时,使用移动/抖动的手拍摄的照片。
2)镜头聚焦错误-(景深)问题,例如聚焦在不正确的对象上会导致一些模糊。
3)运动模糊:场景中快速移动的对象,使用不够高的快门速度捕获。例如,一辆在夜间行驶的汽车可能会在图像中显示其前灯/尾灯的轨迹为模糊。
如何检测这种模糊,并以某种方式对其进行量化,以便根据计算出的“模糊度量”做出一些决策?
模糊检测背后的理论是什么?
我正在寻找很好的阅读材料,使用它我可以用C/Matlab实现一些算法。
谢谢。
-AD。
发布于 2011-03-03 20:58:39
当你考虑原因时,运动模糊和相机抖动是一回事:相机和物体的相对运动。你提到了慢的快门速度--这在两种情况下都是罪魁祸首。
焦点未命中是主观的,因为它们取决于摄影师的intent。如果不知道摄影师想要关注什么,就不可能做到这一点。即使你do知道你想要关注什么,它仍然不是微不足道的。
抛开这种真实感不谈,让我向你保证,模糊检测实际上是非常活跃的研究领域,并且已经有一些度量标准可以在你的图像上试用。以下是我最近使用的一些方法:
还有更多,但我觉得这应该足以让你开始。如果你想了解更多关于这两点的信息,可以打开Google Scholar四处看看。特别是,请查看Marziliano论文的参考文献,以了解过去尝试过的内容。
发布于 2016-11-18 14:35:57
有一篇很棒的论文,叫做"analysis of focus measure operators for shape-from-focus“(https://www.researchgate.net/publication/234073157_Analysis_of_focus_measure_operators_in_shape-from-focus),它对30种不同的方法进行了比较。
在所有不同的技术中,基于“拉普拉斯”的方法似乎具有最好的性能。大多数图像处理程序,如MATLAB或OPENCV,都已经实现了这种方法。下面是一个使用OpenCV的示例:http://www.pyimagesearch.com/2015/09/07/blur-detection-with-opencv/
发布于 2021-05-29 01:43:04
这里要注意的一个要点是,图像可以有一些模糊区域和一些清晰区域。例如,如果图像包含肖像摄影,则前景中的图像是清晰的,而背景是模糊的。在体育摄影中,聚焦的对象是清晰的,背景通常是运动模糊的。检测图像中这种空间变化的模糊的一种方法是在图像中的每个位置运行频域分析。其中一篇论文是“基于梯度幅度的多尺度融合和排序变换系数的空间变化模糊检测”(cvpr2017)。
作者查看了每个像素的多分辨率DCT系数。这些DCT系数被分成低频带、中频带和高频带,从中只选择高频系数。然后将DCT系数融合在一起并排序,以形成多尺度融合和排序的高频变换系数,选择这些系数的子集。所选系数的数目是特定于应用的可调参数。然后,通过最大池化块发送所选系数子集,以在所有尺度内保持最高激活。这会将模糊贴图作为输出,然后通过后期处理步骤发送该输出,以细化贴图。该模糊图可用于量化图像各个区域中的清晰度。为了获得单个全局度量来量化整个图像的模糊度,可以使用该模糊图的平均值或该模糊图的直方图
以下是关于该算法如何执行的一些示例结果:

图像中的锐化区域在blur_map中具有高强度,而模糊区域具有低强度。
指向该项目的github链接是:https://github.com/Utkarsh-Deshmukh/Spatially-Varying-Blur-Detection-python
这个算法的python实现可以在pypi上找到,它可以很容易地安装,如下所示:
pip install blur_detector
生成模糊贴图的示例代码片段如下所示:
import blur_detector
import cv2
if __name__ == '__main__':
img = cv2.imread('image_name', 0)
blur_map = blur_detector.detectBlur(img, downsampling_factor=4, num_scales=4, scale_start=2, num_iterations_RF_filter=3)
cv2.imshow('ori_img', img)
cv2.imshow('blur_map', blur_map)
cv2.waitKey(0)https://stackoverflow.com/questions/5180327
复制相似问题