How to extract data from a slice?

7 次查看(过去 30 天)
The example in "doc slice" is very good:
hsp = surf(linspace(-2,2,20),linspace(-2,2,20),zeros(20)+1);
rotate(hsp,[1,-1,1],30)
xd = get(hsp,'XData');
yd = get(hsp,'YData');
zd = get(hsp,'ZData');
delete(hsp)
[x,y,z] = meshgrid(-2:.2:2,-2:.25:2,-2:.16:2);
v = x.*exp(-x.^2-y.^2-z.^2);
slice(x,y,z,v,xd,yd,zd);
How can the data of this slice be extracted as a "2D matrix slice" and used later to show with imshow for example?

采纳的回答

KSSV
KSSV 2016-12-1
Already you did it...The code you gave has the way to extract the data you want.
hsp = surf(linspace(-2,2,20),linspace(-2,2,20),zeros(20)+1);
rotate(hsp,[1,-1,1],30)
xd = get(hsp,'XData');
yd = get(hsp,'YData');
zd = get(hsp,'ZData');
delete(hsp)
[x,y,z] = meshgrid(-2:.2:2,-2:.25:2,-2:.16:2);
v = x.*exp(-x.^2-y.^2-z.^2);
hss = slice(x,y,z,v,xd,yd,zd);
xs = get(hss,'XData');
ys = get(hss,'YData');
zs = get(hss,'ZData');
cs = get(hss,'CData');
figure
surf(xs,ys,zs,cs) ;
You have the data xs,ys,zs,cs in your hand now.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by