📌  相关文章
📜  如何在 opencv 中显示网络摄像头 - Python (1)

📅  最后修改于: 2023-12-03 15:24:18.240000             🧑  作者: Mango

如何在 OpenCV 中显示网络摄像头 - Python

OpenCV 是一款常用的计算机视觉库,提供了多种图像处理和计算机视觉算法,可以用 Python 进行开发。本文将介绍如何在 Python 中使用 OpenCV 显示网络摄像头。

需要的库

在开始之前,确保已经安装了以下库:

  • OpenCV (pip install opencv-python)
  • NumPy (pip install numpy)
代码实现

首先,导入需要的库:

import cv2
import numpy as np

然后,我们需要通过 cv2.VideoCapture() 函数获取网络摄像头的实例:

cap = cv2.VideoCapture('http://192.168.0.100:8080/video')

上面的代码中,我们传入了网络摄像头的地址,可以根据自己的实际情况进行修改。

接着,我们需要不断地读取摄像头的数据,并显示在窗口中:

while True:
    # 读取摄像头数据
    ret, frame = cap.read()

    # 如果没有读取到数据,退出循环
    if not ret:
        break

    # 显示图像
    cv2.imshow('frame', frame)

    # 等待退出
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

上面的代码中,cap.read() 读取了一帧图像,返回值 ret 表示是否成功读取,frame 是读取到的图像数据。然后,我们使用 cv2.imshow() 显示图像,其中第一个参数是窗口的名称,第二个参数是要显示的图像。最后,使用 cv2.waitKey() 等待按键事件,并判断是否按下了 'q' 键,如果按下了就退出循环。

最后,我们需要释放资源并关闭窗口:

cap.release()
cv2.destroyAllWindows()

完整代码:

import cv2
import numpy as np

cap = cv2.VideoCapture('http://192.168.0.100:8080/video')

while True:
    # 读取摄像头数据
    ret, frame = cap.read()

    # 如果没有读取到数据,退出循环
    if not ret:
        break

    # 显示图像
    cv2.imshow('frame', frame)

    # 等待退出
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()
总结

本文介绍了如何在 Python 中使用 OpenCV 显示网络摄像头。通过上面的代码实现,你可以轻松地监控远程场所的情况。