Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-10, 16:49   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 如何在MATLAB中保存更改后的图像?

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

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

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

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


回答:
The MathWorks网站上实际上存在一个有关此问题的错误 。太糟糕了,它们不能给出真正的答案(因为恕我直言,将标尺举到显示器上并不是真正的解决方案)。

使用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参数,直到看起来正确为止,瞧瞧!



更多&回答...
poster 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 03:24


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