from PIL import ImageGrab
import numpy as np
import cv2
fps = 20
start = 3 # 延时录制
end = 15 # 自动结束时间
curScreen = ImageGrab.grab() # 获取屏幕对象
height, width = curScreen.size
video = cv2.VideoWriter('video02.avi', cv2.VideoWriter_fourcc(*'XVID'), fps, (height, width))
imageNum = 0
while True:
imageNum += 1
captureImage = ImageGrab.grab() # 抓取屏幕
frame=cv2.cvtColor(np.array(captureImage), cv2.COLOR_RGB2BGR)
cv2.imshow('capturing',np.zeros((1,250),np.uint8))
# cv2.moveWindow('capturing',height,width) # 窗体不显示
cv2.moveWindow('capturing', height-100, width-100) # 窗体显示,方便退出
if imageNum>fps*start:
video.write(frame)
if cv2.waitKey(50) == ord('Q') or imageNum>fps*end:
break
video.release()
cv2.destroyAllWindows()