gpt4 book ai didi

Matlab imwrite() 质量

转载 作者:行者123 更新时间:2023-12-02 21:59:23 28 4
gpt4 key购买 nike

我是 Matlab 的新手,虽然我知道一些其他的编程语言,所以如果这很简单,请原谅我。我无法在 StackOverflow 或其他地方找到任何答案。

我使用以下代码生成一个图形:

 figure(6),imageplot(P); drawnow;

看起来像这样:enter image description here

然后我使用以下命令将此图像保存到我的计算机:

imwrite(P, 'images/plot.png');

生成的图像很小,并且缺少一些颜色信息:

enter image description here

但是,如果我在打开的图(图像 #1)中使用保存功能并手动保存它,我会得到我想要的,也就是存储在我的计算机上的图像。

enter image description here

我该如何编程?我假设 imwrite() 只会直接写入图像,但显然我做错了什么。有什么建议吗?也许它与 imageplot 命令有关?我似乎无法让它在 imwrite 中工作。

更新:根据下面的评论,我已经开始使用“imresize”和“nearest”选项。这会正确缩放图像,但与我点击图中的“保存”按钮相比,生成的图像仍然出奇地暗(因此信息较少)。

从图中保存的图像:

enter image description here

使用“imresize”和“nearest”选项的图像:

enter image description here

最佳答案

MATLAB imwrite 命令准确保存图像矩阵中指定的像素数。这是您计算的实际结果;输出是“微小”的原因是因为它应该是。要使其变大,可以根据需要简单地缩放/缩放它。

然而,保存图形选项的作用却截然不同:它将您在图形窗口中获得的输出光栅化,并为您提供将其保存为图像的选项。这是显而易见的事实,当你这样做时,除了你的结果之外你还获得了一个白色背景,这实际上只是你在保存之前看到的灰色背景;这可以通过在使用保存选项之前调整图形窗口的大小来调整。

如果您只想让输出图形变大,我建议您使用 imresize 命令。

例如,如果您希望默认大小是实际结果大小的两倍,只需使用:

imresize(P, 2.0);

有关更多选项,请尝试 help imresize

关于Matlab imwrite() 质量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17211048/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com