如果要刷新图像,则必须继续关闭窗口以刷新图像。是否可以不关闭窗户就可以吗?
这是代码:

import numpy
import cv2
from PIL import ImageGrab
while True:

    img = ImageGrab.grab(bbox=(765,155,1135,195))
    img_np = numpy.array(img)
    frame = cv2.cvtColor(img_np, cv2.COLOR_BGR2GRAY)
    cv2.imshow("frame",frame)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

最佳答案

cv2.waitKey(0)等待无超时,将其替换为cv2.waitKey(time_in_msec)

以约10Hz刷新的示例:

import numpy
import cv2
from PIL import ImageGrab

while True:
    img = ImageGrab.grab(bbox=(765,155,1135,195))
    img_np = numpy.array(img)
    frame = cv2.cvtColor(img_np, cv2.COLOR_BGR2GRAY)
    cv2.imshow("frame",frame)
    cv2.waitKey(100)

cv2.destroyAllWindows()




参见waitKey推荐:


  imshow
  在指定的窗口中显示图像。
  
  注意此函数后应跟waitKey函数,该函数显示指定毫秒的图像。
  否则,它将不会显示图像。
  例如,waitKey(0)将无限期显示窗口,直到任何按键为止(适用于图像显示)。
  waitKey(25)将显示25毫秒的帧,此后将自动关闭显示。

关于python - 从屏幕流式传输帧,生成视频,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60223017/

10-10 03:53