HOWTO · Python

Python을 사용하여 스크린샷 찍기

이 기사에서는 Python 언어를 사용하여 스크린샷을 찍는 방법을 배웁니다. pyautogui, pillow 및 pyscreenshot 모듈의 사용에 대해 논의할 것입니다.

이 페이지의 내용

Python 프로그래밍 언어를 사용하면 간단한 모듈과 짧고 정확한 코드를 사용하여 다양한 작업을 수행할 수 있습니다. Python의 도움으로 스크린샷을 찍는 것이 그러한 작업 중 하나입니다.

Python은 다양한 작업을 수행할 수 있는 많은 모듈을 제공합니다. Python과 해당 라이브러리를 사용하여 스크린샷을 찍는 방법에는 여러 가지가 있습니다.

이 문서에서는 Python을 사용하여 스크린샷을 찍기 위해 따라야 하는 모든 단계를 안내합니다. 의 시작하자!

Pyautogui 모듈을 사용하여 Python을 사용하여 스크린샷 찍기

첫 번째 접근 방식은 Python이 제공하는 pyauotgui 모듈을 사용합니다. 터미널 창에서 다음 명령을 사용하여 이 모듈을 설치할 수 있습니다.

pip install pyautogui

pyautogui 모듈은 전체 화면을 캡처하는 데 도움이 되는 screenshot() 기능을 사용합니다. 나중에 save() 기능을 사용하여 이미지를 저장하거나 imwrite() 기능을 NumPy 및 OpenCV 모듈과 함께 사용하여 이미지를 디스크에 쓸 수 있습니다.

이 두 가지 방법을 자세히 살펴보십시오.

Pyautogui 모듈에서 save() 기능을 사용하여 Python을 사용하여 스크린샷 찍기

pyautogui 모듈을 설치한 후 스크린샷을 찍는 가장 간단한 방법은 screenshot() 함수와 save() 함수를 사용하는 것입니다. 다음은 이러한 함수를 사용하는 예제 코드입니다.

예제 코드:

import pyautogui

demo_image = pyautogui.screenshot()
demo_image.save("demo_one.jpg")

먼저 pyautogui 모듈을 가져옵니다. 그런 다음 화면의 이미지를 캡처하는 screenshot() 함수를 호출합니다.

또한 코드의 마지막 줄에서 이미지를 저장하려는 이름과 함께 save() 함수를 사용합니다. 이 경우 캡처된 이미지는 demo_one.jpg 파일 이름으로 찾을 수 있습니다.

아래는 출력으로 얻은 이미지입니다. Jupyter Notebook 또는 Python과 동일한 디렉터리에서 이 이미지를 찾을 수 있습니다.

Pyautogui save() 출력을 사용하는 Python 스크린샷 를 사용하는 Python 스크린샷

이미지 캡처에 약간의 지연이 필요한 경우 time 모듈의 sleep() 기능을 사용할 수 있습니다.

Pyautogui와 함께 Numpy 및 Opencv 모듈을 사용하여 Python을 사용하여 스크린샷 찍기

두 번째 방법은 pyautogui와 함께 두 개의 모듈을 더 사용하는 것입니다. 이들은 NumPy 및 OpenCV입니다. 우리는 save() 함수를 사용하여 첫 번째 방법으로 이미지를 저장했습니다.

그러나 여기에서는 이 두 모듈을 사용하여 스크린샷을 찍고 저장합니다.

터미널에 다음 명령을 작성하여 Numpy 및 OpenCV를 설치합니다.

pip install numpy
pip install opencv-python

다음은 모든 모듈이 설치된 후 사용해야 하는 코드입니다.

예제 코드:

# import the required modules

import numpy as x
import cv2
import pyautogui

# use pyautogui to take screenshot
demo_image = pyautogui.screenshot()

# use opencv and numpy to manipulate image
demo_image = cv2.cvtColor(x.array(demo_image), cv2.COLOR_RGB2BGR)

# save the image using opencv
cv2.imwrite("demo_two.png", demo_image)

먼저 필요한 모듈을 가져온 다음 screenshot() 함수를 사용하여 화면을 캡처했습니다. 그런 다음 이미지를 NumPy 배열로 변환하고 색상 순서를 RGB에서 BGR로 변경했습니다.

이는 OpenCV가 이미지를 읽을 때 색상 순서가 기본 RGB가 아닌 BGR이어야 하기 때문에 수행됩니다. 마지막으로 imwrite() 함수를 사용하여 이미지를 디스크에 씁니다.

