使用OpenCV获取最准确的图像

dev*_*van 1 c++ opencv image-processing

我想知道是否有人给我一个解决方案.如何使用OpenCV在休息中获得最清晰的iplimage.作为示例,存在移动手的网络摄像头输入.但是当我播放这个视频时,我得到10个iplimages.但只有第五个更清楚.我想使用openCV过滤第5个.

我希望你们所有人的善意支持.

mpe*_*kov 5

最简单的方法是比较方差(图像的标准偏差) - 因为图像内容在所有帧中几乎相同,所以最清晰的图像可能具有最高的方差.帧间预测残差的变化(相邻像素之间的差异)也可以起作用 - 环顾本文.

这是两个图像.原件在左侧.我只在水平方向上通过高斯模糊模拟运动模糊.模糊的图像在右侧.

原版的 模糊

标准偏差(使用imagej):42.5和41.1

如果这不起作用,那么你所追求的就是运动模糊估计(或者一般只是模糊估计).这是学术界非常流行的图像质量评估问题,所以肯定有很多材料可以帮到你.

Paul R让你开始走上正确的轨道 - 看看图像的边缘.

这不一定是边缘的数量 - 这是它们的宽度.模糊图像将具有更宽的边缘(上升侧和下降侧之间的距离更大).阅读本文 - 它非常受欢迎,实施起来非常简单.请注意,该方法仅测量水平和垂直模糊,这在您的情况下不起作用.然而,正如一些后来的论文所做的那样,将边缘方向考虑在内并不难.

有更多方法可以解决这个问题,但我提到的是我所知道的更简单的方法.