【问题标题】:Image rendering technique - for adding realistic text to existing photos图像渲染技术 - 为现有照片添加逼真的文本
【发布时间】:2012-02-24 17:07:42
【问题描述】:

很好奇是否有通用工具可用于创建包含文本(或可能其他元素)的图像,这些文本会被扭曲以显示为图像的原始部分。这些“真实”的广告牌照片可以让您将自己的图像或文字放在广告牌上就是一个例子。另一个例子是 zazzle 如何让您预览您的 T 恤设计,方法是扭曲文本或图形,使其看起来好像略微变形到织物的曲线。

我是一个 .Net 人,但我有兴趣查看此类项目的任何通用解决方案,或者甚至只是指向有关该主题的其他讨论的一些指针会有所帮助。

澄清 - 技术描述很好,但最终我很好奇是否有工具包可以帮助自动化其中的一些,并且可能在动态环境中用于按需图像生成。

【问题讨论】:

  • 您的描述非常好,但示例链接会很好。

标签: c# image-processing graphics 2d convolution


【解决方案1】:

“正确”的做法是确定应该显示文本的表面的角度,以及表面的纹理(如果有的话)。然后,您在计算机中以与相机相同的角度和相对距离重新创建一个虚拟表面,然后在其上应用包含您的文本的纹理,并“凹凸映射”它以使您的文本看起来直接绘制在砖墙上或者。调整纹理的照明以匹配场景(可能使用“着色器”根据表面/凹凸贴图上每个点的角度来控制光线的折射),然后将映射的纹理与原始图像重叠。这背后的数学是整个计算机图形行业的基石,并且仍在开发新工具以更好更快地做到这一点;您可以在 System.Windows.Media.3D 命名空间(或 .NET 的 XNA Framework 插件)中找到对您有所帮助的工具。

这是数百万美元电影特效背后的基本流程;拍摄没有 CG 元素的真实场景(或使用可以绘制或旋转镜的替身),在网络空间中创建一个“虚拟场景”,然后“跟踪”虚拟摄像机在该场景中的移动以匹配真实的相机通过真实的集合。然后,您可以在该镜头中随心所欲地渲染任何内容。

做到这一点的“便宜”方法是不打扰“跟踪”(一个非常耗时的过程,尤其是在运动图片中),而只是对位置、角度等进行“最佳猜测”元素,并简单地将您的文本绘制在它的顶部。 PhotoShop 有可以以这种方式呈现文本的工具,但是由于您是在编程网站上提出这个问题,所以我假设您想编写自己的解决方案。

【讨论】:

  • 是的,我正在寻找一个可以按需生成类似内容的工具包。谢谢
【解决方案2】:

对于广告牌,如果您希望将 2D 图像扭曲为位于标志平面上,您可以使用 4 角针技术。您给它图像的 4 个角的坐标,以及您希望这些角映射到的坐标,然后求解线性方程组以生成透视变换矩阵。它被描述为here

至于衬衫变形,大概是一个固定输入网格的通用变形方法。从Google search 可以看出,一般翘曲是一个非常大的话题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-04
    • 2018-03-10
    • 1970-01-01
    • 2013-07-01
    • 2014-04-29
    • 1970-01-01
    相关资源
    最近更新 更多