이것이 출력 이미지의 모습입니다.

출력:

Pyautogui Numpy 및 OpenCV 출력을 사용한 Python 스크린샷

이것은 pyautogui 모듈을 사용하여 Python에서 스크린샷을 찍는 방법에 관한 것입니다. 이제 동일한 작업을 수행하는 다음 방법으로 이동합니다.

pyautogui 모듈에 대한 자세한 내용은 이 문서를 참조하세요.

베개 모듈을 사용하여 Python을 사용하여 스크린샷 찍기

pyautogui 모듈을 사용하면 기본적으로 전체 화면을 캡처합니다. 그러나 화면의 일부를 캡처해야 하는 경우 Pillow 모듈을 사용할 수 있습니다.

이 모듈은 ImageGrab이라는 또 다른 하위 모듈을 사용하여 캡처하려는 화면의 원하는 영역 좌표를 설정할 수 있습니다. grab() 함수를 사용하여 이러한 좌표를 지정합니다.

이 접근법에 대한 코드는 다음과 같습니다.

예제 코드:

from PIL import ImageGrab

ss_coordinates = (200, 200, 600, 600)
demo_image = ImageGrab.grab(ss_coordinates)
demo_image.save("demo_three.jpg")

먼저 Pillow 모듈과 ImageGrab 하위 모듈을 가져왔습니다. 그런 다음 캡처하려는 화면의 좌표를 설정합니다.

또한 grab() 함수를 사용하여 이 좌표를 이 함수에 전달했습니다. 그런 다음 save() 메서드를 사용하여 캡처한 이미지를 저장합니다.

이것은 우리가 얻은 스크린샷입니다.

출력:

필로우 출력을 사용한 Python 스크린샷

기본적으로 이것은 파이썬에서 스크린샷을 찍는 방법입니다. 즉, 좌표를 설정하는 것입니다. Pillow 모듈에 대한 자세한 내용은 이 문서를 참조하십시오.

Pyscreenshot 모듈을 사용하여 Python을 사용하여 스크린샷 찍기

Python은 스크린샷을 찍는 유일한 작업을 위해 pyscreenshot이라는 이 모듈을 제공합니다. 이 모듈을 설치하려면 터미널에서 다음 명령을 사용하십시오.

pip install pyscreenshot

모듈이 설치되면 이 코드를 사용하여 전체 화면의 스크린샷을 찍습니다.

예제 코드:

import pyscreenshot

image_demo = pyscreenshot.grab()
image_demo.save("demo_four.png")

먼저 pyscreenshot 모듈을 가져온 다음 grab() 함수를 사용하여 화면을 캡처했습니다. 마지막으로 save() 함수를 사용하여 이미지를 저장했습니다.

다음은 출력으로 얻은 이미지입니다.

출력:

Pyscreenshot 전체 화면 출력을 사용한 Python 스크린샷

이 모듈을 사용하여 화면의 일부를 캡처할 수도 있습니다. 필요한 좌표를 튜플로 grab() 함수에 전달하기만 하면 됩니다.

다음은 특정 화면 부분의 스크린샷을 찍는 코드입니다.

예제 코드:

import pyscreenshot

image_demo = pyscreenshot.grab(bbox=(100, 100, 500, 500))
image_demo.save("demo_five.png")

코드의 두 번째 줄에 캡처하려는 화면 부분의 좌표를 전달했습니다. 나머지 코드는 이전 코드와 동일하게 작동합니다.

다음은 캡처한 이미지입니다.

출력:

Pyscreenshot 화면 부분 출력을 사용한 Python 스크린샷

이 모듈인 pyscreenshot은 더 이상 많이 사용되지 않으며 Python에서 스크린샷을 찍기 위해 논의한 처음 두 가지 방법을 사용하는 것이 좋습니다. 이것은 Python에서 스크린샷을 찍는 방법에 관한 것입니다.

결론

이 기사에서는 Python 프로그래밍 언어를 사용하여 스크린샷을 찍는 방법에 대해 설명했습니다. 우리는 pyautogui 모듈을 save() 함수와 NumPy 및 OpenCV와 같은 다른 모듈과 함께 사용하는 방법을 보았습니다.

또한 Python의 Pillow 모듈을 사용하여 화면의 일부를 캡처하는 방법도 배웠습니다. 또한 pyscreenshot 모듈을 사용하여 전체 화면과 해당 부분을 캡처하는 방법을 확인했습니다.