Pillow教程11:九宫格切图的实现方法(安排!!!)

news2024/11/24 3:42:16

---------------Pillow教程集合---------------

Python项目18:使用Pillow模块,随机生成4位数的图片验证码

Python教程93:初识Pillow模块(创建Image对象+查看属性+图片的保存与缩放)

Pillow教程02:图片的裁剪+复制粘贴+旋转角度+翻转+降噪滤镜(平滑、锐化、边缘检测)

Pillow教程03:图像处理的基本步骤+分离split+合并merge+混合blend+composite遮罩

Pillow教程04:学习Draw绘制+Font字体+alpha composite方法,给图片添加文字水印

Pillow教程05:NumPy数组和PIL图像的相互转化

Pillow教程06:将图片中出现的黄色和红色,改成绿色

Pillow教程07:批量将png图片,合成GIF动态图

Pillow教程08:调整图片的亮度+对比度+色彩+锐度

Pillow教程09:图片格式(png,jpg,ico等)批量转换+批量修改图片尺寸

Pillow教程10:设计博文的文字背景封面图,再也不担心找不到素材了

脚本中,我们首先计算了带有间距的新图片的宽度和高度。然后,我们计算了每份图片(包括间距)的大小,并在创建新图片时指定了白色作为背景色。在遍历和粘贴每个部分时,我们考虑了间距,并计算了每个部分的起始坐标。最后,我们保存了带有间距的新图片。
请确保将花.png替换为你的图片文件的实际路径,并根据需要调整spacing变量的值以改变间距的大小。执行脚本后,你会得到一个名为new_image_composed.png的新图片,其中包含了原始图片的9个分割部分,并在每部分之间有一定的白色间距。

原图
在这里插入图片描述
九宫图
在这里插入图片描述

# -*- coding: utf-8 -*-
# @Author : 小红牛
# 微信公众号:WdPython
from PIL import Image

# 1.加载原始图片
original_image = Image.open('花.png')
# 获取图片的宽度和高度
width, height = original_image.size

# 2.计算每份图片的大小
part_width = width // 3  # 宽,三等分
part_height = height // 3  # 高,三等分
# print(part_height, part_width)

# 3.定义每份图片之间的白色间距
spacing = 5  # 例如,间距为5像素

# 计算带有间距的新图片的宽度和高度
new_width = width + 2 * spacing  # 两侧各加间距
new_height = height + 2 * spacing  # 上下两侧各加间距
# 创建一个新的图片,用于存储所有带有间距的分割图片
new_image = Image.new('RGB', (new_width, new_height), color='white')  # 使用白色作为背景

# 4.遍历图片的每一部分
for i in range(3):
    for j in range(3):
        # 计算当前部分的起始坐标,考虑到间距
        new_x = j * (part_width + spacing) + spacing
        new_y = i * (part_height + spacing) + spacing

        # 5.切割出当前部分的图片
        box = (j * part_width, i * part_height, (j + 1) * part_width, (i + 1) * part_height)
        part_image = original_image.crop(box)

        # 将切割出的图片粘贴到新图片中的对应位置(考虑到间距)
        new_image.paste(part_image, (new_x, new_y))

# 5.保存新的图片
new_image.save('new_image_composed.png')

完毕!!感谢您的收看

----------★★历史博文集合★★----------

我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具 NumPy Pygame 图像处理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1579416.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ctf_show笔记篇(web入门---SSTI)

前言 模板引擎 模板引擎是为了让用户界面以及业务数据分离开才产生的,模板引擎会生成特定的文档,然后通过模板引擎生成前端html代码,然后再获取用户数据再放到渲染函数里渲染,最后将生成的html代码个渲染好的数据结合拿给浏览器呈…

【Git教程】(十)版本库之间的依赖 —— 项目与子模块之间的依赖、与子树之间的依赖 ~

Git教程 版本库之间的依赖 1️⃣ 与子模块之间的依赖2️⃣ 与子树之间的依赖🌾 总结 在 Git 中,版本库是发行单位,代表的是一个版本,而分支或标签则只能被创建在版本库这个整体中。如果一个项目中包含了若干个子项目,…

学习赚钱两不误--全自动挂机软件(网心云)

1、简介 程序员的工作环境程序员的工作环境最多的就是网络资源,所以我们工作中有很多的闲置网络资源,不白嫖有点浪费哈。下面就给大家介绍一下免费分享上行带宽赚钱的平台--网心云 优点: (1)平台大、靠谱、稳定 &a…

四川易点慧电子商务抖音小店可靠购物

在当下这个信息爆炸的时代,电子商务的崛起不仅改变了人们的购物习惯,也催生了众多新兴的电商平台。四川易点慧电子商务抖音小店便是其中的佼佼者,以其独特的魅力和可靠性,赢得了广大消费者的青睐。 一、平台背景实力雄厚 四川易点…

3、最大池化maxinmum pooling

了解有关最大池化特征提取的更多信息。 简介 在第二课中,我们开始讨论卷积神经网络(convnet)的基础如何进行特征提取。我们了解了这个过程中的前两个操作是在带有 relu 激活的 Conv2D 层中进行的。 在这一课中,我们将看一下这个序列中的第三个(也是最后一个)操作:通过…

(一)基于IDEA的JAVA基础12

一维数组 为什么使用数组: 当我们需要存储一系列数据的时候,就需要用到数组,如果不使用数组,我们就要需要一个一个的去声明变量,这样浪费内存空间,同时效率低下。 什么是数组: 数组本身就是一个变量,只…

蓝桥杯-【二分】分巧克力,跳石头

