我的目标是:
创建不可见的图形
使用子块,在其上绘制图像,然后
不用打开就可以保存。
因此,我运行以下代码:

f = figure('Visible', 'off');
subplot(2, 2, 1), imshow(image1);
subplot(2, 2, 2), imshow(image2);
subplot(2, 2, 3), imshow(image3);
subplot(2, 2, 4), imshow(image4);
saveas(f, 'filename');

但我得到了错误:
Error using imshow (line xxx)
IMSHOW unable to display image.

这意味着imshow正在尝试显示图像。有没有办法让imshow在不可见的图形中显示图像而不尝试弹出?

最佳答案

这样就行了,

f = figure('Visible', 'off');
subplot(2, 2, 1), image(image1);
subplot(2, 2, 2), image(image2);
subplot(2, 2, 3), image(image3);
subplot(2, 2, 4), image(image4);
saveas(f, 'filename');

In case of gray scale images

f = figure('Visible', 'off');
subplot(2, 2, 1), image(image1),colormap(gray);
subplot(2, 2, 2), image(image2),colormap(gray);
subplot(2, 2, 3), image(image3),colormap(gray);
subplot(2, 2, 4), image(image4),colormap(gray);
saveas(f, 'filename');

imagesc()也可以用来代替image()函数

关于linux - 如何在Linux上运行的MATLAB中以不可见图形显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44336265/

10-10 19:01