Python 实战:图片处理

2024-04-26 09:11:52 浏览数 (2)

1、引言:

在数字化时代,图片处理是一项常见的任务。无论是在个人生活中还是在工作中,我们经常需要对图片进行裁剪、调整大小或添加特效等操作。在本文中,我们将介绍一个使用 Python 的 Pillow 库来进行图片处理的简单程序。

2、程序案例:

案例中的图片放置在程序的目录中,输入要处理的图片文件名时,包含图片的后缀。输出的图片文件名需要改一个名字,同样也包含后缀的名字。

代码语言:javascript复制
from PIL import Image, ImageFilter

def resize_image(input_image, output_image, size):
    with Image.open(input_image) as image:
        image.thumbnail(size)
        image.save(output_image)

def apply_filter(input_image, output_image, filter_type):
    with Image.open(input_image) as image:
        filtered_image = image.filter(filter_type)
        filtered_image.save(output_image)

input_image = input("请输入要处理的图片文件名:")
output_image = input("请输入输出的图片文件名:")

# 调整图片大小
size = (800, 600)
resize_image(input_image, output_image, size)
print("图片大小调整完成!")

# 应用滤镜
filter_type = ImageFilter.BLUR
output_image_filtered = output_image.split(".")[0]   "_filtered.jpg"
apply_filter(output_image, output_image_filtered, filter_type)
print("滤镜应用完成!")

3、案例讲解:

这个程序使用了 Python 的 Pillow 库(基于 PIL 库),它提供了丰富的图像处理功能。以下是代码中各部分的详细说明:

  1. 我们首先导入了Image和ImageFilter类,它们是 Pillow 库中用于图像处理的核心类。
  2. resize_image函数接受输入图片文件名、输出图片文件名和目标尺寸作为参数。
  3. 在函数内部,我们使用Image.open函数打开输入图片,并将其存储在image变量中。
  4. 使用thumbnail方法调整图像的大小,将其缩放到目标尺寸。
  5. 使用save方法将处理后的图像保存为输出图片。
  6. apply_filter函数接受输入图片文件名、输出图片文件名和滤镜类型作为参数。
  7. 在函数内部,我们使用Image.open函数打开输入图片,并将其存储在image变量中。
  8. 使用filter方法应用指定的滤镜类型。
  9. 使用save方法将处理后的图像保存为输出图片。
  10. 在主程序中,我们通过用户输入获取输入图片文件名和输出图片文件名。
  11. 使用resize_image函数调整图片大小,并将结果保存到输出图片。
  12. 使用apply_filter函数应用滤镜,并将结果保存到另一个输出图片。

4、可以学到什么:

通过这个实例,我们可以学到以下几点:

  1. 如何使用 Pillow 库打开、处理和保存图像文件。
  2. 如何使用thumbnail方法调整图像的大小,将其缩放到指定的尺寸。
  3. 如何使用filter方法应用不同类型的滤镜来改变图像的外观。
  4. 如何编写函数来封装图像处理的操作,提高代码的可重用性和可维护性。

5、总结:

本篇文章介绍了一个实用的 Python 实战案例,通过使用 Pillow 库进行图片处理。通过调整图片大小和应用滤镜,我们可以轻松实现常见的图片处理操作。图像处理是一个广泛应用于设计、摄影和图形领域的任务,掌握图像处理技术可以为我们的工作和创造带来很大的帮助。然而,在实际应用中,请确保遵守相关的版权法律和道德规范,并确保使用合法和合适的图片进行处理。

0 人点赞