最近在做项目,有时候需要录屏,但是我的操作又很慢,常常就是动辄上分钟计,这哪个评委老师受得了啊。所以我自己利用opencv写了一个录屏代码,非常好用,代码如下:
python
import numpy as np
from PIL import ImageGrab
import cv2
im = ImageGrab.grab()
width, high = im.size # 获取屏幕的宽和高
fourcc = cv2.VideoWriter_fourcc('m','p','4','v') # 设置视频编码格式
fps = 30 # 设置帧率
video = cv2.VideoWriter('test.mp4', fourcc, fps, (width, high))
while True: # 开始录制
im = ImageGrab.grab()
im_cv = cv2.cvtColor(np.array(im), cv2.COLOR_BGR2RGB)
# 图像写入
video.write(im_cv)
cv2.imshow('1',im_cv)
if cv2.waitKey(1) in [ord('q'),27]: # 当某某条件满足中断循环
break
video.release() # 释放缓存,持久化视频
建议把代码放在桌面,这样录的视频也在桌面,便于查找。视频的名字叫test.mp4,录制完成后,按英文状态下的esc或者q键结束。