資源簡介
用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_Singlela
?????文件?????348678??2014-03-10?09:41??在matlab中讀取obj三維人臉數據\1003_unify_Singlela
?????文件????1041971??2014-03-10?09:41??在matlab中讀取obj三維人臉數據\1008_unify_Singlela
?????文件?????410070??2014-03-10?09:41??在matlab中讀取obj三維人臉數據\1008_unify_Singlela
?????文件???????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
評論
共有 條評論