Wardrobe如何一眼找出照片里所有衣服?OpenAI视觉API结构化输出实现原理
Wardrobe如何一眼找出照片里所有衣服OpenAI视觉API结构化输出实现原理【免费下载链接】wardrobeYour clothes, extracted and organized with gpt-image.项目地址: https://gitcode.com/gh_mirrors/wardro/wardrobeWardrobe 是一个开源的 AI 衣橱整理工具拖入一张穿搭照片它就能通过 OpenAI 视觉 API 自动识别出照片里的每一件衣服裁出干净的单品图并归档进本地 JSON 数据库。本文带你用零代码理解它一眼找出所有衣服背后的结构化输出原理。先看效果一张照片进整面衣橱出先看最终成果。一张照片里的所有衣服处理完后会以网格形式出现在这样的衣橱库里支持按上装、外套、裤装、鞋子等分类筛选Wardrobe 的核心能力包括全量识别用 OpenAI Responses API 检测照片中的每一件衣物✂️单品提取调用 OpenAI Images API 生成电商级干净单品裁切图模特成片可选生成模特上身的时尚大片预览数据本地原图、任务、生成图片和 JSON 数据库全部保存在本地data/目录核心原理用 JSON Schema 让模型按格式说话AI 图像识别常见的坑是模型返回的答案很随意——这次是散文下次是坏掉的 JSON。Wardrobe 的解法是利用 OpenAI 的结构化输出能力调用前先声明一份严格的 JSON Schema让模型只返回符合格式的数据。在 scripts/import-job-api.mjs 的openAIAnalyze函数中模型同时收到两样东西任务描述文本找出图中每一件独立可穿衣物每件给一条记录并用 1000×1000 归一化坐标给出紧密包围框JSON Schema契约定义返回值的精确格式。这份 Schema 的关键点非常直观字段类型说明items数组0–8 条一张图最多识别 8 件衣服识别不到就是空数组name字符串单品建议名称如条纹 Polo 衫part枚举五选一上装 / 外套 / 下装 / 配饰 / 鞋子color字符串主色必须匹配#RRGGBB十六进制格式tags字符串数组1–4 个小写细节标签如casual、cottonboundingBox对象x、y、width、height均为 0–999 的整数归一化到 1000×1000 画布配合strict: true模型连多余字段都不能多写。这意味着无论照片多复杂返回结果永远是一份可以直接消费的结构化数组——不需要脆弱的文本解析也不会这次认了 3 件、下次只认 1 件还带格式错误。从坐标到裁切bounding box 如何落地模型说清了衣服在哪那怎么把它切出来服务端逻辑很简单见 cropDetectedItem先用sharp把图片规范化自动旋转、统一 sRGB、输出 PNG把 0–999 的 x、y、width、height 换算成真实像素在包围框四周自动外扩约 8% 的留白避免切掉领口或下摆执行裁剪保存为crop.png推入人工审核队列。如果模型给出了越界坐标normalizeBoundingBox 会悄悄把它收敛到合法区间——这是健壮性设计的第一道保险。裁剪完成后就会进入下图界面里的人工审核环节确认单品图完整无误后在右侧面板编辑名称、颜色、标签再生成模特大片这套机器先认、人工再确认的流程状态机实现见 import-flow.jsx是 Wardrobe 不翻车的最大原因。它把整条流水线拆成三步每一步都有审核卡点crop裁剪审核模型检测出的裁切garment单品重绘调用 gpt-image 重绘一张正面电商级单品图指定随机色键背景色再在本地抠成透明 PNG 并自动校验残留色点modeled模特成片把单品与你自己上传的参考照合成一张 3:2 时尚大片。快速上手如何本地跑起 Wardrobe环境要求很低Node 22 即可git clone https://gitcode.com/gh_mirrors/wardro/wardrobe cd wardrobe npm install cp .env.example .env npm run dev⚠️ 注意导入功能有两个开关缺一个都会保持禁用——在.env里写入OPENAI_API_KEY把一张你自己的 PNG 参考照放到data/model-reference.png。启动后访问localhost:5173即可。关键配置项整理自 README.md变量默认值用途OPENAI_API_KEY必填OpenAI 访问密钥OPENAI_VISION_MODELgpt-5.4-mini负责认衣服的视觉模型本文主角OPENAI_IMAGE_MODELgpt-image-2单品重绘与模特成片的图像生成模型小结结构化输出为什么值得学Wardrobe一眼找出所有衣服的原理其实是一套可以迁移到任何 AI 项目的通用思路文本描述任务、Schema 约束格式让模型的创造力和工程的可靠性各司其职坐标归一化到 0–999让模型输出小整数比真实像素值准得多关键步骤加人工卡点识别并非百分百确定一个审核环节就能兜住大部分失败。核心实现集中在 scripts/import-job-api.mjs一次就能读完整条识别 → 裁切 → 重绘 → 成片的流水线。【免费下载链接】wardrobeYour clothes, extracted and organized with gpt-image.项目地址: https://gitcode.com/gh_mirrors/wardro/wardrobe创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

