Python处理图片九宫格,炫酷朋友圈

【Python和C++求正方形的方法合集】——详解代码和实现方法 无论是使用 Python 还是 C++,实现正方形都有多种方法。上面给出的实现方式不是唯一的,但它们是简单而有效的。务必注意代码质量,确保实现的正方形符合您的预期。如果您正在寻找关于正方形问题的解决方案,那么您来对地方了。在本文中,我们将为您提供几种Python和C++实现正方形的方法。【Python和C++求正方形的方法合集】——详解代码和实现方法。 阅读详情

640?wx_fmt=jpeg


 


1

前言


在日常的生活中,大家偶尔会看到朋友圈发的照片由一张被切成九张的效果,有时由一张照片被切成九张照片所带来的视觉盛宴是不一样的!


现在许多 P 图工具里面自带了这种功能,而微信小程序里也有专门可以切图的工具。为了熟练巩固的练习调库操作u1F602.png,今天就来带大家看看,如何用 Python 实现这个小功能。


对图像知识感兴趣的同学,可以看看之前写的一篇文章《图像学小知识,不看后悔...100%有用!》


2

成果展示


先来看看成果,原图为文章开始的图片,一图切九图朋友圈:


640?wx_fmt=png


九张图发朋友圈的时候,还有个比较有意思的事,上传时是乱序的,还需要你自己像玩拼图一样自己摆位置。u1F602.png


3

思路讲解


这个小功能的实现利用了 Python 中的一个图形处理库,Pillow。

Pillow是由从著名的Python图像处理库PIL发展出来的一个分支,通过Pillow可以实现图像压缩和图像处理等各种操作。

pip install pillow  # 安装 pillow 库


大体实现思路以下几步:

1. 读取到原图片,获取图片尺寸后,将宽高对比,生成以白色为背景的大正方形图

2. 将大正方形图按照 3*3 比例进行切割,生成9个小正方形图

3. 分别生成 9 张小正方形图片

4

代码讲解


按照上面的思路,写出代码:


1. 填充原图形的背景,生成大正方形图



 
def fill_images(image):	
""" 填充正方形白色背景图片 """	
    width, height = image.size  # 获取图片的宽高	
    side = max(width, height)  # 对比宽和高哪个大	
	
# 新生成的图片是正方形的,边长取大的,背景设置白色	
    new_image = Image.new(image.mode, (side, side), color='white')	
	
# 根据尺寸不同,将原图片放入新建的空白图片中部	
if width > height:	
        new_image.paste(image, (0, int((side - height) / 2)))	
else:	
        new_image.paste(image, (int((side - width) / 2), 0))	
    return new_image


代码中的顺序,可以理解为下面几个图形,首先在原有的照片基础上覆盖上白色背景:


640?wx_fmt=png


其次,比较宽和高的生成规则是下面两个图,我们可以将背景调成黑色,便于观察,当宽大于高的像素时,你的照片就是横着铺满正方形的,而背景图填充上下,黑色背景是不是有股电影大片的气息smiley_44.png:


640?wx_fmt=png


当高大于宽的像素时,你的照片就是竖着铺满正方形的,而背景图填充左右:


640?wx_fmt=png


第一步到这里就完成了,你得到的就是一张被背景颜色填满的正方形。


2. 对大正方形进行切割



 
def cut_images(image):	
    """ 切割大正方形图 """	
    width, height = image.size	
    one_third_width = int(width / 3)  # 三分之一正方形线像素	
	
# 保存每一个小切图的区域	
    box_list = []	
	
""" 	
    切图区域是矩形,位置由对角线的两个点(左上,右下)确定,	
    而 crop() 实际要传入四个参数(left, upper, right, lower) 	
    """	
for x in range(3):	
for y in range(3):	
            left = x * one_third_width  # 左像素	
            upper = y * one_third_width  # 上像素	
            right = (x + 1) * one_third_width  # 右像素	
            lower = (y + 1) * one_third_width  # 下像素	
            box = (left, upper, right, lower)	
            box_list.append(box)	
    image_list = [image.crop(box) for box in box_list]	
return image_list


