最近プロジェクトに取り組んでいて、時々画面を録画する必要があるのですが、操作が非常に遅く、毎ターン分を数えなければならないことがよくあります。これに耐えられる審査員の先生はいますか? そこで、非常に使いやすい 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 キーを押して終了します。