图像处理函数:使用Python图像处理函数来打开、处理和保存图片
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,分别进行了缩放、旋转、剪切和滤镜操作,并保存为不同的文件。运行以上代码后,可以在同一目录下看到处理后的图片。
