文章目录
- 前言
- 一、Pillow是什么?
- 二、安装PIL库
- 三、查看PIL库版本
- 四、使用方法
- 1.引入库
- 2.定义图片路径
- 3.打开需要打马赛克的图片
- 4.获取图片尺寸
- 5.创建一个新的图片对象
- 6.定义块的宽高
- 7.循环遍历图片中的每个块进行处理
- 8.保存马赛克图片
- 9.效果
- 总结
前言
大家好,我是空空star,本篇给大家分享一下通过Python的PIL库给图片添加马赛克。
一、Pillow是什么?
Pillow是一个Python图像处理库,它是Python Imaging Library(PIL)的一个分支。Pillow提供了广泛的图像处理功能,包括图像格式转换、图像增强、图像滤波、图像调整、图像合成等。使用Pillow,开发人员可以很方便地处理图像,并将其集成到他们的Python应用程序中。Pillow兼容Python 2和3,支持多种操作系统,包括Windows、Linux和Mac OS X等。它被广泛用于Web开发、数据分析、机器学习等领域。
二、安装PIL库
pip install pillow
三、查看PIL库版本
pip show pillow
Name: Pillow
Version: 9.4.0
Summary: Python Imaging Library (Fork)
Home-page: https://python-pillow.org
Author: Alex Clark (PIL Fork Author)
Author-email: aclark@python-pillow.org
License: HPND
Requires:
Required-by: image, imageio, matplotlib, pytesseract, wordcloud
四、使用方法
1.引入库
from PIL import Image, ImageDraw
2.定义图片路径
local = '/Users/kkstar/Downloads/video/pic/'
3.打开需要打马赛克的图片
image = Image.open(local+'demo.jpg')
4.获取图片尺寸
width, height = image.size
5.创建一个新的图片对象
mosaic_image = Image.new('RGB', (width, height), (0, 0, 0))
6.定义块的宽高
block_size = 10
7.循环遍历图片中的每个块进行处理
# 循环遍历图片中的每个块
for x in range(0, width, block_size):
for y in range(0, height, block_size):
# 截取当前块的区域
box = (x, y, x+block_size, y+block_size)
block = image.crop(box)
# 计算当前块的平均颜色
r, g, b = block.resize((1, 1)).getpixel((0, 0))
color = (r, g, b)
# 在新的图片上绘制马赛克块
draw = ImageDraw.Draw(mosaic_image)
draw.rectangle(box, fill=color)
8.保存马赛克图片
mosaic_image.save(local+'mosaic.jpg')