mirrordemo1.m

来自「Matlab程序」· M 代码 · 共 48 行

M
48
字号
%MirrorDemo1
close all
clear all

imgFilename = [];

 % imgFilename{end+1} = 'jug1.png';
%imgFilename{end+1} = 'jug2.png';
 
%   imgFilename{end+1} = 'horse1.png';
 %  imgFilename{end+1} = 'horse2.png';
 
imgFilename{end+1} = 'locust1.png';
imgFilename{end+1} = 'locust2.png';
 



for imgLoop = 1:length(imgFilename)        
    imCell{imgLoop} = imread(imgFilename{imgLoop});
    imCell{imgLoop} = im2double(imCell{imgLoop});
  %  EvalPrint('size(imCell{imgLoop})')
    polyBoundaryVec = ExtractBoundaries( imCell{imgLoop} );
    polyBoundaryVecCell{imgLoop} = polyBoundaryVec;
end

%mergedViewVec = StaticMirrorObjMovingCamFn( polyBoundaryVecCell, 'draw', 1, 'useMiddleOfSilhouettesAsInitPp', 0 );


mergedViewVec = StaticMirrorObjMovingCamFn( polyBoundaryVecCell, 'draw', 1 );


[pMesh, kMesh] = VhMarchTetMirror( mergedViewVec, imCell, 'draw', 1, 'cellWid', 0.002 );



vrmlFilename = 'DoubleMirrorModel.wrl';
fid = fopen( vrmlFilename, 'w' );
fprintf(fid, '#VRML V2.0 utf8\n');
fprintf(fid, 'Background {skyColor [0 0 0]}\n');
cameraPosition = [0;0;5];
cameraTarget = ViewVecCentrePoint( mergedViewVec );
AddVrmlViewpoint( fid, cameraPosition, cameraTarget, 'description', 'visual hull', 'fieldOfView', 0.2 );
AddVrmlIndexedFaceSet( fid, pMesh, kMesh, 'objNameStr', 'DoubleMirror');
fclose(fid);        


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?