初めましてmatlabを利用しているものです
256256のグレースケール画像(bmp形式)10枚を利用して
三次元形状表示を行いたいと思っています
今現在はフォルダ内にある画像10枚を3次元化し
ボリュームデータの三次元表示を行う旨のコードを作成し実行を行いましたが、
256256の面が表示されるのみで上手く表示が上手くできません
解決の糸口が見つからず困っています
宜しくお願いします
MATLAB
1コード 2clear; % 初期化 3 4%% BMP画像の読込み・element3D 5 6fileFolder = fullfile(pwd); 7bmpFiles = dir(fullfile(fileFolder,'*.bmp')); 8numfiles = length(bmpFiles); 9bmp = imread(bmpFiles(1).name); 10grayscale = zeros(size(bmp,1),size(bmp,2),numfiles); 11for k = 2:numfiles 12 grayscale(:,:,k) = imread(bmpFiles(k).name); 13end 14 15 16%% 元データのボリュームデータの3次元表示 %%%%%%%%%%%%%%%%%%%%%%%%%%%% 17 18vol = isosurface(grayscale, 5); % 一番外の側面:値5の等値面の、頂点と面を求める(背景は値0) 19figure; patch(vol, 'FaceColor','red', 'EdgeColor','blue'); % 等値面を表示 20view(-40,24) % 視点の位置 21daspect([1 1 0.3]) % X,Y,Z方向のアスペクト比の設定 22colormap(gray); box on; camlight; lighting gouraud; % 照明等各種設定 goraudで色が滑らかに変化するように
回答1件
あなたの回答
tips
プレビュー