【教学类-36-01】Midjounery生成的四张图片切片成四张小图

news2024/11/9 1:39:11

作品展示:

把一张正方形图片的四个等大小图切割成四张图片

背景需求

最近在学习ChatGPT的绘画(midjounery   AI艺术)

我想给中班孩子找卡通动物图片(黑白线条),打印下来,孩子们练习描边、涂色、延边剪等项目。

“小鸡 简笔画 卡通 黑白外轮廓 没有涂色Little Cat Sketching Cartoon Black and White Outline Not Painted”

通常midjounery会生成四张图片供选择,我全都要,就直接将四张图片另存下载,(用U放大功能比较费时间)

直接需求:用Python把图片切割成四小张图片。

操作过程:

1、查看图片大小(像素)

右击图片,有一个“(图片)编辑” 

 可以看到这套图片的大小:2048像素*2048像素

(midjounery 默认长款是1:1。所以四张合图都是2048*2048)

 2、把所有图片放在一个文件夹里

 代码展示


# 参考网址:https://blog.csdn.net/weixin_42182534/article/details/125773141?ops_request_misc=&request_id=&biz_id=102&utm_term=python%E6%88%AA%E5%8F%96%E5%9B%BE%E7%89%87%E7%9A%84%E4%B8%80%E9%83%A8%E5%88%86&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-125773141.nonecase&spm=1018.2226.3001.4187

'''
功能:把midjounery 生成的四张图片(动物简笔画卡通图案)切割成小图(png)
作者:阿夏
时间:2023年6月23日 19:51
'''

from PIL import Image
import os
import os.path
long=int(input('图片长度像素(2048,2912)\n'))
wide=int(input('图片宽度像素(2048,1632)\n'))
# 1:1图比例是2048
# 16:9图片比例 2912:1632
 
# 定义文件所在文件夹
image_dir = r'C:\Users\jg2yXRZ\OneDrive\桌面\四张图片拆分'
for parent, dir_name, file_names in os.walk(image_dir):  # 遍历每一张图片
    for filename in file_names:
        print(filename)
        pic_name = os.path.join(parent, filename)
        image = Image.open(pic_name)
        _width, _height = image.size
        print(_width, _height)
 
        
        # 四张图片的坐标
        t1=[0,0,float(long/2),float(wide/2)]
        t2=[float(long/2),0,long,float(wide/2)]
        t3=[0,float(wide/2),float(long/2),wide]
        t4=[float(long/2),float(wide/2),long,wide]

        pic=t1+t2+t3+t4
        print(pic)
        # [0, 0, 1456.0, 816.0, 1456.0, 0, 2912, 816.0, 0, 816.0, 1456.0, 1632, 1456.0, 816.0, 2912, 1632]

        for p in range(int(len(pic)/4)):
            pp=pic[p*4:p*4+4]
            print(pp)
                       
            # 定义裁剪范围(left, upper, right, lower)
            # # box = image.crop((0,0,123,123))
            box = image.crop((pp[0],pp[1],pp[2],pp[3]))
            name = filename[:-4]+'_'+str(p) +'.png'
            
            box.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\四张图片拆分\%s' % name)
    print('Done!')    
 

终端运行:

 结果展示: 

 单张图片大小:1024*2014 ,普通A4打印足够了

 感悟:

1、用AI绘画生成一样大小的图案(如简笔画),更容易实现Python学具批量插入(不会出现图片压缩、图案主体变形的情况)

2、运用代码切割四张图片,快速便利获得同样大小的图片,就不需要midjounery的U放大功能(生成单一图片费时,主要是我不需要超清图片)

插图运用

1.转学纪念册(作为标志)

     6号同学即将转学,我想给其做一本简易的留念册,有同伴的照片、学号、名字,属相(鸡或狗)详见后文的记录。

 2.头饰制作(延边剪、直线剪)

 

 

 

3.卡片交换(直线剪)

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

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

相关文章

【发布】ChatGLM2-6B:性能大幅提升,8-32k上下文,推理提速42%

自3月14日发布以来, ChatGLM-6B 深受广大开发者喜爱,截至 6 月24日,来自 Huggingface 上的下载量已经超过 300w。 为了更进一步促进大模型开源社区的发展,我们再次升级 ChatGLM-6B,发布 ChatGLM2-6B 。 在主要评估LLM模…

《C++ Primer》--学习7

顺序容器 容器库概览 迭代器 与容器一样,迭代器有着公共的接口:如果一个迭代器提供某个操作,那么所有提供相同操作的迭代器对这个操作的实现方式都是相同的。 迭代器范围 一个迭代器范围是由一对迭代器表示,两个迭代器分别指向…

剪辑必备技巧:轻松去除视频中的多余物体

在视频剪辑过程中,有时我们需要去除视频中的多余物体,以提升视觉效果和观赏体验。今天将为您介绍一些实用的技巧,帮助您轻松去除视频中的多余物体,让您的剪辑作品更加精彩。 一、选择适当的剪辑软件进行剪辑操作 一些专业的剪辑…

基于MATLAB实现KECA、PCA和KPCA的多阶段发酵过程监测方法毕业设计(完整源码+说明文档+PPT+开题报告+数据)

文章目录,完整源码在文末 1. 研究目标2. 主要研究内容3. 技术路线4. 预期成果5. 功能说明6. 参考文献7. 完整仿真源码下载 1. 研究目标 实现基于KECA的青霉素发酵过程故障监测 2. 主要研究内容 1.针对KPCA监测算法在数据降维过程中簇结构信息丢失的问题&#xff…

BootStrap案例

