Python錄屏(無聲)
阿新 • • 發佈:2018-12-10
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,這裡是最多隻能到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幀左右