在Matlab中将图形内容保存到矩阵(不使用getframe,也不保存到文件)
函数getframe捕获屏幕上可见的任何内容。但是,在我的应用程序中,我希望图形在矩阵中存储其内容时不可见。因此getframe所做的是,在短时间内,它使图形可见并捕获其内容,然后将“visibile”属性设置回屏幕捕获之前的状态。 我不希望屏幕上出现闪光灯。此外,保存文件并将其读回会降低速度。一定有办法解决这个问题在Matlab中将图形内容保存到矩阵(不使用getframe,也不保存到文件),matlab,figure,Matlab,Figure,函数getframe捕获屏幕上可见的任何内容。但是,在我的应用程序中,我希望图形在矩阵中存储其内容时不可见。因此getframe所做的是,在短时间内,它使图形可见并捕获其内容,然后将“visibile”属性设置回屏幕捕获之前的状态。 我不希望屏幕上出现闪光灯。此外,保存文件并将其读回会降低速度。一定有办法解决这个问题 hFig=figure('Visible','off'') text ('String','ABC','fontsize',300) imageData = getframe(hF
hFig=figure('Visible','off'')
text ('String','ABC','fontsize',300)
imageData = getframe(hFig);
img = imageData.cdata; % img is what I am interested in
我知道的唯一方法是将图形打印到临时文件中。例如:
%Create a figure
hFig=figure('Visible','off')
text ('String','ABC','fontsize',300)
%Save the figure to a tiff file using a salted name
tmpName = sprintf('Temp_Figure_%04d.tiff', floor(rand*1000));
print(['-f' num2str(hFig)], '-dtiff', tmpName)
%Read the data
img = imread(tmpName);
%Delete the temporary figure
delete(tmpName);
这不是最漂亮的东西,但似乎很管用。谢谢,但我特别提到我对使用文件不感兴趣。