从 2D 人脸图像到 3D 人脸的纹理映射

信息处理 图像处理 算法 opencv 3d 重建
2022-02-03 22:53:55

我有一张人脸图像的 3D 点 (xyz),我有同一个人的 2D 人脸图像。

面部的 3D 点是这样的,如果我将点投影到 2D 平面,它与 2D 面部图像匹配。

我想将颜色信息映射到 3D 图像上。所以在映射之后我会有每个点的纹理。我想用 Matlab/OpenCV 来做。

任何人都可以建议任何算法或参考一些资源让我开始。

1个回答

您尝试做的更多是在图像合成/计算机图形领域(技术上,它是“纹理映射”)而不是在图像处理领域,所以 Matlab/OpenCV 是否会有任何相关并不明显支持功能。

如果我在我的(首选)Python/SciPy/Matplotlib 世界中遇到同样的问题,我可能会看看mplot3d 的表面绘图是否能胜任工作(将 2D 图像作为facecolors参数传递)。但是一般经验是它不能很好地处理 100s x 100s 大小的网格,只有几个 10s x 10s。抱歉,我不知道 Matlab 的等价物是什么。(如果 mplot3d 不能胜任这项工作,我会查看 mlab VTK 包装的纹理映射支持)。