标签: opencv video-processing
我正在使用开放式简历3.4。我正在从RTSP输入摄像机获取数据。我想在我的代码中添加一个条件,以便如果使用任何东西覆盖了摄像头,警报应该交给用户。检查框架的黑色没有任何道理,因为当用白色布料覆盖时,框架将是白色的。有人可以为此建议一些逻辑吗?我们如何使用openCV做到这一点?
答案 0 :(得分:2)
您可以检查相机是否对焦。例如,这是我的手掌和窗户的模糊照片:
以下是计算每个图像的清晰度“得分”的函数:
def sharpness(img): img = cv.cvtColor(img, cv.COLOR_BGR2GRAY) lap = cv.Laplacian(img, cv.CV_16S) mean, stddev = cv.meanStdDev(lap) return stddev[0,0]
测试:
模糊的图片得分要低得多。您可以将阈值设置为例如20或以下的任何东西都被认为是模糊的,因此相机被遮盖或出现其他问题。