📜  在Python中使用 OpenCV 打开多个颜色窗口以进行捕获(1)

📅  最后修改于: 2023-12-03 14:51:19.476000             🧑  作者: Mango

在Python中使用 OpenCV 打开多个颜色窗口以进行捕获

简介

OpenCV 是一个跨平台的开源计算机视觉库。它具有丰富的图像处理和计算机视觉算法,使得处理图像变得更加容易。

在这篇文章中,我们将介绍如何使用 OpenCV 在 Python 中打开多个颜色窗口以进行捕获。我们将使用一个简单的 Python 脚本来创建多个 OpenCV 窗口,并将实时视频流显示在它们中的每一个。

必备依赖

在开始编写代码之前,我们需要确保我们已经安装了必要的依赖项。我们需要安装 Python 3 和 OpenCV 库。

要安装 OpenCV,请在命令行中运行以下命令(Windows 用户需要以管理员身份运行命令提示符):

pip install opencv-python
代码示例

下面是一个简单的 Python 脚本,它使用 OpenCV 在多个窗口中显示捕获的实时视频流:

import cv2

# 定义视频流捕获器
capture = cv2.VideoCapture(0)

# 创建两个窗口
cv2.namedWindow('Window 1', cv2.WINDOW_NORMAL)
cv2.namedWindow('Window 2', cv2.WINDOW_NORMAL)

while True:
    # 从视频流中读取一帧
    ret, frame = capture.read()

    # 将帧分别显示在两个窗口中
    cv2.imshow('Window 1', frame)
    cv2.imshow('Window 2', frame)

    # 按下 q 键退出循环
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 释放视频流捕获器和关闭所有窗口
capture.release()
cv2.destroyAllWindows()

让我们来逐个解释一下这个脚本的工作原理。

首先,我们导入了 OpenCV 库。然后,我们定义了一个 OpenCV 视频捕获器。该捕获器捕获来自默认摄像头的视频流。你可以使用其他数字(例如 1、2、3 等)来指定其他摄像头。

然后,我们使用 cv2.namedWindow() 函数创建两个窗口。这两个窗口的名称分别为 'Window 1' 和 'Window 2'。我们使用 cv2.WINDOW_NORMAL 标志来确保窗口具有可调整大小的属性。

接下来,我们使用一个无限循环来不断从视频流中读取帧,并将每个帧显示在两个窗口中。我们将帧显示在两个窗口中,使每个帧在两个窗口中复制一次。

在循环中,我们使用 cv2.imshow() 函数来显示每个帧。该函数需要两个参数:第一个是窗口名称(希望显示图像的窗口),第二个是帧本身。我们将 frame 变量传递给该函数,该变量载有当前帧的图像数据。

最后,在循环之外,我们释放视频流捕获器,关闭所有窗口,并退出脚本。

总结

在本文中,我们介绍了如何使用 OpenCV 在 Python 中打开多个颜色窗口以进行捕获。我们使用一个简单的 Python 脚本来创建多个 OpenCV 窗口,并将实时视频流显示在它们中的每一个。