尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

【教学类-76-02】20251007植物角卡通人物抠图(十种尺寸大小)

【教学类-76-02】20251007植物角卡通人物抠图(十种尺寸大小)
📅 发布时间:2026/7/26 15:30:00

背景需求

国庆节后班级就要植物角检查了。搭档发了一个照片+卡通动作的植物角标签抠图素材

、

实验过程

我通义万相做了一下,无法实现效果,

最后还是PS把一页8图单独保存(背景透明)

先用以前做的【教学类-76-01】卡通人物抠图(去头)黏贴孩子大头照(五种尺寸大小)做一套。

https://blog.csdn.net/reasonsummer/article/details/143639399?spm=1011.2415.3001.5331https://blog.csdn.net/reasonsummer/article/details/143639399?spm=1011.2415.3001.5331

尝试用根据图片宽度或者图片高度等比例缩放图片,

结果按照高度图片会很宽

所以我需要图片的高度适配表格的高度,图片的宽度适配表格的宽度。

同时我在之前五个模版基础上,做了十个模版

然后让程序根据每个单元格的高度和宽度,调整图片的长宽,做十种大小图片

''' 植物角人物抠像素材,十种模版 deepseek,阿夏 20251007 ''' import random import math from PIL import Image, ImageDraw, ImageFont import os import time from docx import Document from docx.shared import Cm from docx2pdf import convert from PyPDF2 import PdfMerger import shutil import fitz from PIL import Image # 模板配置 - 根据实际模板布局调整 template_configs = [ { 'name': '01(28.76乘19.76)', 'sl': 1, 'L_horizontal': 1, # 横版列数 'L_vertical': 1, # 竖版列数 'w_vertical': '28.76', 'w_horizontal': '19.3', 'h_vertical': '19.3', 'h_horizontal': '28.24', 'files': { 'horizontal': '01(28.76乘19.76横).docx', 'vertical': '01(28.76乘19.76竖).docx' } }, { 'name': '02(19.5乘14.2)', 'sl': 2, 'L_horizontal': 2, # 横版2列 'L_vertical': 1, # 竖版1列 # 这里的横版和竖版的高宽要交换 'w_vertical': '19.5', 'w_horizontal': '14.1', # 14.2 'h_vertical': '14.1', 'h_horizontal': '19.5', 'files': { 'horizontal': '02(19.5乘14.2横).docx', 'vertical': '02(19.5乘14.2竖).docx' } }, { 'name': '04(14.1乘9.8)', 'sl': 4, 'L_horizontal': 2, # 横版2列 'L_vertical': 2, # 竖版2列 'w_vertical': '9.75', 'w_horizontal': '14.1', # 14.1 'h_vertical': '14.1', 'h_horizontal': '9.75', # '9.88' # '9.88', 'files': { 'horizontal': '04(14.1乘9.8横).docx', 'vertical': '04(14.1乘9.8竖).docx' } }, { 'name': '08(9.75乘7.1)', 'sl': 8, 'L_horizontal': 4, # 横版4列 'L_vertical': 2, # 竖版2列 # 这里的横版和竖版的高宽要交换 'w_vertical': '9.75', # '9.75 'w_horizontal': '7.1', 'h_vertical': '7.03',# '7.05 'h_horizontal': '9.75', 'files': { 'horizontal': '08(9.75乘7.1横).docx', 'vertical': '08(9.75乘7.1竖).docx' } }, { 'name': '09(9.4乘6.5)', 'sl': 9, 'L_horizontal': 3, # 横版3列 'L_vertical': 3, # 竖版3列 'w_vertical': '6.5', 'w_horizontal': '9.4', 'h_vertical': '9.4', 'h_horizontal': '6.5', 'files': { 'horizontal': '09(9.4乘6.5横).docx', 'vertical': '09(9.4乘6.5竖).docx' } } ] path = r'C:\Users\jg2yXRZ\OneDrive\桌面\20251006植物角卡通图像' f = ['01截图'] def get_template_dimensions(template_config, orientation): """根据方向获取模板尺寸""" if orientation == "horizontal": return float(template_config['w_horizontal']), float(template_config['h_horizontal']) else: return float(template_config['w_vertical']), float(template_config['h_vertical']) def get_template_columns(template_config, orientation): """根据方向获取模板列数""" if orientation == "horizontal": return int(template_config['L_horizontal']) else: return int(template_config['L_vertical']) def calculate_image_size(img_width, img_height, template_width_cm, template_height_cm): """ 严格计算图片尺寸,确保完全在表格单元格内 优先保证宽度不超过限制 """ # 计算图片宽高比 aspect_ratio = img_width / img_height print(f" 原始图片: {img_width}x{img_height}, 宽高比: {aspect_ratio:.2f}") print(f" 表格限制: 宽{template_width_cm}cm x 高{template_height_cm}cm") # 方法1:先适配宽度(宽度固定为表格宽度,计算高度) option1_width = template_width_cm option1_height = option1_width / aspect_ratio # 方法2:先适配高度(高度固定为表格高度,计算宽度) option2_height = template_height_cm option2_width = option2_height * aspect_ratio print(f" 方法1-宽度适配: 宽{option1_width:.2f}cm -> 高{option1_height:.2f}cm") print(f" 方法2-高度适配: 高{option2_height:.2f}cm -> 宽{option2_width:.2f}cm") # 优先选择方法1(宽度适配),因为宽度是首要限制 if option1_height <= template_height_cm: # 方法1完全适配 final_width = option1_width final_height = option1_height print(f" ✅ 选择方法1(宽度适配)- 完全在限制内") elif option2_width <= template_width_cm: # 方法2完全适配 final_width = option2_width final_height = option2_height print(f" ✅ 选择方法2(高度适配)- 完全在限制内") else: # 两种方法都无法完全适配,选择方法1(保证宽度不超过) final_width = temp

相关新闻

  • 2026 大连 8区黄金回收,推荐易奢福,门店集中各大商圈隐私交易 - 肉松卷
  • UE5源码编译与调试实战:从环境配置到深度定制开发
  • OpenTelemetry Collector 高可用架构设计与深度实现解析

最新新闻

  • 惠普暗影精灵游戏本终极性能控制神器:OmenSuperHub完全使用指南
  • 2026 北京东城区易奢福奢侈品回收线上线下报价完全一致,没有隐形消费 - 奢侈品回收实体店
  • 免费开源虚拟桌面伴侣:Mate Engine完整使用指南
  • Python调用AI大模型:从入门到实践
  • C++14泛型Lambda返回类型推导:解决auto返回不明确的四种方案
  • 2026 大连名包回收不想跑远路,易奢福每隔 1 公里有 1 家门店 - 肉松卷

日新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号