如果要刷新图像,则必须继续关闭窗口以刷新图像。是否可以不关闭窗户就可以吗?
这是代码:
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/