数字图像处理大作业GUI设计

1 简介

《数字图像处理》是一门多学科交叉的前沿课程,Matlab是教学中的常用软件,传统的基于命令行或者脚本文件的编程方法教学直观性较差.为此,以Matlab提供的图形用户编程界面(GUI)对图像处理教学演示系统进行设计.首先给出系统框架,并介绍了数字图像处理中的常用方法,其次应用GUI建立算法测试平台,给出具体实例.结果表明,利用GUI平台进行数字图像处理教学,界面友好,直观性强,具有较强的开放性,能够激发学生的兴趣,提高学习效率,效果良好.​

2 部分代码

function varargout = GUI(varargin)gui_Singleton = 1;gui_State = struct('gui_Name',       mfilename, ...                   'gui_Singleton',  gui_Singleton, ...                   'gui_OpeningFcn', @GUI_OpeningFcn, ...                   'gui_OutputFcn',  @GUI_OutputFcn, ...                   'gui_LayoutFcn',  [] , ...                   'gui_Callback',   []);if nargin && ischar(varargin{1})    gui_State.gui_Callback = str2func(varargin{1});endif nargout    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});else    gui_mainfcn(gui_State, varargin{:});endfunction GUI_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles);function varargout = GUI_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;% 载入图像function pushbutton1_Callback(hObject, eventdata, handles)[fname,pname,index]=uigetfile({'*.jpg';'*.bmp'},'选择图片'); global c; if index     str=[pname fname];     c=imread(str);     axes(handles.axes1);     imshow(c);     axis off end% 亮度变换function pushbutton2_Callback(hObject, eventdata, handles)global c;prompt={'输入参数1[low_in high_in] ','输入参数2 [low_out high_out]','输入gamma'}; defans={'[0 0.7]','[0 1]','1'}; p=inputdlg(prompt,'输入参数',1,defans); p1=str2num(p{1}); p2=str2num(p{2}); p3=str2num(p{3}); gamma=p3; x=(c); y=imadjust(x,p1,p2,gamma); axes(handles.axes1); imshow(y);% 保存变换结果function pushbutton11_Callback(hObject, eventdata, handles) [filename,pathname] = uiputfile('*.jpg','图片保存为');if isequal([filename,pathname],[0,0])     errordlg('没有保存','出错');     return;elsefile=strcat(pathname,filename);(handles.axes1);i=getimage(gca);imwrite(i,file);end% 恢复原始图像function pushbutton12_Callback(hObject, eventdata, handles)global c;imshow(c);

3 仿真结果

数字图像处理大作业GUI设计_第1张图片

4 参考文献

[1]林森, 陶志勇, 张沛泓,等. 数字图像处理GUI设计及在教学中的应用[J]. 科技与创新, 2018(3):3.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

你可能感兴趣的:(图像处理,matlab)