python使用Image处理图片常用技巧分析

  

Python使用Image处理图片常用技巧分析

介绍

Python中的Image模块,在处理图片的时候有很多种方法和技巧。在本篇攻略中,我们将会介绍一些处理图片常用的技巧和方法,包括读取和保存图片、改变图片大小、裁剪和粘贴图片、旋转和翻转图片、改变图片的亮度、对比度、色调和饱和度、模糊图片等等。

读取图片和保存图片

首先,我们需要学习如何读取图片和保存图片。在Python中,Image模块提供了open()方法和save()方法用于读取和保存图片。

以下是一个读取和保存图片的例子:

from PIL import Image

# 读取图片,将图片转换为RGB模式
img = Image.open('example.jpg').convert('RGB')

# 显示原始图片
img.show()

# 保存图片
img.save('example.png')

改变图片大小

改变图片大小是处理图片时经常需要用到的技巧之一。在Image模块中,可以使用resize()方法来改变图片的大小。

以下是一个改变图片大小的例子:

from PIL import Image

# 读取图片,将图片转换为RGB模式
img = Image.open('example.jpg').convert('RGB')

# 对图片进行缩放
img = img.resize((512, 512))

# 显示缩放后的图片
img.show()

# 保存缩放后的图片
img.save('example_resized.png')

裁剪和粘贴图片

裁剪和粘贴图片可以用来截取图片中的某一个区域。在Image模块中,可以使用crop()方法来裁剪图片,使用paste()方法来粘贴图片。

以下是一个裁剪和粘贴图片的例子:

from PIL import Image

# 读取图片,将图片转换为RGB模式
img = Image.open('example.jpg').convert('RGB')

# 裁剪图片
region = img.crop((100, 100, 300, 300))

# 创建一个新的图片
new_img = Image.new('RGB', (400, 400), (255, 255, 255))

# 将裁剪后的图片粘贴到新的图片上
new_img.paste(region, (50, 50))

# 显示粘贴后的图片
new_img.show()

# 保存粘贴后的图片
new_img.save('example_pasted.png')

旋转和翻转图片

旋转和翻转图片可以用来调整图片的方向。在Image模块中,可以使用rotate()方法来旋转图片,使用transpose()方法来翻转图片。

以下是一个旋转和翻转图片的例子:

from PIL import Image

# 读取图片,将图片转换为RGB模式
img = Image.open('example.jpg').convert('RGB')

# 旋转图片
img_rotate = img.rotate(90)

# 显示旋转后的图片
img_rotate.show()

# 翻转图片
img_flip = img.transpose(Image.FLIP_LEFT_RIGHT)

# 显示翻转后的图片
img_flip.show()

# 保存旋转和翻转后的图片
img_rotate.save('example_rotated.png')
img_flip.save('example_flipped.png')

改变图片的亮度、对比度、色调和饱和度

改变图片的亮度、对比度、色调和饱和度可以用来调整图片的颜色。在Image模块中,可以使用ImageEnhance模块来实现。

以下是一个改变图片颜色的例子:

from PIL import Image, ImageEnhance

# 读取图片,将图片转换为RGB模式
img = Image.open('example.jpg').convert('RGB')

# 改变图片亮度
enhancer_brightness = ImageEnhance.Brightness(img)
img_brightness = enhancer_brightness.enhance(0.5)

# 改变图片对比度
enhancer_contrast = ImageEnhance.Contrast(img)
img_contrast = enhancer_contrast.enhance(2)

# 改变图片色调
enhancer_color = ImageEnhance.Color(img)
img_color = enhancer_color.enhance(0.5)

# 改变图片饱和度
enhancer_sharpness = ImageEnhance.Sharpness(img)
img_sharpness = enhancer_sharpness.enhance(2)

# 显示改变颜色后的图片
img_brightness.show()
img_contrast.show()
img_color.show()
img_sharpness.show()

# 保存改变颜色后的图片
img_brightness.save('example_brightness.png')
img_contrast.save('example_contrast.png')
img_color.save('example_color.png')
img_sharpness.save('example_sharpness.png')

模糊图片

模糊图片可以用来调整图片的清晰度。在Image模块中,可以使用ImageFilter模块来实现。

以下是一个模糊图片的例子:

from PIL import Image, ImageFilter

# 读取图片,将图片转换为RGB模式
img = Image.open('example.jpg').convert('RGB')

# 模糊图片
img_blur = img.filter(ImageFilter.BLUR)

# 显示模糊后的图片
img_blur.show()

# 保存模糊后的图片
img_blur.save('example_blur.png')

结论

在本篇攻略中,我们介绍了Python中使用Image处理图片常用的技巧和方法。我们学习了读取和保存图片、改变图片大小、裁剪和粘贴图片、旋转和翻转图片、改变图片的亮度、对比度、色调和饱和度、以及模糊图片等等。这些技巧和方法可以帮助我们更好地处理图片,并调整图片的效果。

相关文章