背景需求:
风变的AI对话大师一年到期了,也没有看到续费的按钮。不能使用它写代码了。
MJ早就用完了,最后480次,我担心信息课题会用到它生图,所以不敢用。
最近探索其他类似MJ的免费出图工具——找到了每天给50张免费图的“通义万相”。
参照以下链接的蝴蝶一大二小面具样式,下载大量的正脸卡通动物简笔画
关键词模式:(中文输入)
鹅的面具、儿童面具,单画,卡通,黑白轮廓,未着色,幼儿插图,彩色书,线条画,没有背景,没有颜色,黑白漫画线条艺术:,空背景,粗轮廓,清晰的线条,矢量线。简单,大,可爱
文心一言问了50种常见的动物+农场动物
使用UIBOT自动模仿自动输入文字并生成,一张图40秒等候
生成图片下载,不像MJ可以一次下载四张连起来的图片,必须一张一张下载,很麻烦,但是图片不用切割了,已经是一张一张的。
使用UIBOT选择一行4个的按钮下载(这里位置不稳定,很容易报错)
下载图片
有彩色和黑白的
人工选一些看上去适合的面具图片
标准:非彩色、可爱的、图像比较大。
最后分成4类图片
1、彩图
2、看不懂动物是什么
3、动物不好看
4、适合的
最后获得76张图
生成学具
一、 A4(一个大面具,依此缩小的图案)
0.用到的素材
1、单元格工作表XY值
2、每张图片的大小
3、上代码
# '''
# 目的:通义万象生成的动物面具:(长方形)19.5一大多小双面打印
# 作者:阿夏
# 时间:2024年6月8日21:27
# '''
# '''
# '''
import os
folder_path=r'C:\Users\jg2yXRZ\OneDrive\桌面\通义动物面具'
print('----------第1步:提取所有的幼儿照片的路径------------')
ppp=folder_path+r'\04适合的'
print('----------第2步:新建一个临时文件夹------------')
qqq=folder_path+r'\零时Word'
os.makedirs(qqq,exist_ok=True)
path=[]
# 过滤:只保留png结尾的图片 31张(多几张备用)
imgs=os.listdir(ppp)
for img in imgs:
if img.endswith(".png"):
path.append(ppp+'\\'+img)
# 所有图片的路径
print(path)
# 提取动物名字倒数第4个字之前的动物名字
print(imgs)
print('----------第3步:随机抽取12张图片 ------------')
import docx
from docx import Document
from docx.shared import Pt
from docx.shared import RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.oxml.ns import qn
import random
import os,time
import docx
from docx import Document
from docx.shared import Inches,Cm,Pt
from docx.shared import RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
# # from docx.enum.text import WD_VERTICAL_ALIGNMENT
# from docx.enum.table import WD_CELL_VERTICAL_ALIGNMENT #用来设置单元格垂直对齐方式
from docx.oxml.ns import qn
from docxtpl import DocxTemplate
import pandas as pd
from docx2pdf import convert
from docx.shared import RGBColor
pic=['00','01','11','21','22','32','33']
long=['19.23','8.2','4.9','4.3','2.7','2','2']
for nn in range(0,int(len(path))): # 读取图片的全路径 的数量 31张
doc = Document(folder_path+r'\蝴蝶长方形19.5.docx')
figures=path[nn] # 图片的全路径的第一张
table = doc.tables[0] # 4567(8)行
for l in range(len(long)):
# 单元格坐标
a=int(pic[l][0])
b=int(pic[l][1])
#
# 写入1张大图
run=doc.tables[0].cell(a,b).paragraphs[0].add_run() # # 图片位置 第一个表格的0 3 插入照片
run.add_picture(r'{}'.format(figures),width=Cm(float(long[l])),height=Cm(float(long[l])))
table.cell(a,b).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中
doc.save(qqq+r'\{}.docx'.format('%02d'%nn))
from docx2pdf import convert
# docx 文件另存为PDF文件
inputFile = qqq+fr'\{nn:02d}.docx' # 要转换的文件:已存在
outputFile = qqq+fr'\{nn:02d}.pdf' # 要生成的文件:不存在
# 先创建 不存在的 文件
f1 = open(outputFile, 'w')
f1.close()
# 再转换往PDF中写入内容
convert(inputFile, outputFile)
print('----------第4步:把都有PDF合并为一个打印用PDF------------')
# 多个PDF合并(CSDN博主「红色小小螃蟹」,https://blog.csdn.net/yangcunbiao/article/details/125248205)
import os
from PyPDF2 import PdfFileMerger
target_path = qqq
pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]
pdf_lst = [os.path.join(target_path, filename) for filename in pdf_lst]
pdf_lst.sort()
file_merger = PdfFileMerger()
for pdf in pdf_lst:
print(pdf)
file_merger.append(pdf)
file_merger.write(folder_path+fr"\通义动物面具19.5制作({len(path)}人共{len(path)}份).pdf")
file_merger.close()
# doc.Close()
# print('----------第5步:删除临时文件夹------------')
import shutil
shutil.rmtree(qqq) #递归删除文件夹,即:删除非空文件夹
4、最后结果——一个大面具,配上逐渐缩小的同类动物。
幼儿可以将不同大小的动物图案制作不同的手工作品
1、大面具、
2、手环、
3、头饰
4、项链
5、安静书(翻页连续绘本)
6、连环画(每个格子上有动物头像)
7、与同伴商议,互相交换动物卡片,获得更多的动物类型
8、排序粘贴
9、门帘(打洞连接)
生成学具
二、 正方形(一个15*15CM面具)
0.用到的素材
1、单元格工作表XY值
2、每张图片的大小
3、上代码
# '''
#
# 目的:通义万象生成的动物面具:15*15正方形手工纸
# 作者:阿夏
# 时间:2024年6月8日21:27
# '''
# '''
# '''
import os
folder_path=r'C:\Users\jg2yXRZ\OneDrive\桌面\通义动物面具'
print('----------第1步:提取所有的幼儿照片的路径------------')
ppp=folder_path+r'\04适合的'
print('----------第2步:新建一个临时文件夹------------')
qqq=folder_path+r'\零时Word'
os.makedirs(qqq,exist_ok=True)
path=[]
# 过滤:只保留png结尾的图片 31张(多几张备用)
imgs=os.listdir(ppp)
for img in imgs:
if img.endswith(".png"):
path.append(ppp+'\\'+img)
# 所有图片的路径
print(path)
# 提取动物名字倒数第4个字之前的动物名字
print(imgs)
print('----------第3步:随机抽取12张图片 ------------')
import docx
from docx import Document
from docx.shared import Pt
from docx.shared import RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.oxml.ns import qn
import random
import os,time
import docx
from docx import Document
from docx.shared import Inches,Cm,Pt
from docx.shared import RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
# # from docx.enum.text import WD_VERTICAL_ALIGNMENT
# from docx.enum.table import WD_CELL_VERTICAL_ALIGNMENT #用来设置单元格垂直对齐方式
from docx.oxml.ns import qn
from docxtpl import DocxTemplate
import pandas as pd
from docx2pdf import convert
from docx.shared import RGBColor
for nn in range(0,int(len(path))): # 读取图片的全路径 的数量 31张
doc = Document(folder_path+r'\蝴蝶正方形15.docx')
figures=path[nn] # 图片的全路径的第一张
table = doc.tables[0] # 4567(8)行
#
# 写入照片
run=doc.tables[0].cell(0,0).paragraphs[0].add_run() # # 图片位置 第一个表格的0 3 插入照片
run.add_picture(r'{}'.format(figures),width=Cm(14.3),height=Cm((14.3))) # 14.7
table.cell(0,0).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中
doc.save(qqq+r'\{}.docx'.format('%02d'%nn))
from docx2pdf import convert
# docx 文件另存为PDF文件
inputFile = qqq+fr'\{nn:02d}.docx' # 要转换的文件:已存在
outputFile = qqq+fr'\{nn:02d}.pdf' # 要生成的文件:不存在
# 先创建 不存在的 文件
f1 = open(outputFile, 'w')
f1.close()
# 再转换往PDF中写入内容
convert(inputFile, outputFile)
print('----------第4步:把都有PDF合并为一个打印用PDF------------')
# 多个PDF合并(CSDN博主「红色小小螃蟹」,https://blog.csdn.net/yangcunbiao/article/details/125248205)
import os
from PyPDF2 import PdfFileMerger
target_path = qqq
pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]
pdf_lst = [os.path.join(target_path, filename) for filename in pdf_lst]
pdf_lst.sort()
file_merger = PdfFileMerger()
for pdf in pdf_lst:
print(pdf)
file_merger.append(pdf)
file_merger.write(folder_path+fr"\通义动物面具15制作({len(path)}人共{len(path)}份).pdf")
file_merger.close()
# doc.Close()
# print('----------第5步:删除临时文件夹------------')
import shutil
shutil.rmtree(qqq) #递归删除文件夹,即:删除非空文件夹
4、最后结果——一个14CM的小面具(去掉白边,实际图案也就巴掌大)
手工纸打印的一个图案,可以让孩子制作面具,但是只有一个图案,绘画裁剪,做起来可能很快了(没法消磨时间)。
1、
后续
1、可以尝试用图像填入图片的方式,在正方形图片的四个角上批量添加同样的小图案。可能部分动物图案不会被遮挡,就可以拿来给孩子们用了。进一步节约纸张。
2、通义万象的动物面具图片大约是一半的图片被选用了,50%的满意度,继续尝试用每天50分的免费额度生成一些幼儿学具需要用的精美图片
预测试
为了了解幼儿的实际需求,我打印了3个7款动物并展示
一、有什么?
提问::你看到了什么?
提问::你看到了什么?
A:我看到左边有一个很大的兔子,旁边还有小的兔子。
B:这些兔子长的的一样!
C:我看到这里有兔子,这一边的兔子越变越小了
D:我看到这里有两个一样的兔子
E :这只兔子在笑,很可爱
F:像小兔子妈妈和小兔子宝宝
小结::你们真厉害,发现了这图上的动物是同一种,长得一模一样,而且从大到小,就像兔妈妈和他的宝宝们。数一数,妈妈有几个宝宝?
全体:1、2、3、4、5、6。6个兔子宝宝
再来看一张:
A:也是越来越小的猫,有7个动物。
B:最小的猫是一样大的,就像双胞胎。
C:头上有一个火焰一样的毛
A:长颈鹿有两个角
B:长颈鹿一家
二、怎么玩?
目的:了解幼儿基于原有手工经验,想做成什么样的作品
问题:这些不同大小的动物,你想做什么?
A:我想把这个最大的兔子做扇子,最小的兔子做两个戒指。送给妈妈和姐姐
B:我也要做扇子,还有手表。
C:我想做王冠,戴在头上
D:做扇子,头箍(意思是做王冠的圆圈纸条)
F:我要做一个兔子扇子,做一个电话手表。
G:做很多扇子。
……
问题:用什么材料做扇子、手表、戒指呢?
A:那边的冰棍棒子可以做扇子柄。
B、还有吸管。
C:扭扭棒。
D:勺子
幼儿的兴趣都在扇子上了,说的都是手柄材料。
小结:可以用长条形的、坚固的材料做扇子手柄。
追问:用什么材料黏贴呢?
A:胶水
B:用双面胶!
C:吸铁石
……
小结:明天你们可以试试这些黏贴材料是否牢固。
结语:因为HX小朋友第一个说了“扇子”,所以后面很多小朋友都提到了夏天的扇子。兴趣浓厚。
考虑到扇子是两面组成,为了美观,我想把最大的动物做2个,便于幼儿双面黏贴。因此需要调整模型,所以这款7个图案的暂时就不打印了。
实际的教学实践在下面的链接里
讨论完成后,我让孩子们浏览PDF里的76个动物,辨认动物并选择自己喜欢的图案造型。
视频演示:
20240613通义万相动物头像识别