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