PDA

查看完整版本 : 在MATLAB中,如何绘制图像并保存结果而不显示?


poster
2019-12-10, 16:49
这种问题从这个问题 (https://stackoverflow.com/questions/575475/how-can-i-save-an-altered-image-in-matlab)结束的地方开始。 MATLAB具有功能强大且灵活的图像显示系统,可让您使用imshow和plot命令显示复杂图像,然后保存结果。例如:

im = imread('image.tif'); f = figure, imshow(im, 'Border', 'tight'); rectangle('Position', [100, 100, 10, 10]); print(f, '-r80', '-dtiff', 'image2.tif'); 这很好。

问题是,如果您要进行大量图像处理,那么它就会开始真正地拖拽显示您创建的每个图像-您通常只想保存它们。我知道我可以开始直接写入图像,然后保存结果。但是使用plot / rectangle / imshow非常简单,因此我希望有一个命令可以让我调用plot,imshow等,而不显示结果,然后保存显示的内容。有人知道对此有任何快速解决方案吗?

另外,一种将样条线放置到位图上的快速方法可能有效。


回答:
创建图形时,将Visibile属性设置为Off 。

f = figure('visible','off') 你的情况是

im = imread('image.tif'); f = figure('visible','off'), imshow(im, 'Border', 'tight'); rectangle('Position', [100, 100, 10, 10]); print(f, '-r80', '-dtiff', 'image2.tif'); 如果您想再次查看,可以

set(f,'visible','on')

更多&回答... (https://stackoverflow.com/questions/963674)