python视频延迟严重_【Python】改善 VideoCapture 的影像延迟

本文探讨了Python中使用VideoCapture从摄影机抓取影像时出现延迟的问题,并提出两种解决方案:降低摄影机拍摄速度或使用多线程。通过实例展示了如何通过多线程创建一个持续清空缓冲区的子线程,以保持最新影像的更新。
摘要由CSDN通过智能技术生成

许多的范例程序大多仅介绍该如何用 VideoCapture 撷取摄影机的画面,却没有充分说明其隐含的问题。

以下示范一个最基本的影像撷取程序。

# -*- coding: utf-8 -*-

import cv2

# ip camera 的撷取路径

URL = "rtsp://admin:[email protected]/video.h264"

# 建立 VideoCapture 对象

ipcam = cv2.VideoCapture(URL)

# 使用无穷循环撷取影像,直到按下Esc键结束

while True:

# 使用 read 方法取回影像

stat, I = ipcam.read()

# 加上一些影像处理...

# imshow 和 waitkey 需搭配使用才能展示影像

cv2.imshow(‘Image‘, I)

if cv2.waitKey(1) == 27:

ipcam.release()

cv2.destroyAllWindows()

break

一般而言,都是这样写的。

先取回一帧影像,然后进行处理,膨胀闭合之类的,再使用CNN来辨识一下...等等。

全部都处理完了,再继续截取下一帧影像。

这种范例程序占了90%的google版面。

当然了,那个趴数是夏恩胡诌的,这边只是想表示 "很多" 的意思。

这种写法有什么问题呢?

其实只要稍微改动一下上述的程序,就可以看出来。

我们把 cv2.wait

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值