2015-08-09 53 views
0

如果这是一个骗局,我一直在寻找超过一个小时,但搜索条件都非常广泛,我只是不断得到相同的结果。另外,我对matlab相当陌生,因此对任何误解都表示歉意。Matlab从数组中创建图像并保存而不显示

Anywho,我有需要经常保存从矩阵生成的图像的MATLAB程序,但我只是无法弄清楚如何做到这一点而不是首先显示它。基本上我被夹在两个功能之间,imageimwrite,都只做我想要的一半。

image能够把我的矩阵,并创建所需的输出,但它只是它显示在一个图形窗口

Output from <code>image</code> function

imwrite是能够将图像保存到文件中没有显示,但图像是完全错误的,我找不到任何可以修复它的参数。

Output from <code>imwrite</code> function on same input

其他的问题,我已经看到了处理使用imread和管理数字之类的东西,但我只是在做(例如)

matrix = rand(20); 
colormap(winter); 
image(matrix, 'CDataMapping', 'scaled'); 

matrix = rand(20); 
imwrite(matrix, winter(256), 'filename.png'); 

有没有办法调用image函数,使其不显示数字窗口然后保存到文件中?类似于在matplotlib中调用imshow然后savefig

回答

3

只是这样做:

matrix = rand(20); 
f = figure('visible', 'off'); 
colormap(winter); 
image(matrix, 'CDataMapping', 'scaled'); 
print(f, '-dpng', 'filename.png'); 
+0

热diggidy水仙花,谢谢! –

相关问题