我正在使用相机使用Python,Opencv和普通的USB网络摄像头全天候检测汽车。 为了拍摄快照,我做了一个功能,在需要时调用它
def SendPic () :
capture = cv.CaptureFromCAM(0)
img = cv.QueryFrame(capture)
cv.SaveImage('pic.jpg', img)
单独使用时效果很好但在我的代码中使用时会出现此错误
libv4l1: error setting pixformat: Device or resource busy
HIGHGUI ERROR: libv4l unable to ioctl VIDIOCSPICT
图像未保存甚至被捕获
如何拍摄此快照而不停止相机检测汽车?我可以使用什么命令来停止相机拍摄然后返回其主要功能?
答案 0 :(得分:1)
如果我是你,我会让拍摄的照片成为一个单独的模块,然后使用互斥锁将汽车检测模块和快照模块调用到第一个模块。您不能有两个独立的实体来控制相同的硬件。