Python录屏(无声)

Python3.7

用到的模块:pillow,opencv-python

PIL就是pillow

from PIL import ImageGrab
import cv2

p = ImageGrab.grab() # 获得当前屏幕信息

width,high=p.size # 获得当前屏幕的大小
fourcc = cv2.VideoWriter_fourcc(*'XVID') # 录屏文件的编码格式
video = cv2.VideoWriter('e:/test.avi', fourcc, 16, (width,high)) # 输出文件命名为test.avi,位置在E盘根目录,帧率为16,可以自己设置

while True:
    im = ImageGrab.grab() # 获取当前屏幕信息和入口等(每次运行到这里才能获取一帧画面)
    imm=cv2.cvtColor(np.array(im), cv2.COLOR_RGB2BGR) # 转为opencv的BGR格式
    video.write(imm)    # 写入缓存
    cv2.imshow('imm', imm)  # 播放录制的画面  

关于详细的我现在也不是很清楚

如果只需要屏幕的画面,不要保存,就只要以下部分

from PIL import ImageGrab
import cv2

while True:
    im = ImageGrab.grab() # 获取当前屏幕信息和入口等(每次运行到这里才能获取一帧画面)
    imm=cv2.cvtColor(np.array(im), cv2.COLOR_RGB2BGR) # 转为opencv的BGR格式
    cv2.imshow('imm', imm)  # 播放录制的画面  

得到画面后可以进行画面处理,然后根据我之前写的方法可以实现在12864上显示电脑实时画面了,就是卡了些,我实验只有7帧左右

https://pan.baidu.com/s/1I39Y1mU-_L19WgbwNeINMg

你可能感兴趣的:(Python,python,opencv,PIL)