Как сделать скриншот в Python

Библиотека OpenCV

Устанавливаем библиотеки:

pip install numpy
pip install pyautogui
pip install opencv-python
pip install pillow imutils

Импортируем библиотеки:

import numpy as np
import pyautogui
import imutils
import cv2

Указываем размер и получаем снимок экрана:

image = pyautogui.screenshot(region=(0,0, 300, 400))

Выводим снимок на экран:

image = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR)
cv2.imshow(“Screenshot”, imutils.resize(image, width=600))

Сохраняем на диск:

cv2.imwrite(“pic.png”, image)

Если нужно считать с диска и вывести на экран:

image = cv2.imread(“pic.png”)
cv2.imshow(“Screenshot”, imutils.resize(image, width=600))
cv2.waitKey(0)

Если нужно найти координаты части изображения на экране:

position = pyautogui.locateOnScreen(image_fragment)
print(position)


или

position = pyautogui.locateOnScreen(‘image_fragment.png’)
print(position)


ПРИМЕЧАНИЕ

image_fragment – изображение в памяти
‘image_fragment.png’ – изображение в файле,
которое нужно найти на экране
и определить его координаты

position – координаты