欢迎访问宙启技术站
智能推送

图像处理函数:使用Python图像处理函数来打开、处理和保存图片

发布时间:2023-06-14 17:14:17

Python是一种功能强大的编程语言,有许多用于图像处理的函数和类库。利用Python可以轻松打开、处理和保存图片。本文将介绍Python中的一些常用的图像处理函数。

首先需要安装Python的图像处理类库,常用的有PIL(Python Imaging Library)和OpenCV。PIL 是 Python 中一个强大的图像处理类库,可以方便地完成图像处理和图像绘制等任务。本文将使用PIL类库进行图像处理。

一、打开图片

在PIL中,打开图像使用Image的open()方法。可以通过传递图片的路径来打开一张图片,比如:

from PIL import Image

im = Image.open('image.jpg')

这里打开了一张名为image.jpg的图片。

二、图像处理

PIL提供了许多图像处理函数,包括图像缩放、旋转、剪切、滤镜等。下面介绍几个常用的图像处理函数。

1. 图像缩放

PIL中提供了resize()方法可以实现图片的缩放。图片可以按照宽高比例进行缩放,也可以按照指定的大小进行缩放。如下:

# 按照指定宽高缩放
im = Image.open('image.jpg')
im_resized = im.resize((width, height), Image.ANTIALIAS)
im_resized.save('image_resized.jpg')

上面代码将图片按照指定的宽高缩放,并保存为image_resized.jpg。

2. 图像旋转

PIL中提供了rotate()方法可以实现图片的旋转。如下:

# 图像旋转
im = Image.open('image.jpg')
im_rotated = im.rotate(45)
im_rotated.save('image_rotated.jpg')

上面代码将图片旋转45度,并保存为image_rotated.jpg。

3. 图像剪切

PIL中提供了crop()方法可以实现图片的剪切。剪切的区域可以通过指定左上角和右下角的坐标来实现。如下:

# 图像剪切
im = Image.open('image.jpg')
im_cropped = im.crop((100, 100, 300, 300))
im_cropped.save('image_cropped.jpg')

上面代码将图片从(100,100)到(300,300)的区域剪切出来,并保存为image_cropped.jpg。

4. 图像滤镜

PIL中提供了一些常用的图像滤镜,可以通过ImageFilter模块中的类来使用。如下:

# 图像滤镜
from PIL import ImageFilter

im = Image.open('image.jpg')
im_filtered = im.filter(ImageFilter.SHARPEN)
im_filtered.save('image_filtered.jpg')

上面代码使用SHARPEN滤镜对图片进行滤镜处理,并保存为image_filtered.jpg。

三、保存图片

PIL中的Image对象提供了save()方法可以将处理好的图片保存成文件,支持多种图片格式,如JPG、PNG等。如下:

im.save('image.png', 'PNG')

上面代码将图片保存为PNG格式。

注意:如果保存的图片格式和原图片格式不同,在保存图片的时候需要指定图片格式。比如将原图片保存为JPEG格式,可以这样:

im.save('image.jpg', 'JPEG')

四、完整代码

下面是一个完整的示例代码:

from PIL import Image, ImageFilter

# 打开图片
im = Image.open('image.jpg')

# 图像缩放
im_resized = im.resize((600, 400), Image.ANTIALIAS)
im_resized.save('image_resized.jpg')

# 图像旋转
im_rotated = im.rotate(45)
im_rotated.save('image_rotated.jpg')

# 图像剪切
im_cropped = im.crop((100, 100, 300, 300))
im_cropped.save('image_cropped.jpg')

# 图像滤镜
im_filtered = im.filter(ImageFilter.SHARPEN)
im_filtered.save('image_filtered.jpg')

print('Done.')

上面代码打开图片image.jpg,分别进行了缩放、旋转、剪切和滤镜操作,并保存为不同的文件。运行以上代码后,可以在同一目录下看到处理后的图片。