【问题标题】:OpenCV "imshow" function opens a lot of windows instead of replacing the frames on one window - PythonOpenCV“imshow”函数打开很多窗口而不是替换一个窗口上的框架 - Python
【发布时间】:2019-01-09 20:27:25
【问题描述】:

我尝试实时捕获我的屏幕(视频)并用 Python 中的 OpenCV 显示它。

当我运行我的代码时,它会打开很多窗口,而不是只替换一个窗口上的框架。

请帮忙:)

代码如下:

import numpy as np
import cv2
from mss import mss

sct = mss()
monitor = {'top': 0, 'left': 0, 'width': 1920, 'height': 1080}

while True:
    img = sct.grab(monitor)
    cv2.imshow("Netstream", np.array(img))
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
cv2.destroyAllWindows()

【问题讨论】:

    标签: python opencv


    【解决方案1】:

    对我来说,当我没有为窗口使用相同的名称时,就会出现这个问题。

    每次迭代都会打开一个新窗口(@98​​7654321@ 是一个迭代):

    cv2.imshow(i, image)
    

    使用单个窗口:

    cv2.imshow("Main", image)
    

    【讨论】:

      【解决方案2】:

      它只打开一个窗口,但似乎不止一个,因为它会捕获您自己的屏幕并显示在上面。因此,一旦打开一个窗口,您的程序就会捕获屏幕并在流上显示一个新帧,并且此过程继续进行,从而产生打开多个窗口的效果。如果您捕获一个屏幕并显示在另一个屏幕上可能会有所帮助

      【讨论】:

        猜你喜欢
        • 2014-04-12
        • 1970-01-01
        • 2022-11-28
        • 1970-01-01
        • 1970-01-01
        • 2018-04-03
        • 2017-11-20
        • 2014-10-15
        • 1970-01-01
        相关资源
        最近更新 更多