很简单。假设你打开了你的图,首先你需要确保你有一个当前图的句柄,所以执行:
h = gcf;
图中绘制的数据通常是axes 对象的子对象。轴对象本身是图形的子对象,因此您需要先访问一系列分层成员,然后才能获得所需内容。因此,您需要获取 axes 句柄,然后获取 axes 句柄的子句柄
绘制的数据通常是 Axes 对象的“孩子”。轴对象本身就是图形的子对象。您可以按如下方式了解它们的层次结构:
axesObjs = get(h, 'Children'); %axes handles
dataObjs = get(axesObjs, 'Children'); %handles to low-level graphics objects in axes
打开你的图,我看到你的数据是Image类型的。为了访问Image 数据,您需要访问CData 字段,因此您需要这样做:
data = get(dataObjs, 'CData');
data 现在应该包含您的图像数据。因此,这是完整的代码,您可以将其复制并粘贴到 MATLAB 中:
openfig('input.fig')
h = gcf;
axesObjs = get(h, 'Children');
dataObjs = get(axesObjs, 'Children');
data = get(dataObjs, 'CData');
以上适用于 MATLAB R2013b。如果您使用的是 MATLAB R2014a 及更高版本,则使用点符号代替 get 函数,因此:
openfig('input.fig')
h = gcf;
axesObjs = h.Children;
dataObjs = axesObjs.Children;
data = dataObjs.CData;