Cortar imagens em Python

O corte de imagens é um recurso essencial em aplicativos de edição de imagens e design gráfico. Ele permite redimensionar as imagens e cortar suas bordas. Ao processar imagens ou lidar com a edição de imagens em aplicativos Python, os desenvolvedores geralmente exigem um mecanismo de corte de imagens fácil. Portanto, nesta postagem do blog, aprenderemos como cortar imagens perfeitamente em um aplicativo Python.

Biblioteca Python para cortar imagens

Para corte de imagens, usaremos Aspose.Imaging for Python. É uma biblioteca versátil que oferece uma gama de recursos para trabalhar com imagens. Particularmente, permite realizar tarefas básicas e avançadas de edição de imagens com facilidade.

Você pode baixar a biblioteca ou instalá-la em seus aplicativos Python a partir do PyPI.

> pip install aspose-imaging-python-net 

Cortando uma imagem em Python

Existem duas maneiras de cortar uma imagem usando Aspose.Imaging for Python: usando valores de deslocamento e usando um retângulo. No método de valores de deslocamento, especificamos os valores esquerdo, direito, superior e inferior para deslocamento da imagem. Por outro lado, usamos um retângulo para definir a área de corte no segundo método.

Então, vamos examinar cada um dos métodos de corte de imagem mencionados acima com a ajuda de trechos de código Python.

Cortar uma imagem com valores de deslocamento em Python

As etapas abaixo demonstram como cortar uma imagem usando valores de deslocamento em Python.

  • Primeiro, use o método Image.load() para carregar a imagem como RasterImage.
  • Em seguida, armazene a imagem em cache para obter melhor desempenho.
  • Especifique os valores de deslocamento para a esquerda, para a direita, para cima e para baixo.
  • Passe os valores de deslocamento para o método RasterImage.crop() e corte a imagem.
  • Finalmente, salve a imagem recortada usando o método RasterImage.save().

O trecho de código a seguir mostra como cortar uma imagem em 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

# Carregue uma imagem existente em uma instância da classe RasterImage
with aspycore.as_of(Image.load(os.path.join(data_dir, "template.jpg")), RasterImage) as raster_image:
	# Antes de cortar, a imagem deve ser armazenada em cache para melhor desempenho
	if not raster_image.is_cached:
		raster_image.cache_data()

	# Defina valores de deslocamento para todos os quatro lados
	left_shift = 10
	right_shift = 10
	top_shift = 10
	bottom_shift = 10
  
	# Com base nos valores de deslocamento, aplique o corte na imagem
	raster_image.crop(left_shift, right_shift, top_shift, bottom_shift)
  
  	# Salvar imagem recortada
	raster_image.save(os.path.join(data_dir, "result.jpg"))

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

Abaixo estão as capturas de tela da imagem de entrada (primeira) e sua versão recortada (segunda).

cortar imagem em Python
corte de imagem em Python

Corte de imagem com retângulo

Neste método, definimos um retângulo para cortar uma área específica na imagem carregada. A imagem resultante contém a parte da imagem que está dentro desse retângulo. A seguir estão as etapas para cortar uma imagem usando um retângulo.

O trecho de código a seguir mostra o corte de imagem com um retângulo em 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

# Carregar uma imagem existente em uma instância da classe 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()

	# Crie uma instância da classe Rectangle com o tamanho desejado
	rectangle = Rectangle(20, 20, 20, 20)
  
  	# Cortar imagem
	raster_image.crop(rectangle)
  
  	# Salvar imagem
	raster_image.save(os.path.join(data_dir, "result.jpg"))

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

Obtenha gratuitamente a biblioteca de corte de imagens Python

Você pode obter uma licença temporária gratuita e cortar imagens sem limitações de avaliação.

Conclusão

Aspose.Imaging for Python fornece uma solução robusta para corte e manipulação de imagens. Esta postagem do blog forneceu alguns métodos de corte de imagem que você pode integrar facilmente em seus aplicativos Python. Aprimore seus recursos de processamento de imagens com esta poderosa API de edição de imagens em Python. Explore seus incríveis recursos visitando a documentação e compartilhe suas dúvidas conosco através do nosso fórum.

Veja também