【发布时间】:2015-04-20 20:39:41
【问题描述】:
我尝试流式传输网络摄像头并行处理方法。其中一个函数显示错误 libv4l2 资源繁忙。尝试在功能之间使用狭窄的延迟,它工作正常。当我使用两台相机时,它也可以使用。我认为是 libv4l2 的设置问题之类的。如何解决这个问题?
import threading
from threading import Thread
import cv2
import numpy as np
def func1():
video = cv2.VideoCapture(0)
success, image = video.read()
print success
def func2():
video = cv2.VideoCapture(0)
success, image = video.read()
print success
if __name__ == '__main__':
Thread(target = func1).start()
Thread(target = func2).start()
它的输出是这样的。
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
libv4l2: error setting pixformat: Device or resource busy
HIGHGUI ERROR: libv4l unable to ioctl S_FMT
libv4l2: error setting pixformat: Device or resource busy
libv4l1: error setting pixformat: Device or resource busy
HIGHGUI ERROR: libv4l unable to ioctl VIDIOCSPICT
False
True
【问题讨论】: