how to make a slice of multiple images in 3d
1 次查看(过去 30 天)
显示 更早的评论
I have these three images meterology. First image is weather chat of 100m, second is of 200m, thrid is of 300m.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/154446/image.jpeg)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/154448/image.jpeg)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/154449/image.jpeg)
I have these three images meteorology. First image is weather chat of 100m, second is of 200m, third is of 300m
This is roughly prototype of my idea what i want
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/154450/image.png)
Both longitude and latitude are same in three images, I want to just makes longitude as x - axis, latitude as y axis and 100m image at 100, 200m image at 200 ....
i able to producce this code,
a=imread('100.jpg');
b=imread('200.jpg');
c=imread('300.jpg');
I = cat(4,a,b,c);
data = importdata('gpheight300.txt') ;
x = data(:,1) ; x = unique(x) ;
y = data(:,2) ; y = unique(y) ;
%# coordinates
[X,Y] = meshgrid(1:size(I,2), 1:size(I,1));
%[X,Y]=meshgrid(x,y);
Z = ones(size(I,1),size(I,2));
kin=[100 200 300];
for k=1:length(kin)
surface('XData',X, 'YData',Y, 'ZData',Z.*kin(k), ...
'CData',I(:,:,k), 'CDataMapping','direct', ...
'EdgeColor','none', 'FaceColor', 'texturemap')
% patch('XData',X, 'YData',Y, 'ZData',Z.*kin(k),'CData',I(:,:,k))
end
%colormap(cmap)
view(3), box on, %axis tight square
%set(gca, 'YDir','reverse', 'ZLim',[0 size(I,3)+1])
saveas(gcf,'3d','jpg');
This code producing surface in which all three images becomes brown color,(wrapped) when i save them just is this blank 3d block save appear.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/154452/image.jpeg)
Can some one tell me how i can do this 3d slicing of images?
8 个评论
Walter Roberson
2016-6-30
Muhammad, if Mathworks ever instituted a policy that the volunteers were not permitted to give personal views, then I would stop volunteering immediately; perhaps I would go back to the Usenet Group, which would certainly not have such a restriction.
回答(1 个)
Image Analyst
2016-6-26
Try using "hold on" in your loop.
17 个评论
Walter Roberson
2016-7-13
Muhammad Usman Saleem comments to Image Analyst's response of 30 Jun 2016
not of the solution to this problem
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!