BootStrap是已经写好的css样式 (1)下载BootStrap 解压后放在 static文件夹–>plugins(存放插件)–>bootstrap-3.4.1 (2)使用 在页面上引入BootStrap 编写HTML时,按照BootStrap的规定来编写自定制 开发版本(一…

Web服务器群集:部署LNMP平台(yum方式安装)

目录 一、理论 1.yum安装与源码安装的区别 二、实验 1.Nginx安装(yum方式) 2.MySQL安装(yum方式) 3.PHP安装(yum方式) 4.Nginx 配置 三、问题 1.客户端 404 报错 四、总结 一、理论 1.yum安装与…

转行网络安全,报班之后就万事大吉了吗?

最近在网上看到很多人问,“是不是报了培训班就可以高枕无忧,坐等毕业之后拿高工资了?”“是不是学了网络安全,就一定能够实现月入过万了?” 其实,无论你是选择网络安全也好,还是选择其他的Java、…

自我管理型团队:企业组织力提升利器

近年来,软件项目的规模和复杂性在以前所未有的速度增长。因此,快速响应需求变化已经成为互联网行业的常态。在这样的环境下,软件产品的快速开发和迭代对于公司迅速占领市场、抢占商机来说具有至关重要的意义。 所以,越来越多的研…

Mysql高阶语句(二)

Mysql高阶语句(二) 1、别名2、子查询3、EXISTS4、连接查询5、CREATE VIEW 视图6、UNION 联集7、交集值8、无交集值9、CASE10、算排名12、算累积总计13、算总合百分比14、算累计总合百分比15、空值(null)和无值(’’&am…

大中型灌区信息化监测系统-智慧灌区

系统概述 大中型灌区信息化监测系统主要对对灌区的水情、雨情、土壤墒情、气象等信息进行监测,对重点区域进行视频监控,同时对泵站、闸门进行远程控制,实现了信息的测量、统计、分析、控制、调度等功能。为灌区管理部门科学决策提供了依据&a…

从0到1精通自动化测试,pytest自动化测试框架,skip跳过用例(八)

一、前言 pytest.mark.skip可以标记无法在某些平台上运行的测试功能,或者希望自己失败的测试功能 skip意味着只有在满足某些条件时才希望测试通过,否则pytest应该跳过运行测试。 常见示例是在非Windows平台上跳过仅限Windows的测试,或跳过测…

Nginx反向代理解决客户端ip获取问题

希望大家可以去我个人网站看本篇博客😀,纯手撸了一个月,希望大家能去看看,评论一两句/(ㄒoㄒ)/~~: RoCBlog-Nginx反向代理解决客户端ip获取问题 任务 有访客记录的需求,所以需要获取客户端IP以及地理位置…

站台「亚马逊云科技中国峰会」,我成了「开发者大讲堂」演讲嘉宾~

文章目录 ⭐️ 中国峰会可持续发展论坛亮点抢先看!⭐️ 创业者之日亮点抢先看⭐️ 开发者专属板块 | 灵感碰撞⭐️ 峰会现场 | 5大板块实现技能跃迁⭐️ 峰会报名全面启动 | 亮点抢先看 没有废话,咱直接奔主题,报名入口在文末;非常…

5.6.2 传输层编址--端口

5.6.2 传输层编址 传输层为应用进程提供了端到端的逻辑通信,两个主机之间的通信实际上是两个主机中的应用进程之间的相互通信,因此一个主机中可能有多个应用进程同时和另一个主机中多个应用进程进行通信,而网络层我们学习的网际协议能够保证…

Java设计模式之结构型-适配器模式(UML类图+案例分析)

目录 一、概念 二、UML类图 1、类适配器 2、对象适配器 三、角色设计 四、代码实现 案例一 案例二 五、总结 一、概念 将一个类的接口转换为另一个接口,使得原本由于接口不兼容的类进行兼容。 适配器模式主要分为类适配器模式和对象适配器模式&#xff0…

信息技术教师答辩题目及答案解析

小学信息技术教师《制作图文并茂的幻灯片》答辩题目 第一题 在空白幻灯片中输入输入文字? 【参考答案】 1.打开演示文稿,新建幻灯片。 2.单击“绘图”工具栏中的“横排文本框”按钮。 3.在幻灯片的任意位置拖动鼠标,出现的虚线框就是文本框。 4.在文本框…

树的基本概念和表示方法,二叉树的基本概念以及堆的概念和插入。

文章目录 树的基本概念树的基本术语树的表示双亲表示法:孩子兄弟表示法:树的典型应用——目录树 二叉树的概念及结构二叉树的概念两种特殊的二叉树二叉树的存储结构 堆的概念堆的插入 树的基本概念 树是数据结构中的一个重要组成部分,它具有一对多的特点&#xff0c…

解密软件工程的秘密武器:UML图

文章目录 一 综述二 用例图2.1 细化用例说明2.2 包含、扩展、泛化关系2.3 题目列举 三 类图和对象图四 顺序图五 状态图5.1 栗子 六 活动图七 练习7.1 用例图综合题7.2 状态图综合题 一 综述 二 用例图 用例图描述一组用例、参与者及它们之间的关系。 用户角度描述系统功能&am…

Qt自定义窗口部件/控件(实现一个十六进制微调框SpinBox)

目录 1、自定义Qt窗口部件/控件2、十六进制微调框(SpinBox)2.1、实现思路2.2、源码 3、使用方法3.1、代码添加自定义窗口部件/控件3.2、Qt设计师添加自定义窗口部件/控件3.3、运行效果 4、缺点 1、自定义Qt窗口部件/控件 在某些情况下,我们发现Qt窗口控件需要更多的自定义定制…

剑指 Offer 16. 数值的整数次方 / LeetCode 50. Pow(x, n)(快速幂)

题目: 链接:剑指 Offer 16. 数值的整数次方;LeetCode 50. Pow(x, n) 难度:中等 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问…