最近在做项目,有时候需要录屏,但是我的操作又很慢,常常就是动辄上分钟计,这哪个评委老师受得了啊。所以我自己利用opencv写了一个录屏代码,非常好用,代码如下:
- 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键结束。