簡體   English   中英

如何使用 PIL 在 Google Colab 中截取屏幕截圖

[英]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 5ImportError: ImageGrab is macOS and Windows only

尋找其他選項,我首先嘗試mss.mss() ,它返回$DISPLAY not set. . 我嘗試在方法中設置顯示並使用os ,但都沒有奏效。

然后我嘗試了gtk.gdk ,但在嘗試了幾種方法后我無法正確安裝和導入它。

我也嘗試使用pyautogui ,但導入后我無法連接到顯示器,並返回DisplayConnectionErrorOSError

有沒有辦法修復使用我列出的方法返回的任何錯誤? 或者是否有另一種我不知道的方法可以在 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM