解决读取视频帧延迟导致的程序崩溃

时间:2025-05-08 09:13:34

opencv读取摄像头视频帧延迟,导致程序崩溃

  • opencv读取摄像头视频帧延迟原因
    • 解决方法

opencv读取摄像头视频帧延迟原因

相比于图像处理等后续操作,opencv读取帧的速度往往很快,这就导致处理速度不及时,线程存储满了导致程序崩溃。

解决方法

将读取视频帧的代码放在线程中而不是主进程中。

改进前
import cv2
from QR_recognition import *
camera_path='rtsp://192.168.1.11:554/main'
cap = (camera_path)
while True:
	if ():
	    ret,img=() # img 就是一帧图片
	    rval, frame = ()
	    get_QRinfo(frame)
	else:
	    print('视频打开失败!')
改进后
import cv2
from QR_recognition import *
while True:# 循环读取当前视频帧
    camera_path = 'rtsp://192.168.1.11:554/main'
    cap = (camera_path)
    if ():
        ret,img=() # img 就是当前一帧图片
        get_QRinfo(img)
    else:
        print('视频打开失败!')

即每次读取都是当前的视频帧。不会因为延迟导致程序崩溃。