当我运行以下代码时,它会打开一个具有适当尺寸的新窗口,它会正确显示屏幕......但它会在顶部和内部打开新窗口。
import numpy as np
from PIL import ImageGrab
import cv2
while(True):
printscreen_pil = ImageGrab.grab(bbox = (0, 40, 400, 340))
printscreen_numpy = np.array(printscreen_pil.getdata(), dtype =
'uint8').reshape((printscreen_pil.size[1], printscreen_pil.size[0], 3))
cv2.imshow('window', printscreen_numpy)
if cv2.waitKey(25) & 0xFF == ord('q'):
cv2.destroyAllWindows()
break
系统是Windows 10,64位 python 3.6
答案 0 :(得分:1)
你需要在while之前创建一个namedWindow。并使用名称(第一个参数)来显示图像,它将始终在同一窗口中显示图像。
cv2.namedWindow('window', cv2.WINDOW_KEEPRATIO)