该方法通过基于 cv2.VideoCapture 能够获取视频流入(rtmp/rtsp等)实时帧,能够解决由于图像处理速度不够等原因造成帧堆积的问题。

class ThreadedCamera(object):

def init(self, source=0):

global cap

self.capture = cv2.VideoCapture(source)

self.thread = Thread(target=self.update, args=())

self.thread.daemon = True # 防止主线程挂掉,子线变成程僵尸进程

self.thread.start()

self.status = False

self.frame = None

def update(self):

while True:

if self.capture.isOpened():

(self.status, self.frame) = self.capture.read()

def grab_frame(self):

if self.status:

return (self.status,self.frame)

return (None,None)

streamer = ThreadedCamera(args.video)

while True:#cv.waitKey(1) != 'q':

has_frame, show = streamer.grab_frame()

相关推荐
ZHW_AI课题组8 小时前
调用华为云API实现图像标签识别
图像处理·华为·华为云
结衣结衣.8 小时前
走进机器学习:新手必看的完整入门指南
人工智能·python·学习·机器学习
绘梨衣5478 小时前
某公开数据简单逆向
python·beautifulsoup
小江的记录本9 小时前
【Java并发编程】锁机制:volatile:JMM内存模型、可见性/禁止指令重排、内存屏障、单例模式中的应用(附《思维导图》+《面试高频考点清单》)
java·后端·python·mysql·单例模式·面试·职场和发展
csdn小瓯9 小时前
前端工程化:React + TypeScript + Tailwind CSS 的组件化实践
开发语言·人工智能·python
hef2889 小时前
R包grafify:简单操作实现高效统计绘图
开发语言·python·r语言
这是谁的博客?9 小时前
Python 异步编程核心原理与实践深度解析
java·网络·python·协程·asyncio·异步编程
战南诚9 小时前
力扣 之 198.打家劫舍
python·算法·leetcode
晚烛9 小时前
CANN 模型预热:消除首次推理延迟
开发语言·python
广州灵眸科技有限公司9 小时前
瑞芯微(EASY EAI)RV1126B 音频电路
开发语言·人工智能·深度学习·算法·yolo·音视频