如何在 OpenCV python 中读取视频流作为输入?

Posted

技术标签:

【中文标题】如何在 OpenCV python 中读取视频流作为输入?【英文标题】:How to read video stream as input in OpenCV python? 【发布时间】:2016-11-30 07:20:01 【问题描述】:

我有一台尼康 d90 相机。我想将实时视频传输到我的电脑。我想使用 OpenCV python 读取流式视频以处理视频帧。如何做到这一点?请帮助我。

【问题讨论】:

请提供更多信息。 操作系统,使用OpenCv代码,Python版本。您是否能够将相机视为播放器中的设备,例如VLC ? 我无法完全理解你需要做什么!!!请澄清您的问题 【参考方案1】:

我同意上述 cmets,需要更多详细信息才能准确了解您计划如何连接相机。这是一个网络摄像头的工作示例,请注意您应该将input_id 替换为您的摄像头。您将在frame 上工作以进行进一步处理。

import cv2

def get_video(input_id):
    camera = cv2.VideoCapture(input_id)
    while True:
        okay, frame = camera.read()
        if not okay:
            break

        cv2.imshow('video', frame)
        cv2.waitKey(1)
    pass

if __name__ == '__main__':
    get_video(0)

【讨论】:

首先感谢您的回复。我有一根 USB 电缆,可以将该相机连接到具有 Windows 7 操作系统的电脑。我的电脑里还有camera control pro软件。我可以用那个软件观看现场视频。我想处理来自该相机的实时视频。如何在openCV中做到这一点。我是这方面的初学者,还没有开始编码。不知道如何先读取数据。请帮帮我 您需要摄像头端口号并将get_video(0)中的端口号更改为正确的数字。这就是您可以在 OpenCV 中“阅读”视频的方式。 而且我还想说,在上面的代码中佩德罗没有给出?..有 cv2.VideoCapture(input_id) 对吗?..但这适用于网络摄像头流媒体吗?我想要相同的,但对于通过 USB 连接到我的电脑的尼康相机 如何获取端口号?

以上是关于如何在 OpenCV python 中读取视频流作为输入?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 OpenCV 和 Python 在视频流中逐帧处理视频图像

python-opencv-视频的读取与分解

无法使用 VideoCapture 在 OpenCV+Python 中读取或播放视频

OpenCV Python,从命名管道中读取视频

Python OpenCV 以低质量读取视频

Python 中配置opencv 读取视频报错 ,