打开对话框以保存文件
[file,path] = uiputfile 将选定或指定的文件路径返回到path。如果用户取消对话框,则MATLAB将返回0两个输出参数
获取坐标系中的图像文件数据
i=getimage(gcf); % 获取坐标系中的图像文件数据
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
clc;
close all;
close(gcf);
建议网上搜原理,很多很多。
axes(handles.axes2);
prompt={'请输入缩放倍数:'};
defans={'2'};
p=inputdlg(prompt,'请输入缩放倍数',1,defans);
p1=str2num(p{1});
y=imresize(handles.img,p1,'nearest');
imshow(y);
axes(handles.axes2);
prompt={'请输入缩放倍数:'};
defans={'2'};
p=inputdlg(prompt,'请输入缩放倍数',1,defans);
p1=str2num(p{1});
y=imresize(handles.img,p1,'bilinear');
imshow(y);
其中1.jpg为原图像,分辨率600x600,2.jpg为放大后保存的图像,分辨率1200x1200.
axes(handles.axes2);
prompt={'请输入缩放倍数'};
defans={'0.1'};
p=inputdlg(prompt,'请输入缩放倍数',1,defans);
p1=str2num(p{1});
y=imresize(handles.img,p1,'nearest');
imshow(y);
axes(handles.axes2);
prompt={'请输入缩放倍数'};
defans={'0.1'};
p=inputdlg(prompt,'请输入缩放倍数',1,defans);
p1=str2num(p{1});
y=imresize(handles.img,p1,'bilinear');
imshow(y);
图片裁剪函数
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(___)
set(handles.axes2,'HandleVisibility','ON');
axes(handles.axes2);
y=imcrop(handles.img);
imshow(y);
handles.Timage=y;