请帮忙看看这个用什么技术实现的

2020-03-26 10:47:50 +08:00
 zeyou

在线定制衣服和杯子等商品,前端上传图片,后台生成合成图片,请问如何根据前端上传的图片来贴在衣服和杯子等商品的对应位置。比如前端传一张长方形的图片,贴在杯子表面,生成合成的图片给用户看,如何实现。

2583 次点击
所在节点    互联网
19 条回复
momocraft
2020-03-26 10:52:39 +08:00
opengl 或其封装 总之是计算机图形学
fancy111
2020-03-26 10:56:09 +08:00
图像识别加图像合成。 算法相关。
lower
2020-03-26 11:08:12 +08:00
web gl
zeyou
2020-03-26 11:18:51 +08:00
我目前想法是通过 3D 模型,uv 贴图。应该有更简单的方式。
paulee
2020-03-26 11:25:19 +08:00
既然是在线定制,为何不直接让用户选择在哪里添加文字 /图片呢(这样就只是前端实现一下就好了)?如果只是想要体现「智能」,那还是老老实实研究图像识别吧...
Mithril
2020-03-26 11:29:30 +08:00
简单的话
衣服你展平了拍个正面,直接把图对应位置叠上去就好了。
杯子的话如果不是想做个能交互旋转的 3D 杯子,基本也是拍个素色的杯子,然后把图变形了叠上去
这就只是个简单的图像处理而已,用不着图形学。虽然原理都是一样数学吧,不过不用这么麻烦。
zeyou
2020-03-26 11:37:31 +08:00
@paulee 你说的这些功能已经做了,问题是如何贴到对应的位置?
zeyou
2020-03-26 11:42:00 +08:00
@Mithril 衣服有正面的,还有穿在身上的,还有挂着的。不同的杯子,弧度不一样,需要展示正面,两边的侧面给用户看。
Mithril
2020-03-26 11:45:14 +08:00
只要角度是固定的基本都没问题。只是看着不太真实而已,不过作为展示一般都够了。
你需要给不同角度的底图调好对应参数,拿到用户的图做个变换直接贴上去就完了。
zeyou
2020-03-26 12:00:27 +08:00
@Mithril 有些图是模特穿身上拍的,这时候没办法调参数吧
Mithril
2020-03-26 12:03:02 +08:00
@zeyou 褶皱啥的做不出来,不过做个大概效果也还是可以的。
你不可能做出完美的试穿效果的。
loading
2020-03-26 12:24:11 +08:00
既然可穷尽,那就是体力活了。
coderluan
2020-03-26 13:41:24 +08:00
固定视角的,把图像分解了,然后不同部分别做 opencv 映射变换。自由旋转的,用 3D 模型贴图。这些都简单。困难的是需要图像真实的,比如必须需要真人模特,不能 3D 模特,这个就得用机器学习了,建议直接放弃,能做倒是能做,但是成本太高也就失去意义了。
ironMan1995
2020-03-26 13:45:59 +08:00
能不能让前端用 canvas 合成图片再传给后端
LucasW
2020-03-26 13:50:01 +08:00
最近在做类似的产品,分享下:
LucasW
2020-03-26 13:56:07 +08:00
1 、放弃后端合成,这几年前端的图形处理能力远超后端;
2 、如果是 2D 显示,可选方案有 Canvas 和 SVG,如果 3D 有 WebGL 或直接游戏引擎,现在的游戏引擎很在 Web 上已经很强大;
3 、我的方案的是商品背景、几遍外部结构用 SVG,因为可以无损放大,从线上设计到后端制作可以做到随意生成对应大小。图案、文字直接用 Vue 写成 Html 结构,然后设计完成提交的时候 html2canvas 合成,嵌入到 SVG 中。
paulee
2020-03-26 13:56:30 +08:00
若是不能通过简单的位移加变换手动把图像 PS 上去的话;就只能 2D 转 3D,通过多图片去建立 3D 模型,难度就要高很多了
lhx880619
2020-03-26 19:22:50 +08:00
我做过定制被子生成 3d 的主要是贴图
lhx880619
2020-03-26 19:23:49 +08:00
webgl 算个 uv 的事儿 不算太难

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/656297

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX