MATLAB将顶点和三角面片数据写入obj文件

MATLAB将顶点和三角面片数据写入obj文件

我翻阅了网上资料,难以找到一个完整的将已有顶点和三角面片数据写入obj文件的代码,于是自己写了一小段,仅供参考。我们在利用3DMM拟合人脸时,通过对shape,pose,expression的优化,保存了对应的3D点,以及利用三角面片信息,就能生成对应人脸的三维模型,写入obj文件即可在meshlab上观看完整的立体三维模型。

code:

  	vertices = vertex3d';
	faces = tri';
	
	filename = 'Morphable_Model.obj';
	file = fopen(filename, 'w');

	for i=1:size(vertices, 1)
		fprintf(file, 'v ');
		for j=1:(size(vertices, 2)-1)
			fprintf(file, '%f ', vertices(i, j));
		end
		fprintf(file, '%f\r\n', vertices(i, size(vertices, 2)));
	end

	for i=1:size(faces, 1)
		fprintf(file, 'f ');
		for j=1:(size(faces, 2)-1)
			fprintf(file, '%f ', faces(i, j));
		end
		fprintf(file, '%f\r\n', faces(i, size(faces, 2)));
	end

	fclose(file);

结果展示

图片: 在这里插入图片描述

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值