Python에서 이미지 자르기

이미지 자르기는 이미지 편집 및 그래픽 디자인 응용 프로그램에서 필수적인 기능입니다. 이미지 크기를 조정하고 가장자리를 잘라낼 수 있습니다. Python 애플리케이션에서 이미지를 처리하거나 이미지 편집을 처리하는 동안 개발자는 손쉬운 이미지 자르기 메커니즘이 필요한 경우가 많습니다. 따라서 이번 블로그 게시물에서는 Python 애플리케이션에서 이미지를 원활하게 자르는 방법을 알아봅니다.

이미지 자르기를 위한 Python 라이브러리

이미지 자르기에는 Aspose.Imaging for Python을 사용합니다. 이미지 작업을 위한 다양한 기능을 제공하는 다목적 라이브러리입니다. 특히 기본 및 고급 이미지 편집 작업을 쉽게 수행할 수 있습니다.

라이브러리를 다운로드하거나 PyPI에서 Python 애플리케이션에 설치할 수 있습니다.

> pip install aspose-imaging-python-net 

Python에서 이미지 자르기

Python용 Aspose.Imaging을 사용하여 이미지를 자르는 방법에는 시프트 값을 사용하는 것과 직사각형을 사용하는 두 가지 방법이 있습니다. 이동 값 방법에서는 이미지 이동에 대한 왼쪽, 오른쪽, 위쪽 및 아래쪽 값을 지정합니다. 반면에 두 번째 방법에서는 직사각형을 사용하여 자르기 영역을 정의합니다.

이제 Python 코드 조각을 사용하여 위에 언급된 각 이미지 자르기 방법을 살펴보겠습니다.

Python에서 Shift 값을 사용하여 이미지 자르기

아래 단계에서는 Python에서 시프트 값을 사용하여 이미지를 자르는 방법을 보여줍니다.

  • 먼저 Image.load() 메서드를 사용하여 이미지를 RasterImage로 로드합니다.
  • 그런 다음 성능 향상을 위해 이미지를 캐시합니다.
  • 왼쪽, 오른쪽, 위쪽 및 아래쪽 이동 값을 지정합니다.
  • 이동 값을 RasterImage.crop() 메서드에 전달하고 이미지를 자릅니다.
  • 마지막으로 RasterImage.save() 메서드를 사용하여 자른 이미지를 저장합니다.

다음 코드 조각은 Python에서 이미지를 자르는 방법을 보여줍니다.

import aspose.pycore as aspycore
from aspose.imaging import RasterImage, Image, Rectangle
import os


if 'TEMPLATE_DIR' in os.environ:
	templates_folder = os.environ['TEMPLATE_DIR']
else:
	templates_folder = r"C:\Users\USER\Downloads\templates"

delete_output = 'SAVE_OUTPUT' not in os.environ
data_dir = templates_folder

# RasterImage 클래스의 인스턴스에 기존 이미지 로드
with aspycore.as_of(Image.load(os.path.join(data_dir, "template.jpg")), RasterImage) as raster_image:
	# 더 나은 성능을 위해 자르기 전에 이미지를 캐시해야 합니다.
	if not raster_image.is_cached:
		raster_image.cache_data()

	# 네 측면 모두에 대한 이동 값을 정의합니다.
	left_shift = 10
	right_shift = 10
	top_shift = 10
	bottom_shift = 10
  
	# 이동 값에 따라 이미지에 자르기를 적용합니다.
	raster_image.crop(left_shift, right_shift, top_shift, bottom_shift)
  
  	# 자른 이미지 저장
	raster_image.save(os.path.join(data_dir, "result.jpg"))

if delete_output:
	os.remove(os.path.join(data_dir, "result.jpg"))

아래는 입력 이미지(첫 번째)와 잘린 버전(두 번째)의 스크린샷입니다.

Python에서 이미지 자르기
Python에서 이미지 자르기

직사각형으로 이미지 자르기

이 방법에서는 로드된 이미지의 특정 영역을 자르는 직사각형을 정의합니다. 결과 이미지에는 해당 직사각형 내부에 들어오는 이미지 부분이 포함됩니다. 다음은 직사각형을 사용하여 이미지를 자르는 단계입니다.

  • 먼저 Image.load() 메서드를 사용하여 이미지를 RasterImage로 로드합니다.
  • 그런 다음 이미지를 캐시합니다.
  • 원하는 크기의 사각형을 만듭니다.
  • Rectangle 객체를 RasterImage.crop() 메서드에 전달하고 이미지를 자릅니다.
  • 마지막으로 RasterImage.save() 메서드를 사용하여 자른 이미지를 저장합니다.

다음 코드 조각은 Python에서 직사각형을 사용한 이미지 자르기를 보여줍니다.

import aspose.pycore as aspycore
from aspose.imaging import RasterImage, Image, Rectangle
import os

if 'TEMPLATE_DIR' in os.environ:
	templates_folder = os.environ['TEMPLATE_DIR']
else:
	templates_folder = r"C:\Users\USER\Downloads\templates"

delete_output = 'SAVE_OUTPUT' not in os.environ
data_dir = templates_folder

# RasterImage 클래스의 인스턴스에 기존 이미지 로드
with aspycore.as_of(Image.load(os.path.join(data_dir, "template.jpg")), RasterImage) as raster_image:
	if not raster_image.is_cached:
		raster_image.cache_data()

	# 원하는 크기로 Rectangle 클래스의 인스턴스를 만듭니다.
	rectangle = Rectangle(20, 20, 20, 20)
  
  	# 이미지 자르기
	raster_image.crop(rectangle)
  
  	# 이미지를 저장
	raster_image.save(os.path.join(data_dir, "result.jpg"))

if delete_output:
	os.remove(os.path.join(data_dir, "result.jpg"))

무료 Python 이미지 자르기 라이브러리 받기

무료 임시 라이센스를 받고 평가 제한 없이 이미지를 자를 수 있습니다.

결론

Aspose.Imaging for Python은 이미지 자르기 및 조작을 위한 강력한 솔루션을 제공합니다. 이 블로그 게시물에서는 Python 애플리케이션에 쉽게 통합할 수 있는 몇 가지 이미지 자르기 방법을 제공했습니다. 이 강력한 Python 이미지 편집 API를 사용하여 이미지 처리 기능을 향상하세요. 문서를 방문하여 놀라운 기능을 살펴보고 포럼을 통해 질문을 공유해 주세요.

또한보십시오