【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《利用matlab GUI编程实现对不同格式的图片的打开和保存》,欢迎阅读!
利用matlab GUI编程实现对不同格式的图片的打开和保存 建立的GUI如下:
在打开按钮的回调函数里,利用uigetfile()函数建立一个打开文件的对话框,利用imread()函数来打开图片,imshow()函数显示图像,具体代码如下: [filename,pathname]=uigetfile({'*.jpg';'*.bmp';'*.gif'},'选择图片'); if isequal(filename,0)
disp('Users Selected Canceled'); else
str=[pathname filename]; im = imread(str);
axes(handles.axes1);%axes1是坐标轴的标示 imshow(im); end;
运行之后的截图如下:
在保存按钮的回调函数中,利用了uiputfile()函数建立了一个保存文件的对话框,调用matlab的imwrite()函数保存经过修改的图像,具体代码如下:
[filename,pathname]=uiputfile({'*.bmp';},'保存图片','Undefined.bmp'); if ~isequal(filename,0)
str = [pathname filename]; px=getframe(handles.axes1); %saveas(gcf,str,'bmp'); �ta = getappdata(gcf,'Timg'); imwrite(px.cdata,str,'bmp'); close(gcf); else
disp('保存失败'); end;
其中的函数getframe()是为了获取坐标轴中的一帧图像,其返回的对象中有cdata和colormap两个成员。
(1) %读入图像
[X, map] = imread('3.bmp');
%做fft变换,同时将零点移到中心 fcoef = fft2(X);
spectrum = fftshift(abs(fcoef));
%为了显示图像,需要对幅值做归一化处理 figure;
colormap(gray);
spectrum = 255*spectrum/max(spectrum(:)); %显示频谱,同时保存图像。
imshow(spectrum);
imwrite(255*spectrum, map, '31.bmp','bmp');
本文来源:https://www.wddqxz.cn/402124f9f705cc17552709f3.html