2013-02-17 240 views
2

我想配置一個神經網絡使用matlab和newff命令。Matlab如何保存視圖配置的matlab神經網絡

之後,我試圖使用view命令可視化我創建的配置。

x = view(net); 

如何將顯示的窗口保存爲.png文件?我曾嘗試過saveas(x, 'figure.png', 'png')但它不起作用?你知道我怎麼能從代碼中做到這一點?

回答

6

創建的窗口是純Java圖形(而不是MATLAB Handle Graphics)。試試這個來捕獲它:

%# neural net, and view it 
net = feedforwardnet(5); 
jframe = view(net); 

%# create it in a MATLAB figure 
hFig = figure('Menubar','none', 'Position',[100 100 565 166]); 
jpanel = get(jframe,'ContentPane'); 
[~,h] = javacomponent(jpanel); 
set(h, 'units','normalized', 'position',[0 0 1 1]) 

%# close java window 
jframe.setVisible(false); 
jframe.dispose(); 

%# print to file 
set(hFig, 'PaperPositionMode', 'auto') 
saveas(hFig, 'out.png') 

%# close figure 
close(hFig) 
0

我也有同樣的問題,特別是當我嘗試保存神經網絡工具箱(nntraintool)生成的情節。我使用剪切工具來捕捉這些情節。但是,請嘗試使用以下內容:

確定您需要快照(其句柄)的gfx對象。它將來自可識別的屬性。然後您可以使用打印選項將其保存到文件;你需要寫出文件名,類型;請轉到此鏈接獲取更多信息(http://www.mathworks.com/help/matlab/ref/print.html)。

例如,如果你想保存與標籤「performance.fig」圖中,您可以嘗試:

h = findobj('Type', 'figure', 'tag', 'performance.fig'); 

    for k = 1:numel(h) 

    print(h(k), sprintf('Pic%d.ps',k)); 

    end; 

讓我知道,如果這會有所幫助,您必須修改代碼到你需要。我也從這個stackoverflow論壇得到了另一個人的幫助。

+0

這不起作用(findobj或allchild(0)都不會找到有問題的窗口) – Amro 2013-04-23 09:01:21