上述代码实际发生的事情就是下面几张图所示:

首先定位三分线:


640?wx_fmt=png


根据左上,右下两个像素点的位置,确定新的图形:


640?wx_fmt=png


最后将每个小正方形的左上和右下像素点进行存储,以元组的形式写到list中,在调用 crop 函数进行图像复制。关于 crop 函数,官方文档:


640?wx_fmt=png


3. 存储切割后的9张图片(不放代码了,比较简单)


5

总结


Pillow 库对图像处理操作支持非常友好,而本次的小工具核心就在于如果进行对原有图片进行切割。内嵌两次循环来逐行遍历,双重遍历的思想会经常用到,这块可以注意下。


当然如果要是嫌源代码运行麻烦,可以打成 exe 文件来使用哟。这下又可以在朋友圈秀操作了!(比如改改背景呀,黑色背景什么的。)


近期热门:

GitHub2.5万星,视频网站一行Python爬

爬虫界又出神器|一款比selenium更高效的利器


点击阅读原文,获取源码

代码写布局-九宫格 在代码中直接写的布局,模仿微信朋友圈相片显示 立即下载

相关推荐

手把手教你用STM32F030实现功率MOS双脉冲测试(附完整电路图)

本文详细介绍了如何使用STM32F030微控制器搭建功率MOSFET双脉冲测试平台。通过分析双脉冲测试原理,提供了完整的硬件电路设计、驱动电路选型、软件时序生成方法,并指导如何利用示波器捕获和分析开关波形,从而评估功率器件的动态特性与开关损耗。

juice的博客 713

python画一个正方形

运行之后就会随机在一个位置生成正方形。

qq_21277357的博客 984

迈德威视相机调用( 基于 Linux系统+ OpenCV )

迈德威视相机调用( 基于 Linux系统+ OpenCV )前言一、登录迈德威视官网,下载官方SDK二、代码调用与视频帧处理( 基于 OpenCV )总结 前言     此博客记录了迈德威视工业相机在 Linux 系统下的代码调用及其环境配置,通过 OpenCV 对视频帧进行处理。   一、登录迈德威视官网,下载官方SDK      迈德威视官网 : http://www.mindvision.com.cn/     1. 进入官网后,在服务支持中选择软件下载。    2. 选择Linux系统S.

kkkkkk0729的博客 5680

python 输入正方形_Python打印正方形

示例1:#!/usr/bin/python# -*- coding: UTF-8 -*-# 根据输入打印rows = int(raw_input('please input number:'))# 打印正方形for i in range(0, rows):for k in range(0, rows):print " * ",k += 1i += 1print "\n"print 'the end...

weixin_40003780的博客 1037

Unity插件-Mirror使用方法(一)Mirror介绍

Unity Mirror 是一个专为 Unity 引擎设计的开源、社区驱动的网络库,主要用于简化多人联机游戏的开发。它最初是为了替代 Unity 原生的 UNet 系统(已被官方弃用)而创建的,因其轻量、灵活和高效的特点,成为 Unity 开发者构建多人游戏的热门选择。

qq_44501691的博客 4099

生态学家都在用的MixSIAR:用R语言搞定稳定同位素混合模型(从数据整理到结果解读)

本文详细介绍了生态学家常用的MixSIAR工具,通过R语言实现稳定同位素混合模型分析,从数据整理到结果解读全流程。文章涵盖环境准备、模型构建、参数设置、运行诊断及可视化等关键步骤,帮助研究者科学分析河口鱼类食物来源,适用于生态学研究和湿地保护政策制定。

weixin_28683065的博客 437

如何用Python画正方形

