Matlab从数组创建图像并保存而不显示
Posted
技术标签:
【中文标题】Matlab从数组创建图像并保存而不显示【英文标题】:Matlab create image from array and save without displaying 【发布时间】:2015-08-09 05:57:43 【问题描述】:抱歉,如果这是一个骗局,我已经搜索了一个多小时,但搜索词都非常广泛,我只是不断得到相同的结果。此外,我对 matlab 还很陌生,如有任何误解,我深表歉意。
Anywho,我有一个 matlab 程序,它需要经常保存从矩阵生成的图像,但如果不先显示它,我就是不知道该怎么做。基本上我陷入了两个函数之间,image
和 imwrite
,两者都只完成了我想要的一半。
image
能够获取我的矩阵并创建所需的输出,但它只是将其显示到图形窗口
imwrite
能够将图像保存到文件而不显示它,但是图像完全错误,我找不到任何可以修复它的参数。
我见过的其他问题涉及使用 imread
和管理数字和东西,但我只是在做(例如)
matrix = rand(20);
colormap(winter);
image(matrix, 'CDataMapping', 'scaled');
或
matrix = rand(20);
imwrite(matrix, winter(256), 'filename.png');
有什么方法可以调用image
函数,使其不显示图形窗口然后保存到文件中?类似于在 matplotlib 中调用 imshow
然后 savefig
。
【问题讨论】:
【参考方案1】:这样做:
matrix = rand(20);
f = figure('visible', 'off');
colormap(winter);
image(matrix, 'CDataMapping', 'scaled');
print(f, '-dpng', 'filename.png');
【讨论】:
以上是关于Matlab从数组创建图像并保存而不显示的主要内容,如果未能解决你的问题,请参考以下文章