matlab代码之plot函数图及灰度图像保存的几种方法

1、imwrite函数的使用方法

imwrite可以保存图像处理后的图像
保存数据的两种格式:(1)归一化(2)将double类型转为uint8

%% imwrite函数保存图像
ima=double(imread('TID/I1.BMP'));
sigma=25;
rima=ima+sigma*randn(size(ima));  % 添加噪声
imwrite(rima/255,strcat('TIDNLMresult/NoiseImg/I1_noisy.bmp'));
imwrite(uint8(rima),strcat('TIDNLMresult/NoiseImg/I1(1)_noisy.bmp'));
%imwrite保存的数据(1)归一化(2)将double类型转为uint8

2、print、saveas函数的使用方法

print保存plot函数画出的曲线图。
使用方法:print(句柄,‘保存图像类型’,’路径及名称‘)
saveas(句柄,’路径及名称‘,‘保存图像类型’)
其中句柄:figure图像的第几个,如果第一个则为1
图像类型:可以为bmp,png,具体可以通过help,这里列出png

%% print、saveas函数保存figure图像
ima=double(imread('TIDGray/I1.BMP'));
for sigma=10:5:50
    rima=ima+sigma*randn(size(ima));  % 添加噪声
    imgDenoise=imnlmfilt(rima);
    PSNR(sigma/5-1)=psnr(ima/255,imgDenoise/255);
end
sigma=10:5:50;
figure;plot(sigma,PSNR);
%保存图像到指定路径
saveas(1,'TIDNLMresult\PSNR\I1_psnr.png','png'); %方法一
print(1,'-dpng','TIDNLMresult\PSNR\I1_psnr.png');%方法二

3、save函数的使用方法

saveas将矩阵数据保存为mat文件,可以通过load查看数据;
第二个参数为矩阵名称;

%% save函数保存数据到mat
save(strcat('TIDNLMresult\I1_psnr.mat'),'PSNR');

4、单张图像手动保存的方法

直接截图会有灰色的框(1)通过编辑—>复制图窗,就可以把图像保存在剪切板里,可以直接复制到word中。(2)文件—另存为fig或者pdf(但是要进行导出设置)!推荐第一种方法!
在这里插入图片描述

5、完整代码

%图像保存的几种方法
%2020.10.22  by zcp
%% imwrite函数保存图像
ima=double(imread('TIDGray/I1.BMP'));
sigma=25;
rima=ima+sigma*randn(size(ima));  % 添加噪声
imwrite(rima/255,strcat('TIDNLMresult/NoiseImg/I1_noisy.bmp'));
imwrite(uint8(rima),strcat('TIDNLMresult/NoiseImg/I1(1)_noisy.bmp'));
%imwrite保存的数据(1)归一化(2)将double类型转为uint8
%% print、saveas函数保存figure图像
%ima=double(imread('TIDGray/I1.BMP'));
for sigma=10:5:50
    rima=ima+sigma*randn(size(ima));  % 添加噪声
    imgDenoise=imnlmfilt(rima);
    PSNR(sigma/5-1)=psnr(ima/255,imgDenoise/255);
end
sigma=10:5:50;
figure;plot(sigma,PSNR);
%保存图像到指定路径
saveas(1,'TIDNLMresult\PSNR\I1_psnr.png','png'); %方法一
print(1,'-dpng','TIDNLMresult\PSNR\I1_psnr.png');%方法二
%% save函数保存数据到mat
save(strcat('TIDNLMresult\I1_psnr.mat'),'PSNR');
imshow(uint8(rima));imshow(rima/255);

图像前后文件夹变化情况:
在这里插入图片描述

ps:imshow也要求图像矩阵为uint8(rima)或者rima/255

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值