利用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.wddqw.com/doc/402124f9f705cc17552709f3.html