1 问题如何利用Python画一个边长为400的正方形,然后将其平均分为四份,并且正方形的边框为黑色,分割线的颜色为红色?2 方法使用turle实现正方形的绘制,在Python项目中使用import关键字导入turtle库,定义正方形边长为n=400,turtle.pencolor确定正方形的分割线为红色。代码清单1import turtle as tt.penup()t.goto(-200,20...

算法与编程之美 1082

视觉辅助RIS波束追踪:用摄像头“看见”用户,实现毫秒级波束对准

在无线通信领域,波束成形技术是提升高频段信号覆盖与质量的核心手段,其原理是通过调整天线阵列的相位,使信号能量在特定方向相干叠加,形成高增益定向波束。这项技术的价值在于能有效克服高频信号路径损耗大、穿透性差的瓶颈,广泛应用于5G/6G、毫米波通信及室内定位等场景。然而,传统波束追踪依赖信道估计或波束扫描,存在训练开销大、实时性差的问题。本文聚焦于一种创新解决方案:将计算机视觉与可重构智能表面(RIS)相结合。通过摄像头直接感知用户位置,并利用RIS快速重构反射波束方向,实现了近乎零开销、毫秒级延迟的波束追踪,

weixin_33552698的博客 620

py绘制正方形

n=2n=n-1。

naaaaw的博客 516

精度与速度双突破:YOLOv8-Pose 在 RK3588 上实现高性能人体姿态分析部署

本教程从YOLOv8-pose模型的姿态识别训练,到RK3588的边缘量化部署,为你打造了一套“高精度+高实时性+低成本”的人体姿态分析解决方案。无论是健身动作纠正、智能安防行为检测,还是工业人员姿态监控,这套技术都能直接复用——你只需替换数据集与业务逻辑,即可快速落地专属的边缘AI姿态识别系统。如果你在实践中遇到任何卡点,欢迎随时交流。记住,人体姿态识别的价值在于“关键点准、推理快、部署易”,而这三者的平衡,正是你通过本教程能掌握的核心能力。

know_F0727的博客 434

YOLOv9分割训练自己数据和推理训练好模型,并教你使用Labelme工具标注数据(附YOLOv9分割模型结构图),全网最详细教程

YOLOv9 通过研究数据传输时的信息丢失问题,提出了可编程梯度信息(PGI)和通用高效层聚合网络(GELAN)架构,提高了参数利用率和模型性能。与 SOTA 方法相比,GELAN 仅使用传统卷积算子即可实现更好的参数利用率。PGI 适用于从轻型到大型的各种模型,使从头开始训练的模型能够获得更好的结果。YOLOv9 被评价为新的 SOTA 实时目标检测器。接下来本文手把手教你训练自己分割数据集和推理训练好的分割模型。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1493

教你如何用Python处理图片九宫格,炫酷朋友圈

01 前言 在日常的生活中,大家偶尔会看到朋友圈发的照片由一张被切成九张的效果,有时由一张照片被切成九张照片所带来的视觉盛宴是不一样的! 现在许多 P 图工具里面自带了这种功能,而微信小程序里也有专门可以切图的工具。为了熟练巩固的练习调库操作,今天就来带大家看看,如何用 Python 实现这个小功能。 02 成果展示 先来看看成果,原图为文章开始的图片,一图切九图朋友...

CDA数据分析师 1017

STM32 使用SYN6288语音模块

本篇文章带大家学习一下SYN6288语音模块,这个模块可以用于车载设备,语音电子书等众多产品当中,而且这个模块支持多种编码格式,GB2312,GBK等字符编码格式。SYN6288语音合成模块是一种语音合成设备,其可实现文字转语音功能,将输入的文字信息通过内部的处理和合成,输出相对应的语音信息。SYN6288模块具有语音合成质量高、输出音质好、使用方便等特点,因此广泛应用于语音播报、语音提示、语音识别、智能家居、智能家电、安防监控等领域。支持多语言:包括中文、英文、日文、韩文等多种语言。

m0_49476241的博客 2万+

pil获得图片_Python处理图片九宫格,炫酷朋友圈

Python处理图片九宫格,炫酷朋友圈前言在日常的生活中,大家偶尔会看到朋友圈发的照片由一张被切成九张的效果,有时由一张照片被切成九张照片所带来的视觉盛宴是不一样的!现在许多 P 图工具里面自带了这种功能,而微信小程序里也有专门可以切图的工具。为了熟练巩固的练习调库操作,今天就来带大家看看,如何用 Python 实现这个小功能。成果展示先来看看成果,原图为文章开始的图片,一图切九图朋友圈:九张图发...

weixin_35240068的博客 155

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

python怎么设置图片尺寸_Python处理图片九宫格,炫酷朋友圈

Python处理图片九宫格,炫酷朋友圈前言在日常的生活中,大家偶尔会看到朋友圈发的照片由一张被切成九张的效果,有时由一张照片被切成九张照片所带来的视觉盛宴是不一样的!现在许多 P 图工具里面自带了这种功能,而微信小程序里也有专门可以切图的工具。为了熟练巩固的练习调库操作,今天就来带大家看看,如何用 Python 实现这个小功能。成果展示先来看看成果,原图为文章开始的图片,一图切九图朋友圈:九张图发...

weixin_39567943的博客 130

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

如何用python处理图片_教你如何用Python处理图片九宫格,炫酷朋友圈

原标题:教你如何用Python处理图片九宫格,炫酷朋友圈 作者 | 咪咪怪来源 | 咪哥杂谈(ID:migezatan)01 前言在日常的生活中,大家偶尔会看到朋友圈发的照片由一张被切成九张的效果,有时由一张照片被切成九张照片所带来的视觉盛宴是不一样的!现在许多 P 图工具里面自带了这种功能,而微信小程序里也有专门可以切图的工具。为了熟练巩固的练习调库操作 ,今天就来带大家看看,如何用 Pytho...

weixin_39599046的博客 260

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

python朋友圈图片_Python处理图片九宫格,炫酷朋友圈

Python处理图片九宫格,炫酷朋友圈前言在日常的生活中,大家偶尔会看到朋友圈发的照片由一张被切成九张的效果,有时由一张照片被切成九张照片所带来的视觉盛宴是不一样的!现在许多 P 图工具里面自带了这种功能,而微信小程序里也有专门可以切图的工具。为了熟练巩固的练习调库操作,今天就来带大家看看,如何用 Python 实现这个小功能。成果展示先来看看成果,原图为文章开始的图片,一图切九图朋友圈:九张图发...

weixin_39866774的博客 123

python朋友圈图片_教你如何用Python处理图片九宫格,炫酷朋友圈

01 前言在日常的生活中,大家偶尔会看到朋友圈发的照片由一张被切成九张的效果,有时由一张照片被切成九张照片所带来的视觉盛宴是不一样的!现在许多 P 图工具里面自带了这种功能,而微信小程序里也有专门可以切图的工具。为了熟练巩固的练习调库操作,今天就来带大家看看,如何用 Python 实现这个小功能。02 成果展示先来看看成果,原图为文章开始的图片,一图切九图朋友圈:九张图发朋友圈的时候,还有个比较有...

weixin_39922361的博客 155

ssh如何处理图片_教你如何用Python处理图片九宫格,炫酷朋友圈

01 前言在日常的生活中,大家偶尔会看到朋友圈发的照片由一张被切成九张的效果,有时由一张照片被切成九张照片所带来的视觉盛宴是不一样的!现在许多 P 图工具里面自带了这种功能,而微信小程序里也有专门可以切图的工具。为了熟练巩固的练习调库操作,今天就来带大家看看,如何用 Python 实现这个小功能。02 成果展示先来看看成果,原图为文章开始的图片,一图切九图朋友圈:九张图发朋友圈的时候,还有个比较有...

weixin_39940901的博客 113

python图像背景填充_教你如何用Python处理图片九宫格,炫酷朋友圈

01 前言在日常的生活中,大家偶尔会看到朋友圈发的照片由一张被切成九张的效果,有时由一张照片被切成九张照片所带来的视觉盛宴是不一样的!现在许多 P 图工具里面自带了这种功能,而微信小程序里也有专门可以切图的工具。为了熟练巩固的练习调库操作,今天就来带大家看看,如何用 Python 实现这个小功能。02 成果展示先来看看成果,原图为文章开始的图片,一图切九图朋友圈:九张图发朋友圈的时候,还有个比较有...

weixin_34125314的博客 1424
上一篇: 送书来了|Python数据分析必备工具书
下一篇: 小密圈的趣味实战-微信主题
菜鸟学Python
博客等级 码龄9年 8063粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值