开源工业级EMS全栈系统:SpringBoot 3 + React 18与113页面实践解析

开源工业级EMS全栈系统:SpringBoot 3 + React 18与113页面实践解析

做全栈这几年,我关注的开源项目少说也有上百个,但像今天这套能让我专门停下来写篇长文的不多。能源管理系统(EMS),在开源圈一直是个稀缺品类——不是没人做,而是能做到“工业级”还愿意开源的,屈…

2026/10/14 18:21:05 阅读更多 →
Agent技能体系搭建实战:从Prompt堆叠到结构化技能库

Agent技能体系搭建实战:从Prompt堆叠到结构化技能库

做Agent产品落地这一年多,我最大的感受是:模型本身的能力进步得比我们想象中快,真正拖后腿的,反而是我们给它搭的“手脚”。早期我习惯把一堆指令塞进System Prompt里,让模型自由发挥,结果场景一复杂就开始…

2026/10/14 18:20:17 阅读更多 →
AI Agent工具执行隔离:沙箱安全设计与多租户隔离实战

AI Agent工具执行隔离:沙箱安全设计与多租户隔离实战

1. 为什么“工具执行隔离”是AI Agent落地的隐形地基做AI Agent开发的人,十有八九把精力砸在提示词调优、工具链编排、记忆机制设计上,但真正让一个Agent从“演示能跑”到“生产敢用”的那道分水岭,往往不是模型多聪明,而是工具执…

2026/10/12 4:32:55 阅读更多 →

最新新闻

快速阅读不靠眼快:筛选与理解的实用框架

快速阅读不靠眼快:筛选与理解的实用框架

经常有人问我:“你读书怎么那么快?是不是一目十行、走马观花?”说实话,我刚开始试水快速阅读的时候也踩过不少坑,最典型的表现是字都看完了,合上书一问三不知。后来我花了很长时间去拆解“快速阅读”和“快…

2026/10/14 18:20:44 阅读更多 →
存量市场服务升级:低风险高回报的商业模式

存量市场服务升级:低风险高回报的商业模式

1. 为什么说"稳妥生意"比创业更值得关注最近三年,我身边有37位朋友尝试创业,最终存活下来的只有3家。这个残酷的数字让我开始思考:对于大多数普通人来说,是否存在着比创业风险更低、回报更稳定的商业机会?经…

2026/10/14 18:20:44 阅读更多 →
Decepticon 实战手册:EtherNet/IP + CIP 协议攻击全流程(44818/2222 端口下的 PLC 侦察、标签读写与模式切换)

Decepticon 实战手册:EtherNet/IP + CIP 协议攻击全流程(44818/2222 端口下的 PLC 侦察、标签读写与模式切换)

【免费下载链接】Decepticon Autonomous Hacking Agent for Red Team 项目地址: https://gitcode.com/gh_mirrors/de/Decepticon 点击查看 免费下载 本指南基于 Decepticon 仓库中 enip-cip 技能文档 编写,系统讲解针对北美工业控制系统(ICS…

2026/10/14 18:20:44 阅读更多 →
中点画圆算法详解:光栅化生成完美圆的数学原理与代码实现

中点画圆算法详解:光栅化生成完美圆的数学原理与代码实现

圆的生成算法,是计算机图形学课程里最容易被低估的一个实验。很多同学看到“画圆”两个字,第一反应是直接调用窗口库里的画圆函数,几行代码就结束。但实验真正要你做的,是把它当成一道光栅化算法题:输入圆心坐标、半径…

2026/10/14 18:20:44 阅读更多 →
把“学术导航仪”装进书匠策AI:一篇期刊论文的“造路”逻辑

把“学术导航仪”装进书匠策AI:一篇期刊论文的“造路”逻辑

官网直达:www.shujiangce.com 微信公众号搜一搜:书匠策AI 写期刊论文最折磨人的,从来不是“写”这个动作本身。 是你盯着空白文档,知道要做文献综述,却不知道从哪篇开始;知道要有理论框架,却拿…

2026/10/14 18:20:44 阅读更多 →
插件加载失败排查:从生命周期到激活机制,一篇搞定

插件加载失败排查:从生命周期到激活机制,一篇搞定

先说一句,我带过好几个插件化改造的项目,也修过无数跟插件相关的启动报错,所以看到 "failed to load plugins web boot: 2 entries did not activate" 这种日志时,第一反应不是翻框架文档,而是看插件的激活方…

2026/10/14 18:19:43 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →