Matlab GUI 要求利用 MATLAB GUI 设计实现图像处理的图形用户界面,利用 MATLA B 图像处理工具箱实现以下的图像处理功能: 。 ,显示变换前后的图像。 ,显示和保存该选择区域。 4. 编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小。整数倍的操作,并保存,比较几种插值的效果。 ,要求显示直方图统计,比较直方图均衡后的效果。 ,通过几种滤波算法实现去噪并比较去噪效果。总体 GUI 效果图(菜单部分功能为要求功能,界面部分及菜单部分功能为扩展功能): 第一小题: (读取)代码: function open_Callback(hObject, eventdata, handles) % hObject handle to open (see GCBO) % eventdata reserved - to be defined ina future version of MATLAB % handles structure with handles and user data (see GUIDATA) [filename,pathname]=uigetfile({'*.jpg';'*.*'},'Open file',100,100); file=[pathname,filename]; global G %save path to restore G=file; x=imread(file); axes(); %show image as reference in axes1 imshow(x); axes(); %show image as edit in axes2 imshow(x); =x; guidata(hObject,handles); 截图: 分析: 通过 uigetfile() 实现打开文件对话框, 并且获取选中对象的路径及文件名, 将其打开。(保存)代码: function save_Callback(hObject, eventdata, handles) % hObject handle to save (see GCBO) % eventdata reserved - to be defined ina future version of MATLAB % handles structure with handles and user data (see GUIDATA) [savename,savepath]=uiputfile({'*.jpg';'*.*'},'Save file','',100,100); file=[savepath ,savename]; global H H=getimage; imwrite(H,file); =H; guidata(hObject,handles); imwrite(H,file,'Quality',100); 截图: 分析: 通过 uiputfile() 打开保存文件对话框, imwrite() 写入磁盘。第二小题: ( 亮度调整) 代码: function rgb_Callback(hObject, eventdata, handles) % hObject handle to rgb (see GCBO) % eventdata reserved - tobe defined ina future version of MATLAB % handles structure with handles and user data (see GUIDATA) global H axes(); H=getimage; defans={'1'}; p=inputdlg('input number(more than 1 is to strengthen dark,else light)','input parameter',1,defans,'off'); p1=str2double(p{1}); I=imadjust(,[0,1],[0,1],p1); imshow(I); =I; guidata(hObject,handles); 截图: ( 处理前) (处理后) 分析: 通过 inputdlg() 打开输入信息对话框, 输入参数,在调用 imadjust() 函数改
matlabgui程序设计与分析 来自淘豆网www.taodocs.com转载请标明出处.