探秘Python中的PIL图片处理库

作者:丽江麻将开发公司 阅读:38 次 发布时间:2023-06-10 09:08:40

摘要:PIL(Python Imaging Library)是Python中的一个图片处理库,它提供了大量的图片处理方法和函数,例如改变图片大小、图像旋转、滤镜、图像合并等等。它支持多种文件格式,包括JPEG、PNG、BMP、GIF、WebP等等。在Python中,PIL是一个非常受欢迎的图片处理库。在本文中,我们将...

PIL(Python Imaging Library)是Python中的一个图片处理库,它提供了大量的图片处理方法和函数,例如改变图片大小、图像旋转、滤镜、图像合并等等。它支持多种文件格式,包括JPEG、PNG、BMP、GIF、WebP等等。在Python中,PIL是一个非常受欢迎的图片处理库。在本文中,我们将介绍PIL库的使用和一些常用的操作。

探秘Python中的PIL图片处理库

1. 安装PIL

PIL可以通过pip包管理器安装。打开终端或命令行,输入以下命令:

```bash

pip install pillow

```

如果你使用的是Anaconda,PIL可以通过以下命令安装:

```bash

conda install pillow

```

2. 加载图片

在PIL中,我们使用Image对象来操作图片。我们可以使用`Image.open()`方法来加载一张图片,示例代码如下:

```python

from PIL import Image

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

```

这个代码会将文件名为`image.jpg`的图片读取到一个Image对象中。注意,图片文件应该放在当前Python程序的工作目录下,或者指定图片文件的路径。

3. 可视化图片

加载图片后,我们可以使用`imshow()`方法来显示图片。但是,Python自带的`imshow()`方法通常存在于大型科学计算库(如matplotlib)中。这里我们可以使用`numpy`包中的`array()`方法将图片转换为`numpy`数组进行可视化,示例代码如下:

```python

from PIL import Image

import numpy as np

import matplotlib.pyplot as plt

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

img_array = np.array(image)

plt.imshow(img_array)

plt.show()

```

这个代码会将加载的图片转换为Numpy数组,并使用Matplotlib库中的`imshow()`函数显示图片。

4. 改变图片大小

常常需要改变图像的大小,在PIL中我们使用`resize()`方法,示例代码如下:

```python

from PIL import Image

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

new_image = image.resize((400, 300))

new_image.save('new_image.jpg')

```

这个代码会将`image.jpg`的图片缩小为400x300大小,并保存为`new_image.jpg`。

5. 图像旋转

PIL中可以用`rotate()`方法来旋转图像,示例代码如下:

```python

from PIL import Image

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

rotated_image = image.rotate(45)

rotated_image.save('rotated_image.jpg')

```

这个代码会将图片顺时针旋转45度,并保存为`rotated_image.jpg`。

6. 添加水印

PIL中可以用`paste()`方法添加水印,示例代码如下:

```python

from PIL import Image, ImageDraw, ImageFont

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

draw = ImageDraw.Draw(image)

text = 'Watermark'

font = ImageFont.truetype('arial.ttf', 36)

textwidth, textheight = draw.textsize(text, font)

width, height = image.size

x = width - textwidth - 10

y = height - textheight - 10

draw.text((x, y), text, font=font)

image.save('watermarked_image.jpg')

```

这个代码会在图片右下角添加一个水印,水印文字为“Watermark”,字体为“Arial”,大小为36。

7. 使用滤镜

PIL中可以通过`filter()`方法使用滤镜,示例代码如下:

```python

from PIL import ImageFilter

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

blurred_image = image.filter(ImageFilter.BLUR)

blurred_image.save('blurred_image.jpg')

```

这个代码会给图片添加一个模糊效果,并保存为`blurred_image.jpg`。

8. 批量处理图片

PIL中可以使用列表和循环,对多张图片进行批量处理,示例代码如下:

```python

from PIL import Image

import os

image_directory = 'images/'

new_directory = 'new_images/'

if not os.path.exists(new_directory):

os.mkdir(new_directory)

for file_name in os.listdir(image_directory):

image_path = os.path.join(image_directory, file_name)

image = Image.open(image_path)

resized_image = image.resize((400, 300))

new_path = os.path.join(new_directory, f'resized_{file_name}')

resized_image.save(new_path)

```

这个代码会将`images/`目录下的所有图片缩小为400x300大小,并保存到`new_images/`目录下。

总结

PIL是一个功能强大的Python图片处理库。本文介绍了PIL库的使用以及一些常用的操作,包括加载图片、可视化图片、改变图片大小、图像旋转、添加水印、使用滤镜和批量处理图片。使用PIL,我们可以方便地操作和处理图片,并定制化图片处理过程。

  • 原标题:探秘Python中的PIL图片处理库

  • 本文链接:https:////zxzx/13700.html

  • 本文由深圳飞扬众网小编,整理排版发布,转载请注明出处。部分文章图片来源于网络,如有侵权,请与飞扬众网联系删除。
  • 微信二维码

    CTAPP999

    长按复制微信号,添加好友

    微信联系

    在线咨询

    点击这里给我发消息QQ客服专员


    点击这里给我发消息电话客服专员


    在线咨询

    免费通话


    24h咨询☎️:166-2096-5058


    🔺🔺 棋牌游戏开发24H咨询电话 🔺🔺

    免费通话
    返回顶部