我想知道是否有人给我一个解决方案。如何在休息时获得最清晰的iplimage, 使用OpenCV。 作为示例,存在移动手的网络摄像头输入。但是当我播放这个视频时,我得到10个iplimages。但只有第五个更清楚。我想使用openCV过滤第5个。
我希望你们所有人的善意支持。
答案 0 :(得分:5)
最简单的方法是比较variances(图像的标准偏差) - 因为所有帧中的图像内容几乎相同,所以最清晰的图像可能具有最高的方差。帧间预测残差的方差(相邻像素之间的差异)也可以起作用 - 环顾this paper。
这是两张图片。原件在左侧。我只在水平方向上通过高斯模糊模拟运动模糊。模糊的图像在右侧。
标准偏差(使用imagej):42.5和41.1
如果这不起作用,那么你所追求的被称为运动模糊估计(或者通常只是模糊估计)。这是学术界非常流行的图像质量评估问题,所以肯定有很多材料可以帮到你。
Paul R让你开始走上正确的轨道 - 看看图像的边缘。
这不一定是边缘的数量 - 这是它们的宽度。模糊图像将具有更宽的边缘(上升侧和下降侧之间的距离更大)。阅读this paper - 它非常受欢迎,并且实施起来非常简单。请注意,该方法仅测量水平和垂直模糊,这在您的情况下不起作用。但是,将边缘方向考虑在内并不难修改,正如后来的一些论文所做的那样。
有更多方法可以解决这个问题,但我提到的那些方法比我知道的更简单。
答案 1 :(得分:2)
你可能会使用某种边缘检测。离焦或运动模糊的图像比“更清晰”的图像具有更少的可检测边缘。看看Canny et al 。