python使用pillow实现一张图片转为九宫格图片

简介: python使用pillow实现一张图片转为九宫格图片

实现九宫格图片

PIL:Python Imaging Library

已经是Python平台事实上的图像处理标准库了。
PIL功能非常强大,但API却非常简单易用。由于PIL仅支持到Python 2.7,一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow。

官网地址:https://pillow.readthedocs.io/en/stable/

安装方式: pip3 install pillow

#!/usr/bin/env python  
# encoding: utf-8  

from PIL import Image

img_path = r'C:\\001.jpg'
#img_path = r'C:\\002.jpg'
#把图片变成正方形图片

image = Image.open(img_path)

width,height = image.size

print(width,height)
new_image_length = width if width > height else height

new_image = Image.new(image.mode, (new_image_length, new_image_length), color='white')
if width > height:
    # (x,y)二元组表示粘贴上图相对下图的起始位置
    new_image.paste(image, (0, int((new_image_length - height) / 2)))
else:
    # 如果原图宽小于高(竖图),则填充图片的水平纬度
    new_image.paste(image, (int((new_image_length - width) / 2), 0))

new_image.save(r"D:\0011.jpg")

#将图片裁剪为9张大小相同的图片

width,height = new_image.size

new_width = int(width/3)

print(new_width)

box_list = []
#坐标 左 上 右 底
for i in range(0,3):
    for j in range(0,3):
        box = (i*new_width,j*new_width,(i+1)*new_width,(j+1)*new_width)
        print(box)
        box_list.append(box)

#根据坐标裁剪图片
index = 1
for box in box_list:   
    new_image.crop(box).save(r"D:\001-"+str(index)+".jpg")
    index = index + 1

相关文章
|
1天前
|
存储 索引 Python
python图片九宫格图片处理
本篇文章介绍了一个Python项目的实现,项目能够处理图片并将其组合成九宫格或四宫格,同时还具备音乐播放功能,对于初学者来说是一个可以进行实战学习的初级项目。
17 5
|
1天前
|
存储 计算机视觉 Python
python实现Gif图片的字符画
这是一个Python实战项目,旨在将GIF动态图转化为ASCII字符动画。项目适合有一定Python基础的学习者,主要使用os、imageio、PIL库。首先,代码导入所需库,然后通过PIL创建空白图片并添加文本。接着,程序读取GIF,拆分帧并转为字符画,存入“tmp”目录。同时,代码提供了清空“tmp”目录、将灰度值映射为ASCII字符、将图片处理成字符画的函数。此外,还有创建新画布和合成GIF的步骤。主函数调用这些模块,最终将ASCII字符画合并成GIF。项目展示了将动态图像转换为ASCII艺术的过程。
13 0
|
4天前
|
Python
python代码根据点坐标裁切图片
【4月更文挑战第19天】python代码根据点坐标裁切图片
13 2
|
13天前
|
数据采集 Web App开发 开发者
探秘Python爬虫技术:王者荣耀英雄图片爬取
探秘Python爬虫技术:王者荣耀英雄图片爬取
|
14天前
|
机器学习/深度学习 算法 自动驾驶
opencv python 图片叠加
【4月更文挑战第17天】
|
Python
Python生成九宫格图片
Python生成九宫格图片
97 0
|
7天前
|
存储 人工智能 数据处理
Python:编程的艺术与科学的完美交融
Python:编程的艺术与科学的完美交融
12 1
|
2天前
|
测试技术 调度 索引
python编程中常见的问题
【4月更文挑战第23天】
11 2
|
3天前
|
网络协议 算法 网络架构
Python网络编程之udp编程、黏包以及解决方案、tcpserver
Python网络编程之udp编程、黏包以及解决方案、tcpserver
|
3天前
|
机器学习/深度学习 数据挖掘 算法框架/工具
Python:编程的艺术与魅力
Python:编程的艺术与魅力
11 3