我有一个使用opencv VideoCapture捕获网络摄像头图像的python程序(在我的情况下为logitech c922)。它具有自动对焦功能,很棒,但是我不知道何时重新对焦,这会使我捕获的图像变得模糊(还没有对焦)
有什么办法知道相机何时对焦?
答案 0 :(得分:1)
除了与@ZdaR提到的相机硬件进行交互之外,您还可以确定图像是否清晰每帧。如果图像清晰,则很可能是相机对焦了。
在确定图像的清晰度方面,有一些很好的答案documentation。
在具有景深的情况下(对象是清晰的,而背景是模糊的),您可以仅对某些最清晰的像素(即最清晰的20%像素)设置阈值。由于散焦或聚焦的图像应该完全模糊。
答案 1 :(得分:0)
您可以手动设置焦点,以便在需要使用相机时已经对相机进行对焦。
代码如下:
cap.set(3, 1280) # set the resolution
cap.set(4, 720)
cap.set(cv2.CAP_PROP_AUTOFOCUS, 0)