Matlab 从 .fig 格式的子图中提取图像
Matlab Extract images from a subplot in .fig format
如何从子图中提取图像。无花果绘制图像?请参阅图的子图,图像格式为 png https://ibb.co/60jx8kX
我试过这段代码,但它没有给我需要的输出。
fig = openfig( 'IC_01.fig' , 'new' , 'invisible' );
imgs = findobj(fig, 'type' , 'image' );
thiscmap = get(fig, 'colormap' );
for K = 1 : length(imgs)
thisimg = get(imgs(K), 'CData' );
% now do something with it for illustration purposes
thisfilename = sprintf( 'extracted_image_%03d.jpg' , K);
imwrite(thisimg, thiscmap, thisfilename);
end
谢谢。
这里有一种方法可以将数据从第一张图像提取到您想要的图像,第一行与您所做的类似:
f=openfig('IC_02.fig')
imgs = findobj(f, 'type' , 'image' );
for n=1:numel(imgs)
C{n}=imgs(n).CData;
X{n}=imgs(n).XData;
Y{n}=imgs(n).YData;
cmap{n}=imgs(n).Parent.Colormap; % not assuming it the same for all axes...
end
现在一些图像将成为您想要的图像的颜色条(通常是一个接一个)。然后我们使用颜色条的 Ydata 来设置你想要的图像的 caxis 限制......对于你的情况,数据在第 4 个“图像”对象中,并且限制取自第三个“图像”(颜色条)。 ..
imagesc(X{4},Y{4},C{4})
colormap(cmap{4})
set(gca,'Ydir','normal')
caxis([Y{3}(1) Y{3}(2)])
如何从子图中提取图像。无花果绘制图像?请参阅图的子图,图像格式为 png https://ibb.co/60jx8kX
我试过这段代码,但它没有给我需要的输出。
fig = openfig( 'IC_01.fig' , 'new' , 'invisible' );
imgs = findobj(fig, 'type' , 'image' );
thiscmap = get(fig, 'colormap' );
for K = 1 : length(imgs)
thisimg = get(imgs(K), 'CData' );
% now do something with it for illustration purposes
thisfilename = sprintf( 'extracted_image_%03d.jpg' , K);
imwrite(thisimg, thiscmap, thisfilename);
end
谢谢。
这里有一种方法可以将数据从第一张图像提取到您想要的图像,第一行与您所做的类似:
f=openfig('IC_02.fig')
imgs = findobj(f, 'type' , 'image' );
for n=1:numel(imgs)
C{n}=imgs(n).CData;
X{n}=imgs(n).XData;
Y{n}=imgs(n).YData;
cmap{n}=imgs(n).Parent.Colormap; % not assuming it the same for all axes...
end
现在一些图像将成为您想要的图像的颜色条(通常是一个接一个)。然后我们使用颜色条的 Ydata 来设置你想要的图像的 caxis 限制......对于你的情况,数据在第 4 个“图像”对象中,并且限制取自第三个“图像”(颜色条)。 ..
imagesc(X{4},Y{4},C{4})
colormap(cmap{4})
set(gca,'Ydir','normal')
caxis([Y{3}(1) Y{3}(2)])