[英]How can I take a screenshot in Google Colab using PIL
我想在 Google Colab 上截取我的屏幕截圖以用於屏幕錄制的視頻,但由於筆記本在 linux 中運行,我不確定這是否可行。
我的設備上的 python 代碼如下
from PIL import ImageGrab
img = ImageGrab.grab(bbox= None)
在 Colab 上運行時,它返回OSError: X connection failed: error 5
或ImportError: ImageGrab is macOS and Windows only
。
尋找其他選項,我首先嘗試mss.mss()
,它返回$DISPLAY not set.
. 我嘗試在方法中設置顯示並使用os
,但都沒有奏效。
然后我嘗試了gtk.gdk
,但在嘗試了幾種方法后我無法正確安裝和導入它。
我也嘗試使用pyautogui
,但導入后我無法連接到顯示器,並返回DisplayConnectionError
或OSError
。
有沒有辦法修復使用我列出的方法返回的任何錯誤? 或者是否有另一種我不知道的方法可以在 Colab 中將屏幕內容作為圖像返回?
首先你需要設置一個虛擬監視器:
!pip install gym pyvirtualdisplay > /dev/null 2>&1
!apt-get install -y xvfb python-opengl ffmpeg > /dev/null 2>&1
DISPLAY_WIDTH = 1920
DISPLAY_HEIGHT = 1080
from IPython import display as ipythondisplay
from pyvirtualdisplay import Display
display = Display(visible=0, size=(DISPLAY_WIDTH, DISPLAY_HEIGHT))
display.start()
然后安裝pyscreenshot:
!pip install pyscreenshot
import pyscreenshot as ImageGrab
最后上圖:
frame = np.array(ImageGrab.grab(bbox= None))
在ImageGrab.grab(bbox=(x, y, w, h))
您還可以指定要抓取的屏幕大小。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.