【发布时间】:2017-09-27 15:17:46
【问题描述】:
最近发现了一个神奇的APP,叫Photo Lab,很好奇一个效果叫Paper Rose。下面的图片,一个是原图,一个是效果图。我的问题是什么算法可以做到这个效果,如果你能给我一些代码或演示会更好。提前谢谢! enter image description here
【问题讨论】:
最近发现了一个神奇的APP,叫Photo Lab,很好奇一个效果叫Paper Rose。下面的图片,一个是原图,一个是效果图。我的问题是什么算法可以做到这个效果,如果你能给我一些代码或演示会更好。提前谢谢! enter image description here
【问题讨论】:
恐怕这不仅仅是一个算法,而是一个复杂的软件。
最困难的部分是对玫瑰的形状进行建模。花瓣可能是一个网状表面。给它们一个弯曲的形状并不难,但困难的问题是以它们不相交的方式对它们进行分组。
这不是完全不可能的,首先将它们放在一个平面几何体中,您可以在其中掌握交叉点,然后用极坐标变换之王将其围绕轴包裹。但我真的不相信这一点。我宁愿认为他们有一个避免碰撞的几何建模器。
接下来更经典的步骤是将图片纹理映射到花瓣上,并对整个场景进行逼真的渲染。
但还有另一种选择,我称之为“穷人的渲染”。
您可以从纸玫瑰的真实图片开始,其中花瓣有一个空的黑色厚框。然后在图片上,您检测(以某种自动方式或仅手动方式)与平面纸上的规则网格相对应的点。
由于花瓣不是完全可见的,因此必须从网格中剪掉隐藏的部分,可能使用多边形栅栏。
现在您可以拍摄任何照片,将其放在未变形的网格上,剪掉隐藏区域并变形到变形的位置。然后通过合成技巧,你会在玫瑰上给它一个自然的阴影外观。
注意:通过在框架内绘制一个完整的网格来简化该过程。无论如何,您需要在进行合成之前以某种方式将其擦除,以便仅检索着色信息。
我倾向于认为这里使用了第二种方法,因为我在某些边缘看到了一些映射异常,这在完全合成的场景中不会出现。
无论如何,努力工作。
【讨论】: