关注我们
Pillow:Python 图像处理的利器
Python 搞图像处理,那可是一把好手!今儿个咱聊聊 Pillow 这个库,它是 PIL(Python Imaging Library)的一个分支,功能强大得很,用起来也贼方便。不管你是想裁剪图片、调整大小,还是加水印、滤镜啥的,Pillow 都能轻松搞定。
PART01
安装 Pillow
装 Pillow 超级简单,一行命令就搞定:
pip install Pillow
装好之后,咱就可以开始玩儿了。
PART02
打开和保存图片
先来点基本操作。用 Pillow 打开图片,就跟打开文件似的:
就这么简单,咱们就把一张 JPG 格式的喵星人照片转成了 PNG 格式。
温馨提示:保存图片时,Pillow 会根据文件扩展名自动选择格式。所以你想转格式,改个后缀名就成。
PART03
调整图片大小
有时候图片太大或太小,咱们得调整一下。Pillow 的 resize() 方法就是干这个的:
# 调整大小new_size = (300, 200) # 宽300,高200resized_img = img.resize(new_size)resized_img.save(“small_cat.jpg”)
这下喵星人变小了,但还是那么可爱!
PART04
裁剪图片
这段代码就把原图裁剪成了一个 300x300 的正方形。记住啊,坐标是从左上角开始算的。
PART05
旋转和翻转
让喵星人转个圈?
# 旋转90度rotated_img = img.rotate(90)rotated_img.save(“rotated_cat.jpg”)# 左右翻转flipped_img = img.transpose(Image.FLIP_LEFT_RIGHT)flipped_img.save(“flipped_cat.jpg”)
rotate() 方法可以旋转任意角度,不光是 90 度。transpose() 方法除了左右翻转,还能上下翻转(用Image.FLIP_TOP_BOTTOM)。
PART06
滤镜效果
Pillow 自带了不少滤镜,比如把彩色图片变成黑白的:
from PIL import ImageFilter# 应用模糊滤镜blurred_img = img.filter(ImageFilter.BLUR)blurred_img.save(“blurred_cat.jpg”)# 转换为黑白图片bw_img = img.convert(“L”)bw_img.save(“bw_cat.jpg”)
filter() 方法可以应用各种滤镜,convert() 方法则可以转换图片的色彩模式。“L” 模式就是灰度图。
PART07
绘制文字
给图片加个水印或者文字说明?没问题!
这段代码在图片左上角加了个红色的 “Meow!”。
温馨提示:确保你系统里有对应的字体文件,不然会报错的哦。
PART08
图片拼接
想把多张图片拼成一张大图?Pillow 也能搞定:
from PIL import Image# 打开多张图片img1 = Image.open(“cat1.jpg”)img2 = Image.open(“cat2.jpg”)img3 = Image.open(“cat3.jpg”)# 创建一个新的空白图片width = img1.width + img2.width + img3.widthheight = max(img1.height, img2.height, img3.height)new_img = Image.new(“RGB”, (width, height))# 将三张图片粘贴到新图片上new_img.paste(img1, (0, 0))new_img.paste(img2, (img1.width, 0))new_img.paste(img3, (img1.width + img2.width, 0))new_img.save(“cat_collage.jpg”)
这段代码把三张喵星人的照片横着拼在了一起。你也可以竖着拼,或者拼成矩阵,随你喜欢。
Pillow 真是个强大的工具,能让你在 Python 里轻松处理图片。不过记住啊,图像处理可能会很耗内存,特别是处理大图片的时候。如果你的电脑内存不够用,可以试试分批处理或者降低图片分辨率。
玩儿 Pillow 的时候,多试试不同的方法和参数组合。有时候意外的组合可能会产生很酷的效果。别怕犯错,大不了重新运行代码嘛。好了,去试试吧,让你的 Python 代码变成一个图片处理大师!
领取专属 10元无门槛券
私享最新 技术干货