Python轻松帮你实现 微信九宫格 朋友圈

数据管道

共 1136字,需浏览 3分钟

 ·

2020-09-15 13:59

点击上方数据管道”,选择“置顶星标”公众号

干货福利,第一时间送达


来源 / 天作之程
作者 / 天作

你一定见过下面的朋友圈九宫格


有很多小程序可以实现这个功能,在微信里搜“九宫格”小程序就可以找到。

比如下边这个


其核心就是把一张图片拆分为9份。


下面用python 来实现一下

在python中,图片处理的模块主要用到 pillow 模块

它可以完成图像归档和图像处理两方面功能需求:

  • 图像归档:对图像进行批处理、生成图像预览、图像格式转换等;
  • 图像处理:图像基本处理、像素处理、颜色处理等。

首先安装一下模块:

pip install pillow

从 PIL中导入 Image类

from PIL import Image

九宫格图片切分的主要逻辑如下:

  1. 打开待处理的图片
  2. 切分图片
  3. 保存切分完成的图片

1、打开待处理的图片

pic = input("请输入图片文件名:")
im = Image.open(pic)

2、切分图片

width = im.size[0]//3
height = im.size[1]//3
x = 0
y = 0
crop = im.crop((x, y, x+width, y+height))

3、保存图片

filename = 1
crop.save(str(filename) + '.jpg')

完整的代码如下:

from PIL import Image

pic = input("请输入图片文件名:")
im = Image.open(pic)
width = im.size[0]//3
height = im.size[1]//3
x = 0
y = 0
filename = 1 
for i in range(3):
    for j in range(3):
        crop = im.crop((x, y, x+width, y+height))
        crop.save(str(filename) + '.jpg')
        x += width
        filename += 1
    x = 0
    y += height

9张小图上传到朋友圈的时候,还可以感受一波拼图的乐趣


另外,用 pillow模块还可以对图像完成更多有趣的操作。

比如:一幅变五福


  • 灰度福
  • 轮廓福
  • 反色福
  • 膨胀福
  • 福到了

“一福变五福”是使用 Opencv写的,感兴趣的小伙伴可以用 PIL模块来完成。

今天的分享就到这里啦,欢迎点赞,在看。

浏览 30
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报