数字图像处理实验四、基于GUIDE的图像处理软件开发.docx_第1页
数字图像处理实验四、基于GUIDE的图像处理软件开发.docx_第2页
数字图像处理实验四、基于GUIDE的图像处理软件开发.docx_第3页
数字图像处理实验四、基于GUIDE的图像处理软件开发.docx_第4页
数字图像处理实验四、基于GUIDE的图像处理软件开发.docx_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验四、基于GUIDE的图像处理软件开发一、 实验目的(1) 学习使用MATLAB GUIDE的基本操作。(2) 以图像增强为例完成基本图像处理功能的回调函数编写。二、 实验主要仪器设备(1) 台式机或笔记本电脑。(2) MATLAB软件(含GUIDE开发环境)。三、 实验原理(1) 基于灰度直方图变换的图像增强。(2) 灰度修正图像增强。(3) 图像平滑滤波。(4) 图像锐化处理。四、 实验内容(1) 直方图的计算及用直方图均衡原理增强图像。(2) 线性灰度变换图像增强。(3) 对受椒盐噪声污染的图像采用低通处理模板去燥。(4) 对受椒盐噪声污染的图像采用中值滤波去噪。(5) 对图像采用梯度算子和拉普拉斯算子进行锐化。五、 实验步骤(1) 建立开发环境。(2) 编写相关回调函数。(3) 不断调试、优化,获得较满意的人机交互效果。六、 实验程序function varargout = test4(varargin)% TEST4 MATLAB code for test4.fig% TEST4, by itself, creates a new TEST4 or raises the existing% singleton*.% H = TEST4 returns the handle to a new TEST4 or the handle to% the existing singleton*.% TEST4(CALLBACK,hObject,eventData,handles,.) calls the local% function named CALLBACK in TEST4.M with the given input arguments.% TEST4(Property,Value,.) creates a new TEST4 or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before test4_OpeningFcn gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to test4_OpeningFcn via varargin.% *See GUI Options on GUIDEs Tools menu. Choose GUI allows only one% instance to run (singleton).% See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help test4 % Last Modified by GUIDE v2.5 30-May-2017 17:23:54 % Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, test4_OpeningFcn, . gui_OutputFcn, test4_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);end if nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);end% End initialization code - DO NOT EDIT % - Executes just before test4 is made visible.function test4_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to test4 (see VARARGIN) % Choose default command line output for test4handles.output = hObject;I = ones(256,256);axes(handles.axes1);imshow(I);axes(handles.axes2);imshow(I);axes(handles.axes3);imshow(I);axes(handles.axes4);imshow(I);axes(handles.axes5);imshow(I);axes(handles.axes6);imshow(I);% Update handles structureguidata(hObject, handles); % UIWAIT makes test4 wait for user response (see UIRESUME)% uiwait(handles.figure1); % - Outputs from this function are returned to the command line.function varargout = test4_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structurevarargout1 = handles.output; % - Executes on button press in OpenFile.function OpenFile_Callback(hObject, eventdata, handles)file path = uigetfile(*.bmp;*.jpg;*.png,);if file = 0 warndlg(); %else I = imread(fullfile(path,file); axes(handles.axes1); imshow(I); handles.I = I;end% Update handles structureguidata(hObject,handles);% hObject handle to OpenFile (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % - Executes on button press in noise.function noise_Callback(hObject, eventdata, handles)I = handles.I;I = imnoise(I,salt & pepper,0.04); %0.04axes(handles.axes2);imshow(I,);title();handles.I = I;% hObject handle to noise (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % - Executes on button press in Exit.function Exit_Callback(hObject, eventdata, handles)close(gcf) %Figure% hObject handle to Exit (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % - Executes on button press in filter2.function filter2_Callback(hObject, eventdata, handles)I = handles.I;h0 = 1/9.*1 1 1 1 1 1 1 1; %g0 = filter2(h0,I);axes(handles.axes3);imshow(g0,);title();% hObject handle to filter2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % - Executes on button press in medfilt2.function medfilt2_Callback(hObject, eventdata, handles)I = handles.I;M = medfilt2(I); %axes(handles.axes4);imshow(M);title();handles.M = M;% hObject handle to medfilt2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % - Executes on button press in Roberts.function Roberts_Callback(hObject, eventdata, handles)R = handles.I;BW = edge(R,roberts,0.1); %axes(handles.axes3);imshow(BW,);title(roberts);% hObject handle to Roberts (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % - Executes on button press in Laplacian.function Laplacian_Callback(hObject, eventdata, handles)L = handles.I;H = 0 -1 0;-1 4 -1;0 -1 0;J = imfilter(L,H);handles.J = J;axes(handles.axes4);imshow(J,);title();% hObject handle to Laplacian (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % - Executes on button press in imhist.function imhist_Callback(hObject, eventdata, handles)I = handles.I;axes(handles.axes2);imhist(I);title();% hObject handle to imhist (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % - Executes on button press in linear.function linear_Callback(hObject, eventdata, handles)I = handles.I;J = imadjust(I,0.3 0.7,); %imadjustaxes(handles.axes3);imshow(J);title();axes(handles.axes4);imhist(J);title(); % hObject handle to linear (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % - Executes on button press in histeq.function histeq_Callback(hObject, eventdata, handles)I = handles.I;J = histeq(I); %axes(handles.axes5);imshow(J);title();axes(handles.axes6);imhist(J);title();% hObject handle to histeq (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % - Executes on button press in Clean.function Clean_Callback(hObject, eventdata, handles)I = ones(256,256);axes(handles.axes1);imshow(I);axes(handles.axes2);imshow(I);axes(handles.axes3);imshow(I);axes(handles.axes4);imshow(I);axes(handles.axes5);imshow(I);axes(handles.axes6);imshow(I);% hObject handle to Clean (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) function edit7_Callback(hObject, eventdata, handles)% hObject handle to edit7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,String) returns contents of edit7 as text% str2double(get(hObject,String) returns contents of edit7 as a double % - Executes during object creation, after setting all properties.function edit7_CreateFcn(hObject, eventdata, handles)% hObject handle to edit7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created u

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论