课设-数字图像处理GUI的设计第三天

数字图像处理GUI的设计第三天

1. 图像保存
1.1 uiputfile函数

打开对话框以保存文件

[file,path] = uiputfile 将选定或指定的文件路径返回到path。如果用户取消对话框,则MATLAB将返回0两个输出参数
1.2 getimage函数

获取坐标系中的图像文件数据

 i=getimage(gcf); % 获取坐标系中的图像文件数据
1.3 imwrite函数
imwrite(i,'1.jpg')%保存图像为文件

或者可以将图片保存到指定文件夹

f=getframe(gcf);
imwrite(f.cdata,['C:\',int2str(i),'.jpg']);

代码:

[filename,pathname] = uiputfile({'*.jpg','JPEG(*.jpg)';...
                                 '*.bmp','Bitmap(*.bmp)';...
                                 '*.gif','GIF(*.gif)';...
                                 '*.*',  'All Files (*.*)'},...
                                 'Save Picture','Untitled');
if isequal([filename,pathname],[0,0])
        errordlg('保存失败','出错');
        return;
else
    file = strcat(pathname,filename);
    (handles.axes2);
    i=getimage(gca);
    imwrite(i,file);
end

2. 关闭
clc;
close all;
close(gcf);
3. 放大
3.1 最近邻插值法

建议网上搜原理,很多很多。

axes(handles.axes2);
prompt={'请输入缩放倍数:'};
defans={'2'};
p=inputdlg(prompt,'请输入缩放倍数',1,defans);
p1=str2num(p{1});
y=imresize(handles.img,p1,'nearest');
imshow(y);
3.2 双线性插值法
axes(handles.axes2);
prompt={'请输入缩放倍数:'};
defans={'2'};
p=inputdlg(prompt,'请输入缩放倍数',1,defans);
p1=str2num(p{1});
y=imresize(handles.img,p1,'bilinear');
imshow(y);
3.3 放大后的图像

其中1.jpg为原图像,分辨率600x600,2.jpg为放大后保存的图像,分辨率1200x1200.
在这里插入图片描述

4 缩小
4.1 最近邻插值法
axes(handles.axes2);
prompt={'请输入缩放倍数'};
defans={'0.1'};
p=inputdlg(prompt,'请输入缩放倍数',1,defans);
p1=str2num(p{1});
y=imresize(handles.img,p1,'nearest');
imshow(y);
4.2 双线性插值法
axes(handles.axes2);
prompt={'请输入缩放倍数'};
defans={'0.1'};
p=inputdlg(prompt,'请输入缩放倍数',1,defans);
p1=str2num(p{1});
y=imresize(handles.img,p1,'bilinear');
imshow(y);
5 截图
5.1 imcrop函数

图片裁剪函数

J = imcrop
J = imcrop(I)
Xout = imcrop(X,cmap)
J = imcrop(h)
J = imcrop(I,rect)
C2 = imcrop(C,rect)
Xout = imcrop(X,cmap,rect)
J = imcrop(x,y,___)
[J,rect2] = imcrop(___)
[x2,y2,___] = imcrop(___)

5.2 裁剪
set(handles.axes2,'HandleVisibility','ON');
axes(handles.axes2);
y=imcrop(handles.img);
imshow(y); 
handles.Timage=y;
5.3 裁剪后的图片

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值