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

Shikha Chaudhary 2023년10월10일
  1. Pyautogui 모듈을 사용하여 Python을 사용하여 스크린샷 찍기
  2. 베개 모듈을 사용하여 Python을 사용하여 스크린샷 찍기
  3. Pyscreenshot 모듈을 사용하여 Python을 사용하여 스크린샷 찍기
  4. 결론
Python을 사용하여 스크린샷 찍기

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

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

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

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

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

pip install pyautogui

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

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

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와 함께 두 개의 모듈을 더 사용하는 것입니다. 이들은 NumPyOpenCV입니다. 우리는 save() 함수를 사용하여 첫 번째 방법으로 이미지를 저장했습니다.

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

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

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() 함수와 NumPyOpenCV와 같은 다른 모듈과 함께 사용하는 방법을 보았습니다.

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