• 大小: 0.74M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-03-27
  • 语言: Matlab
  • 标签: matlab  

资源简介


用matlab打开三维模型数据,读入obj格式人脸数据并用GUI界面显示出来

资源截图

代码片段和文件信息

function data = ReadObj_h(fileName)
% 时间:2009.04.23
% 作者:张彦飞
% 修改:2010.03.27
%      原先我在解决三角面皮和四角面皮的时候用的办法比较笨,其实MATLAB中提供了更好的办法
%      那就是如果是三角面片的话仍然顶点索引数组仍然是四个,但最后一个为无穷大。
%      这样的数组直接送到patch函数中就可以自动区别三角和四角面片

% 输入:模型的OBJ文件的绝对文件名
% 输出:一个结构体,其中包含的是每个分区的点和面
% 和以前函数区别:根据OBJ文件中的分区信息来读取

% fileName = ‘I:\HeadModel\训练选取\初步选取\训练样本\1.obj‘;
fid = fopen(fileName);
%fid=fopen(‘E:\work\1.obj‘);
%%% 修改于2009.09.02,为了使该函数支持没有分组的数据,即不包含g前缀的数据。
vertexCount = 0;
faceCount = 0;
partCount = 1;
data(partCount).name = ‘Global‘;
% 以下布尔变量的添加是为了使该文件既能读取全局模型,也可读取分区模型
IsHaveGroupInformation = 0;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
data(1).fname = fileName;
while 1
    [prefixcount] = fscanf(fid‘%s‘1);
    switch prefix
        case ‘#‘
            tline = fgetl(fid);
        case ‘g‘
            partname = fgetl(fid);
            
            if IsHaveGroupInformation == 1
                [prefixcount] = fscanf(fid‘%s‘1);
                if prefix == ‘s‘
              

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    1128017  2014-03-10 09:40  在matlab中读取obj三维人脸数据\1003_unify_SinglelayerFace_NoEar.obj

     文件     348678  2014-03-10 09:41  在matlab中读取obj三维人脸数据\1003_unify_SinglelayerSkullNoEar_unify.obj

     文件    1041971  2014-03-10 09:41  在matlab中读取obj三维人脸数据\1008_unify_SinglelayerFace_NoEar.obj

     文件     410070  2014-03-10 09:41  在matlab中读取obj三维人脸数据\1008_unify_SinglelayerSkullNoEar_unify.obj

     文件       2822  2014-03-10 09:41  在matlab中读取obj三维人脸数据\ReadObj_h.m

     文件       7848  2014-03-10 09:41  在matlab中读取obj三维人脸数据\unify.fig

     文件      10475  2014-03-10 09:41  在matlab中读取obj三维人脸数据\unify.m

     文件         68  2014-03-10 09:42  在matlab中读取obj三维人脸数据\文件说明.txt

     目录          0  2014-03-10 09:41  在matlab中读取obj三维人脸数据

----------- ---------  ---------- -----  ----

              2949949                    9


评论

共有 条评论