Python中裁剪图像

2025年1月5日 | 阅读 5 分钟

在广阔的人工智能领域,计算机视觉是一个重要的子领域,它不断发展并带来新的技术和术语。这个领域有趣地审查、处理和转换来自图像、对象、表情和视频的见解。它精确地导航机器学习和神经网络的各种算法,以理解机器解释视觉输入的专业知识。计算机视觉应用的范围包括目标检测、图像和面部识别的辨别,以及其他应用。

图像处理是计算机视觉中的一个基本概念,因为它允许从图像中提取有意义且有用的数据。计算机可以通过使用图像处理中的各种工具和技术来识别照片中的模式和对象,以改进和分析图像。图像处理有许多用途,从安全和监控到医学成像,它是许多计算机视觉系统的重要组成部分。

通过本文,我们将通过 Python 中强大的库和方法探索图像裁剪的过程。我们将了解用于图像裁剪的库、它们的特性和语法。然后,我们将使用这些方法在 Python 中实现和裁剪图像。

什么是图像裁剪?

图像裁剪是从不需要的图像部分分离或移除的过程。图像裁剪是图像处理中的一项重要操作,我们在此操作中移除图像的某些部分或添加一些特征。裁剪图像包括不同的操作,例如更改纵横比、更改框架和形状以及突出图像的主题。

Python 中的图像裁剪

Python 是用于图像处理的首选语言。Python 提供了各种各样的库和函数,使得理解和实现技术和困难的概念(包括人工智能、计算机视觉等)变得非常容易和熟悉。

Python 提供了不同的方法和函数来裁剪图像。这些方法包括

  • Pillow 库
  • OpenCV

使用 Pillow 库裁剪图像

Python 提供了一个名为 Pillow 的库,可用于裁剪和修改图像。它是一个 Python Imaging Library,提供了图像处理中的所有函数,如裁剪、调整大小、操作等。

关于 Pillow 和图像裁剪的更多信息

Python Imaging Library (PIL) 或 Pillow 是用于在 Python 中处理图像的强大且有用的库。使用 PIL,您可以对图像执行各种操作,包括调整大小、裁剪、旋转和翻转。该库支持多种像素格式,如 RGB、CMYK 和灰度,并且可以以各种文件格式读写图像,如 JPEG、PNG、GIF 和 BMP。

Pillow 库提供的最常用的函数之一是 crop()。此函数允许您通过指定矩形左上角和右下角的坐标来提取图像的矩形部分。crop() 函数返回一个新的图像对象,其中仅包含原始图像的裁剪部分。当您想突出图像的特定部分或删除不需要的部分时,此函数特别有用。

在使用 Pillow 图像类中的 crop() 工具处理图像时,我们需要精确地从中突出一部分。必须进行定义,指定用于移除图像不需要部分的矩形框。该区域包含一个四元素元组,即裁剪图像的坐标。此图像裁剪的结果是新的图像,形式为一个矩形,具有前面定义的新的坐标。

crop() 函数的语法

  • box = 一个带有左、上、右、下坐标的 4 个元组的矩形。

它以矩形框的形式返回输出图像。

在实现之前,我们需要在 Python 中安装 Pillow 库。我们可以使用 pip 命令下载它

第一步是在 Python 中导入库

现在,让我们使用 Pillow 库裁剪图像

输出

Crop Image in Python

我们导入了 PIL 库,然后使用 open() 函数加载了图像。使用 show() 函数显示了输入图像。

输出

Crop Image in Python

在这里,我们定义了裁剪后矩形框的坐标。简单来说,我们定义了输出图像的大小。这些坐标就是图像的像素。然后,我们使用 crop() 函数裁剪了图像,并将坐标作为参数。使用 show() 函数显示了输出图像。

使用 OpenCV 裁剪图像

裁剪图像的另一种方法是借助 OpenCV。OpenCV 是一个用于计算机视觉的库,可以帮助处理图像。此库在图像处理中很有用,可以转换图像并从中提取有用的见解。OpenCV 可用于多种功能,如目标检测、面部识别、图像裁剪、更改图像颜色和大小等。

OpenCV 简介

OpenCV,即 Open-Source Computer Vision,是一个用于计算机视觉和图像处理的开源库。它包含一些高级函数和特性,用于处理和转换图像。我们可以借助 OpenCV 裁剪图像。它具有用于裁剪图像的简单语法和方法。OpenCv 库与包括 Python、C++ 和 Java 在内的多种语言兼容。

OpenCV 提供了不同的函数来处理和转换图像。我们可以通过切片图像来裁剪图像。我们只需要定义输出图像的坐标或像素。

OpenCV 中图像裁剪的语法

  • img = 输入图像对象
  • r1 和 r2 是要切片的行坐标。
  • c1 和 c2 是要裁剪的列坐标。

在实现之前,我们需要安装这个库。这可以使用 pip 命令完成。

然后,我们将在 Python 中导入库

现在,我们将使用 OpenCV 裁剪图像

首先,我们导入了 OpenCV 库。然后,使用 imread() 函数读取了输入图像。OpenCV 读取图像并将其转换为 numpy 数组。我们可以切片图像的 numpy 数组来裁剪它并得到一个新图像。这是在 Python 中裁剪图像的最简单方法。

输出

Crop Image in Python

我们声明了输出图像的开始和结束坐标。它包含需要裁剪的行和列的像素。然后,我们创建了一个新对象并切片了原始图像。imshow() 函数用于获取输出图像。

通过本文,我们了解了在 Python 中裁剪图像的许多信息。在 Python 中裁剪图像有两种方法,包括 Pillow 和 OpenCV 库。两者都有非常简单的过程可以在 Python 中裁剪图像。


下一个主题Ctime-in-python