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

相关文章
|
26天前
|
Python
Python实用记录(六):如何打开txt文档并删除指定绝对路径下图片
这篇文章介绍了如何使用Python打开txt文档,删除文档中指定路径的图片,并提供了一段示例代码来展示这一过程。
26 1
|
27天前
|
计算机视觉 Python
Python实用记录(一):如何将不同类型视频按关键帧提取并保存图片,实现图片裁剪功能
这篇文章介绍了如何使用Python和OpenCV库从不同格式的视频文件中按关键帧提取图片,并展示了图片裁剪的方法。
54 0
|
26天前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
106 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
26天前
|
Python
Python实用记录(四):os模块-去后缀或者改后缀/指定目录下图片或者子目录图片写入txt/csv
本文介绍了如何使用Python的os模块来操作文件,包括更改文件后缀、分割文件路径和后缀、将指定目录下的所有图片写入txt文档,以及将指定目录下所有子目录中的图片写入csv文档,并为每个子目录分配一个标签。
15 1
|
27天前
|
计算机视觉 Python
Python中Pillow库的常见用法和代码示例
Pillow是Python中广泛使用的图像处理库,支持丰富的图像操作功能,包括但不限于打开、保存、缩放、裁剪、旋转、调色等。本文通过一系列示例介绍Pillow的基本用法,涵盖图像的加载与显示、尺寸调整、裁剪与旋转、亮度调整、格式转换、滤镜应用、图像合成及像素级操作等。首先需通过`pip install pillow`安装库,随后可通过导入`PIL.Image`等模块开始图像处理任务。无论是初学者还是进阶用户,都能从Pillow提供的强大功能中获益。
23 0
|
30天前
|
Python
Python实现图片的拼接
Python实现图片的拼接
|
计算机视觉 Python
Python编程:pillow对图像的简单处理
Python编程:pillow对图像的简单处理
156 0
Python编程:pillow对图像的简单处理
|
8天前
|
设计模式 开发者 Python
Python编程中的设计模式:工厂方法模式###
本文深入浅出地探讨了Python编程中的一种重要设计模式——工厂方法模式。通过具体案例和代码示例,我们将了解工厂方法模式的定义、应用场景、实现步骤以及其优势与潜在缺点。无论你是Python新手还是有经验的开发者,都能从本文中获得关于如何在实际项目中有效应用工厂方法模式的启发。 ###
|
1天前
|
存储 人工智能 数据挖掘
从零起步,揭秘Python编程如何带你从新手村迈向高手殿堂
【10月更文挑战第32天】Python,诞生于1991年的高级编程语言,以其简洁明了的语法成为众多程序员的入门首选。从基础的变量类型、控制流到列表、字典等数据结构,再到函数定义与调用及面向对象编程,Python提供了丰富的功能和强大的库支持,适用于Web开发、数据分析、人工智能等多个领域。学习Python不仅是掌握一门语言,更是加入一个充满活力的技术社区,开启探索未知世界的旅程。
10 5
|
2天前
|
人工智能 数据挖掘 开发者
探索Python编程:从基础到进阶
【10月更文挑战第32天】本文旨在通过浅显易懂的语言,带领读者从零开始学习Python编程。我们将一起探索Python的基础语法,了解如何编写简单的程序,并逐步深入到更复杂的编程概念。文章将通过实际的代码示例,帮助读者加深理解,并在结尾处提供练习题以巩固所学知识。无论你是编程新手还是希望提升编程技能的开发者,这篇文章都将为你的学习之旅提供宝贵的指导和启发。