Python 如何在使用cv2.VideoCapture()时降低CPU利用率
使用ret、video=cv2.VideoCapture()和video.read()函数从cc摄像机获取帧时,使用率很低,但与摄像机连接时没有错误。但是如果它不能从相机捕获帧,CPU利用率将增加到最大值,直到函数返回错误。返回错误需要20-30秒。从理论上讲,在我们没有收到任何返回之前,CPU必须处于近乎空闲的状态。但这里发生了什么?有人能帮我整理一下吗Python 如何在使用cv2.VideoCapture()时降低CPU利用率,python,python-3.x,opencv,video-capture,cv2,Python,Python 3.x,Opencv,Video Capture,Cv2,使用ret、video=cv2.VideoCapture()和video.read()函数从cc摄像机获取帧时,使用率很低,但与摄像机连接时没有错误。但是如果它不能从相机捕获帧,CPU利用率将增加到最大值,直到函数返回错误。返回错误需要20-30秒。从理论上讲,在我们没有收到任何返回之前,CPU必须处于近乎空闲的状态。但这里发生了什么?有人能帮我整理一下吗 detect_object(live_view_url): try: video = cv2.VideoCapture(live_v
detect_object(live_view_url):
try:
video = cv2.VideoCapture(live_view_url)
ret, frame = video.read()
except:
print("Camera Error!")
exit()
你能展示你的一些代码吗?live\u view\u url是任何IP摄像头的rtsp链接。仅当网络延迟或从相机捕获的帧导致延迟时,问题才存在。当延迟发生时,使用率将达到最大值CV2。视频捕获是不同捕获接口的唯一前端。你知道使用什么后端吗?您可以手动设置它,例如ffmpeg:video=cv2.VideoCapture(live\u view\u url,cv::CAP\u ffmpeg)在Python2和Python3上执行相同的操作吗?您可以在终端中打开python并运行video=cv2.VideoCapture(live\u view\u url)如果挂起,则表明url有问题,或者网络摄像头/ip摄像头通过该url输出的格式有问题