存储图像 matlab代码,记录matlab保存图像相关问题

Warning相关

用imshow保存图像时,常常会弹出Image is too big to fit on screen; displaying

at 50%的警告,这是图像大小超过imshow函数的设置的窗口大小了,如果只是想去除warning,则直接运行以下代码即可

warningState =

warning('off','Images:initSize:adjustingMag');

figure

imshow(img)

warning(warningState);

先关闭警告,看完图片后再还原警告的设置。

观看原图相关

可以通过imtool函数查看图像,比如若I是图像的矩阵,则直接运行以下代码即可

I = imread('test.tif');

imtool(I)

显示的窗口上面可以设置图像查看的比例

也可以通过添加新建一个带滚动条的窗口,显示图像,具体的代码如下:

fbor = imread('test.tif');

hFig = figure( 'Toolbar' , 'none' );

hIm = imshow( fbor );

hSP = imscrollpanel(hFig , hIm);

保存图像相关

在上面的添加滚动条显示图像时,如果直接用saveas或者print等保存图像,则只会保存当前窗口显示出来的图像部分,即滚动条所在位置的图像,需要通过以下方式获取图像

I = getimage(gcf);

imwrite(I,'outImg.bmp');

得到的I是完整的图像。

如果要在图像上添加文字,则无法在imtool产生的图像上添加文字,只能使用上面说的添加滚动条的方式显示图像,然后用以下代码添加文字:

text(100,100,'demoForLargeFigure','color','white','edgecolor','red');

如果要保存添加了文字的图像,又不改变图像的大小,则需要用insertText函数

,如下

I = double(I); %转成实数型,若原来I是logical型,会报错

rgb = insertText(I , [100 , 100 ] ,'demoForLargeFigure',...

'FontSize' , 18 ,...

'TextColor' , 'red' ,...

'BoxColor' , 'white' ,...

'BoxOpacity' , 1);

这种方式将灰度图转成了rgb图。

保存图像的时候直接imwrite即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值