本文主要是介绍【教学类-12-11】20240612通义万相-动物图片连连看(A4一页3套),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景需求:
前期用midjounery下载了一些动物头饰图片
【教学类-36-02】20230625动物头饰制作1.0(midjounery动物简笔画四图)一页一种动物_英语头饰动物的制作图片-CSDN博客文章浏览阅读471次。【教学类-36-02】20230625动物头饰制作1.0(midjounery动物简笔画四图)一页一种动物_英语头饰动物的制作图片https://blog.csdn.net/reasonsummer/article/details/131383513
现在我用“通义万相”生成相似的图片功能
选一张原来有的图片
选一些好看的原图,在“通义万象”里生成“相似图片”四张
因为是用已经存在的midjounery精美图片生成的,所以没有出现奇怪的图案(多条尾巴、多条腿等)
我希望做成连连看的样式(8个图案互相连线)
代码展示
'''
01通义动物连连看头饰 一种动物四个图,连线
AI对话大师,阿夏
2024年6月9日'''
# 第3步,读取图片写入docx,合并PDFimport os,time
from docx import Document
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
from PyPDF2 import PdfMerger
from docx.shared import Cm
import random,itertools
# 读取123文件夹中的所有图片地址path=r'C:\Users\jg2yXRZ\OneDrive\桌面\20240609通义动物连连看头饰'
image_folder=path+r'\01四个动物连线'
new_folder = path+r'\零时文件夹'
os.makedirs(new_folder, exist_ok=True)image_files = [os.path.join(image_folder, file) for file in os.listdir(image_folder) if file.endswith('.png')]
# print(image_files)
# print(len(image_files))
# 140# 每4个图片一组进行处理
grouped_files1 = [image_files[i:i+4] for i in range(0, len(image_files), 4)]
print('1:',len(grouped_files1))
# 35
print(grouped_files1)grouped_files2=[]
# 对嵌套列表里面的每组的四个图案进行打乱
for group in grouped_files1: b=random.sample(group,4) grouped_files2.append(b)print('2:',len(grouped_files2))
print(grouped_files2)# 提取两组4张的图片
grouped_files3=[]
for x in range(len(grouped_files1)): grouped_files3.append(grouped_files1[x])grouped_files3.append(grouped_files2[x])print('全',len(grouped_files3))
print(grouped_files3)
# 280# # 扁平化 grouped_files2 到一个一层的列表
grouped_files4 = list(itertools.chain.from_iterable(grouped_files3)) grouped_files = [grouped_files4[i:i+24] for i in range(0, len(grouped_files4), 24)]
# print(grouped_files)
# print(len(grouped_files))# 处理每一组图片
for group_index, group in enumerate(grouped_files):# 创建新的Word文档doc = Document(path+r'\动物连连看一页3套.docx')# print(group)# 遍历每个单元格,并插入图片for cell_index, image_file in enumerate(group):# 计算图片长宽(单位:厘米)# 插入图片到单元格table = doc.tables[0]cell = table.cell(int(cell_index / 4), cell_index % 4)# 如果第一行有4个格子,两个数字都写4cell_paragraph = cell.paragraphs[0]cell_paragraph.clear()run = cell_paragraph.add_run()run.add_picture(image_file, width=Cm(4.69), height=Cm(4.69))# 保存Word文档doc.save(os.path.join(new_folder, f'{group_index + 1:03d}.docx'))# 所有docx合并成PDF# 将10个docx转为PDF
import os
from docx2pdf import convert
from PyPDF2 import PdfFileMerger
# from PyPDF4 import PdfMerger# output_folder = output_folderpdf_output_path = path+fr'\\通义动物连连看头饰相同大小{int(len(image_files)/12)+1}张{len(image_files)}人使用.pdf'# 将所有DOCX文件转换为PDF
for docx_file in os.listdir(new_folder):if docx_file.endswith('.docx'):docx_path = os.path.join(new_folder, docx_file)convert(docx_path, docx_path.replace('.docx', '.pdf'))# 合并零时文件里所有PDF文件
merger = PdfFileMerger()
for pdf_file in os.listdir(new_folder):if pdf_file.endswith('.pdf'):pdf_path = os.path.join(new_folder, pdf_file)merger.append(pdf_path)
time.sleep(2)# 保存合并后的PDF文件
merger.write(pdf_output_path)
merger.close()import shutil
# 删除输出文件夹
import time
shutil.rmtree(new_folder)
# shutil.rmtree(new)
time.sleep(2)
虽然图案近似,但是仔细看一个特征(如尾巴、眼睛、发型),就可以快速找到一模一样的图案。难度不大。
完成后,我希望孩子们把8个图案剪下来,制作各种有趣的玩具。
教学测试
时间:2024年6月11日
班级:中四班
人数:23人
幼儿辨识图案
幼儿连线
手工制作
感悟:
1、幼儿的连线情况不错,大部分都是对的,
2、手工制作,大部分都是手环、头饰、
后续引导幼儿用8张图片做绘本(连环画)
这篇关于【教学类-12-11】20240612通义万相-动物图片连连看(A4一页3套)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!