matlab之读取fig图像里的数据


写在前面:关于句柄

gcf 返回当前Figure对象的句柄值
gca返回当前axes对象的句柄值
gco返回当前鼠标单击的句柄值,该对象可以是除root对象外的 任意图形对象,并且Matlab会把当前图形对象的句柄值存放在Figure的CurrentObject属性中。

一、只有一条曲线

1、h = findobj(gca,'Type','line'); 或者 h = get(gca,'children'); 或者 h=findall(gca,'type','line');% 命令取得曲线的句柄; 

2、xdata=get(h,'XData');

     ydata=get(h,'YData') ;  %取得曲线的数据

二、用subplot画的多个图像

figure_info=findall(gcf,'type','line'); %是gcf不是gca
xc1=get(figure_info(1,:),'xdata');   %figure_info的引用还是要具体看图像几个subplot的分布引用
yc1=get(figure_info(1,:),'ydata');  
xc2=get(figure_info(2,:),'xdata');  
yc2=get(figure_info(2,:),'ydata') ; 

三、二维图像

h=findobj(gcf,'type','image');
img=get(h,'CData');

四、曲面图像

figure_info=findall(gcf,'type','surf');
xx=get(figure_info,'xdata');
yy=get(figure_info,'ydata');
z=get(figure_info,'zdata');






你可能感兴趣的:(Matlab)