Python是一個功能強大且易于學習的編程語言。其中,PIL(Python Imaging Library)作為Python最常用的圖像處理模塊之一,可以實現圖像閾值化、模糊、灰度處理等功能。除此之外,Python還可以監測屏幕圖像。
import numpy as np from PIL import ImageGrab import cv2 def screen_record(): last_time = time.time() while(True): # 截圖 screen = np.array(ImageGrab.grab(bbox=(0,40,800,640))) print('loop took {} seconds'.format(time.time()-last_time)) last_time = time.time() # 顯示圖像 cv2.imshow('window',cv2.cvtColor(screen, cv2.COLOR_BGR2RGB)) # 按下 Q 退出 if cv2.waitKey(25) & 0xFF == ord('q'): cv2.destroyAllWindows() break
代碼中,np.array()將截取到的屏幕圖像轉化為numpy數組類型;ImageGrab.grab()使用bbox參數設定截圖的范圍,(0,40,800,640)分別代表左上角坐標和右下角坐標;last_time表示循環執行的時間;time()返回當前的時間戳。
cv2.imshow()函數用于將轉換后的彩色圖像進行顯示,cv2.cvtColor()函數實現顏色空間轉換,將BGR格式轉變為RGB格式。