首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从曲面法线映射中绘制曲面法线?

如何从曲面法线映射中绘制曲面法线?
EN

Computer Graphics用户
提问于 2020-11-11 01:04:52
回答 1查看 1K关注 0票数 3

利用深度学习从单目RGB图像中估计表面法线是一项常见的任务。生成的图像一般如下所示:

我的问题是,如何使用这张地图为图像上的任意一点绘制一个法线矢量(箭头)?例如,我想在台面上画一条指向上的线。

我在这个主题上发现的最相关的小窍门是:“法线地图中的RGB颜色通道(红色、绿色和蓝色)对应于曲面法线各自的X、Y和Z坐标。”

但我不明白这意味着什么。这些值是标准的RGB,即对于每个坐标,在范围0,255中得到三个数字。仅仅通过表面之间颜色的变化,它显然与法线有关(很明显),但当我尝试使用matlab的箭图时,我无法得到合理的结果。

TLDR:曲面法线映射和实际法向量之间的关系是什么?如果图像上的点表示垂直于该点的法向量,我如何绘制一条3d线?

EN

回答 1

Computer Graphics用户

回答已采纳

发布于 2020-11-11 05:11:26

通常,−1,1中包含XYZ组件的法线向量线性映射到RGB范围0,255。您可以通过反转此映射来检索法线向量。

为了完整起见,编码是:

r = \text{round}((0.5x + 0.5) \cdot 255) \\ g = \text{round}((0.5y + 0.5) \cdot 255) \\ b = \text{round}((0.5z + 0.5) \cdot 255)

解码是:

x = (r/255) \cdot 2 - 1 \\ y = (g/255) \cdot 2 - 1 \\ z = (b/255) \cdot 2 - 1
票数 3
EN
页面原文内容由Computer Graphics提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://computergraphics.stackexchange.com/questions/10387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档