MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   如何在MATLAB中保存更改后的图像? (https://www.labfans.com/bbs/showthread.php?t=22611)

poster 2019-12-10 16:49

如何在MATLAB中保存更改后的图像?
 
我想将图像读取到MATLAB中,在其上绘制一个矩形,然后保存图像。

另外,我只是在学习MATLAB,请保持柔和。看起来应该很简单,但是我似乎做不到。

im = imread('image.tif'); imshow(im); rectangle('Position', [100, 100, 10, 10]); imwrite(im, 'image2.tif'); 即使我可以看到图像上的矩形,保存的图像也不会显示该矩形。如何保存图像并显示矩形?

FWIW,我已经尝试过saveas() ,但这给了我巨大的图像。有没有办法使用saveas()并使保存的图像正确大小?


回答:
[URL="http://www.mathworks.com/support/solutions/data/1-P51QW.html?solution=1-P51QW"]The MathWorks网站[/URL]上实际上存在[URL="http://www.mathworks.com/support/solutions/data/1-P51QW.html?solution=1-P51QW"]一个[/URL]有关此问题[URL="http://www.mathworks.com/support/solutions/data/1-P51QW.html?solution=1-P51QW"]的错误[/URL] 。太糟糕了,它们不能给出真正的答案(因为恕我直言,将标尺举到显示器上并不是真正的解决方案)。

使用print命令,必须手动更改-r参数,直到保存的图像的大小与输入图像的大小匹配为止。 -r参数指定保存的图像的DPI。由于大多数屏幕具有不同的DPI,所以没有一种“一刀切”的解决方案。

im = imread('image.tif'); f = figure, imshow(im, 'Border', 'tight'); rectangle('Position', [100, 100, 10, 10]); print(f, '-r80', '-dtiff', 'image2.tif'); 使用上面的代码,调整-r参数,直到看起来正确为止,瞧瞧!



[url=https://stackoverflow.com/questions/575475]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 23:22

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.