代码及解析: #include<bits/stdc.h> using namespace std; int n,k; const int N100010; int h[N],w[N]; bool check(int d){int num0;for(int i0;i<n;i) num (h[i]/d)*(w[i]/d);if(num>k) return true; //够分else return false; //不够分 } in…

Linux: 工具: tshark 抓到了收方向的ESP明文包?

根据这个描述&#xff0c;看着是正常的&#xff0c; 抓到包之后&#xff0c;可以方便的分析问题&#xff0c;省去在wireshark里解码的问题。 经过调查发现是内核将ESP解开之后&#xff0c;如果是tunnel模式&#xff0c;内核又重新将skb丢给了interface去做处理。这样tshark/tcp…

LightDB24.1 ecpg支持exec sql for :i update(or insert)语法

背景 oracle 在适配过程中&#xff0c;发现pro*c支持exec sql for :i update(or insert)语法&#xff0c;其功能是取代 for(;;) {update(or insert)语法; }其中i决定循环执行的次数&#xff0c;update(or insert)表示循环执行的次数。 我们在oracle环境下测试得到如下经验&a…

diffusion model(十五) : IP-Adapter技术小结

infopaperhttps://arxiv.org/pdf/2308.06721.pdfcodehttps://github.com/tencent-ailab/IP-Adapterorg.Tencent AI Lab个人博客地址http://myhz0606.com/article/ip_adapter 1 Motivation 为了对文生图diffusion model进行特定概念的定制&#xff0c;常用LoRA[1]、textual in…

国内超声波清洗机排名!洗眼镜超声波清洗机推荐

眼镜是我们日常生活中不可或缺的用具&#xff0c;但随着使用时间的增长&#xff0c;眼镜上的灰尘和污垢也会逐渐积累&#xff0c;传统的清洗方法往往难以彻底清洁。为了解决这一难题&#xff0c;超声波清洗机出现了&#xff01;它利用超声波振动原理&#xff0c;可以轻松、快速…

使用Docker部署jar包

vi DockerfileDockerfile内容 FROM java:8 ADD chery5G-admin.jar chery5G-admin.jar ENTRYPOINT ["java","-jar","chery5G-admin.jar"]上传jar包到Dockerfile文件同级目录 使用Dockerfile文件&#xff0c;将jar包制作为镜像 docker build -t…

2024/4/5—力扣—在排序数组中查找元素的第一个和最后一个位置

代码实现&#xff1a; 思路&#xff1a;二分法 方法一&#xff1a;分别查找左右侧边界 /*** Note: The returned array must be malloced, assume caller calls free().*/ int GetTargetFirstPosition(int *nums, int numsSize, int target) {int l 0, r numsSize - 1;while …

JAVA面试八股文之Redis相关

Redis相关 Redis6.0为什么要用多线程&#xff1f;在Redis中存一个list集合怎么实现排序&#xff1f;Redis的5大基本类型的底层原理&#xff1f;缓存穿透&#xff1f;缓存击穿&#xff1f;缓存雪崩&#xff1f;redis做为缓存怎么保持和mysql数据进行同步&#xff1f;&#xff08…

物证管理系统|DW-S404实现物证全生命周期管理

物证管理系统|DW-S404实现物证全生命周期管理 一、项目背景 随着社会的进步和科技的发展&#xff0c;信息化和数字化已经成为各个行业的必然趋势。在众多领域中&#xff0c;物证管理系统逐渐受到广泛的关注和应用。 物证是公安机关处理案件的关键凭证&#xff0c;针对过去物证管…

如何给MySQL数据库的所有表统一加上字段

在开发过程中&#xff0c;有时候慢慢的建了很多数据库表&#xff0c;但是后来发现需要统一增加某些字段的时候&#xff0c;可以通过alter语句 ALTER TABLE 表名 ADD 列名 数据类型;比如我要给t_user表增加gmt_create与gmt_modified字段&#xff0c;用作记录新增记录时间与更新…

U盘格式化数据恢复,3个妙计助你快速恢复!

“我的u盘由于中病毒了&#xff0c;我不得已将它格式化了&#xff0c;现在想进行u盘数据的恢复&#xff0c;不知道应该怎么操作&#xff0c;大家有什么方法推荐吗&#xff1f;” U盘作为我们日常生活中常见的存储设备&#xff0c;经常用于存储各种重要数据。但是在日常使用u盘的…

华火电火灶:人间烟火味,最抚凡人心

厨房&#xff0c;一直是家的核心&#xff0c;那里不仅有妈妈的味道&#xff0c;更有生活的味道。当炊烟袅袅&#xff0c;炉火旺盛&#xff0c;家的温馨与幸福便油然而生。华火电火灶以其独特的魅力&#xff0c;不仅成为了现代厨房中的一道亮丽风景线&#xff0c;更成为了家人的…

Digicert 证书

一、简介 在当今数字化时代&#xff0c;网络安全已成为全球关注的焦点。随着网络攻击和数据泄露事件的频发&#xff0c;企业和组织越来越重视保护自己的网络环境。在这种背景下&#xff0c;数字证书成为了确保网络通信安全的关键工具。作为数字证书行业的领导者&#xff0c;Di…

yolov8草莓及病害检测项目开发(python开发,带有训练模型,可以重新训练,并有Pyqt5界面可视化)

本次检测系统&#xff0c;可以通过图片、视频或摄像头三种形式检测&#xff0c;检测出开花、结果、熟果、草莓叶子健康、叶子缺钙、灰叶斑病等八大类别。基于最新的YOLO-v8模型&#xff0c;下载后即可重新运行训练脚本&#xff0c;&#xff0c;也可以直接运行检测脚本&#xff…