Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
这种问题从这个问题结束的地方开始。 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') 更多&回答... |
![]() |
![]() |