请帮忙看看这个用什么技术实现的 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zeyou
V2EX    互联网

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

  •  
  •   zeyou 2020-03-26 10:47:50 +08:00 3015 次点击
    这是一个创建于 2106 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    19 条回复    2020-03-26 19:23:49 +08:00
    momocraft
        1
    momocraft  
       2020-03-26 10:52:39 +08:00
    opengl 或其封装 总之是计算机图形学
    fancy111
        2
    fancy111  
       2020-03-26 10:56:09 +08:00
    图像识别加图像合成。 算法相关。
    lower
        3
    lower  
       2020-03-26 11:08:12 +08:00
    web gl
    zeyou
        4
    zeyou  
    OP
       2020-03-26 11:18:51 +08:00
    我目前想法是通过 3D 模型,uv 贴图。应该有更简单的方式。
    paulee
        5
    paulee  
       2020-03-26 11:25:19 +08:00
    既然是在线定制,为何不直接让用户选择在哪里添加文字 /图片呢(这样就只是前端实现一下就好了)?如果只是想要体现「智能」,那还是老老实实研究图像识别吧...
    Mithril
        6
    Mithril  
       2020-03-26 11:29:30 +08:00
    简单的话
    衣服你展平了拍个正面,直接把图对应位置叠上去就好了。
    杯子的话如果不是想做个能交互旋转的 3D 杯子,基本也是拍个素色的杯子,然后把图变形了叠上去
    这就只是个简单的图像处理而已,用不着图形学。虽然原理都是一样数学吧,不过不用这么麻烦。
    zeyou
        7
    zeyou  
    OP
       2020-03-26 11:37:31 +08:00
    @paulee 你说的这些功能已经做了,问题是如何贴到对应的位置?
    /div>
    zeyou
        8
    zeyou  
    OP
       2020-03-26 11:42:00 +08:00
    @Mithril 衣服有正面的,还有穿在身上的,还有挂着的。不同的杯子,弧度不一样,需要展示正面,两边的侧面给用户看。
    Mithril
        9
    Mithril  
       2020-03-26 11:45:14 +08:00
    只要角度是固定的基本都没问题。只是看着不太真实而已,不过作为展示一般都够了。
    你需要给不同角度的底图调好对应参数,拿到用户的图做个变换直接贴上去就完了。
    zeyou
        10
    zeyou  
    OP
       2020-03-26 12:00:27 +08:00
    @Mithril 有些图是模特穿身上拍的,这时候没办法调参数吧
    Mithril
        11
    Mithril  
       2020-03-26 12:03:02 +08:00
    @zeyou 褶皱啥的做不出来,不过做个大概效果也还是可以的。
    你不可能做出完美的试穿效果的。
    loading
        12
    loading  
       2020-03-26 12:24:11 +08:00 via Android
    既然可穷尽,那就是体力活了。
    coderluan
        13
    coderluan  
       2020-03-26 13:41:24 +08:00
    固定视角的,把图像分解了,然后不同部分别做 opencv 映射变换。自由旋转的,用 3D 模型贴图。这些都简单。困难的是需要图像真实的,比如必须需要真人模特,不能 3D 模特,这个就得用机器学习了,建议直接放弃,能做倒是能做,但是成本太高也就失去意义了。
    ironMan1995
        14
    ironMan1995  
       2020-03-26 13:45:59 +08:00 via Android
    能不能让前端用 canvas 合成图片再传给后端
    LucasW
        15
    LucasW  
       2020-03-26 13:50:01 +08:00
    最近在做类似的产品,分享下:
    LucasW
        16
    LucasW  
       2020-03-26 13:56:07 +08:00
    1 、放弃后端合成,这几年前端的图形处理能力远超后端;
    2 、如果是 2D 显示,可选方案有 Canvas 和 SVG,如果 3D 有 WebGL 或直接游戏引擎,现在的游戏引擎很在 Web 上已经很强大;
    3 、我的方案的是商品背景、几遍外部结构用 SVG,因为可以无损放大,从线上设计到后端制作可以做到随意生成对应大小。图案、文字直接用 Vue 写成 Html 结构,然后设计完成提交的时候 html2canvas 合成,嵌入到 SVG 中。
    paulee
        17
    paulee  
       2020-03-26 13:56:30 +08:00
    若是不能通过简单的位移加变换手动把图像 PS 上去的话;就只能 2D 转 3D,通过多图片去建立 3D 模型,难度就要高很多了
    lhx880619
        18
    lhx880619  
       2020-03-26 19:22:50 +08:00 via Android
    我做过定制被子生成 3d 的主要是贴图
    lhx880619
        19
    lhx880619  
       2020-03-26 19:23:49 +08:00 via Android
    webgl 算个 uv 的事儿 不算太难
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     809 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 20:32 PVG 04:32 LAX 12:32 JFK 15:32
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86