基于matlab GUI均值+中值滤波图像去噪

基于matlab GUI均值+中值滤波图像去噪

 

一、简介

基于matlab GUI均值+中值滤波图像去噪  

二、源代码

function varargout = untitled(varargin)

% UNTITLED MATLAB code for untitled.fig

%      UNTITLED, by itself, creates a new UNTITLED or raises the existing

%      singleton*.

%

%      H = UNTITLED returns the handle to a new UNTITLED or the handle to

%      the existing singleton*.

%

%      UNTITLED('CALLBACK',hObject,eventData,handles,...) calls the local

%      function named CALLBACK in UNTITLED.M with the given input arguments.

%

%      UNTITLED('Property','Value',...) creates a new UNTITLED or raises the

%      existing singleton*.  Starting from the left, property value pairs are

%      applied to the GUI before untitled_OpeningFcn gets called.  An

%      unrecognized property name or invalid value makes property application

%      stop.  All inputs are passed to untitled_OpeningFcn via varargin.

%

%      *See GUI Options on GUIDE's 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 untitled



% Last Modified by GUIDE v2.5 20-Mar-2021 09:33:03



% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name',       mfilename, ...

                   'gui_Singleton',  gui_Singleton, ...

                   'gui_OpeningFcn', @untitled_OpeningFcn, ...

                   'gui_OutputFcn',  @untitled_OutputFcn, ...

                   'gui_LayoutFcn',  [] , ...

                   'gui_Callback',   []);

if nargin && ischar(varargin{1})

    gui_State.gui_Callback = str2func(varargin{1});

end



if nargout

    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

    gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT





% --- Executes just before untitled is made visible.

function untitled_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 untitled (see VARARGIN)



% Choose default command line output for untitled

handles.output = hObject;



% Update handles structure

guidata(hObject, handles);



% UIWAIT makes untitled wait for user response (see UIRESUME)

% uiwait(handles.figure1);





% --- Outputs from this function are returned to the command line.

function varargout = untitled_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 structure

varargout{1} = handles.output;





% --- Executes on button press in open.



function open_Callback(hObject, eventdata, handles)

%选择图片,可以是以下格式(*这个符号是通配符,表示可以是任意长度的任意字符)

    [filename,pathname]=uigetfile({'*.*';'*.bmp';'*.jpg';'*.tif';'*.jpeg'},'选择图像');

    %将im定义成全局变量,这样在代码的任何位置都可以使用im了。

    global im;

    %如果没有输入路径,则弹出错误对话框

    if isequal(filename,0)||isequal(pathname,0)

      errordlg('您还没有选取图片!!','程序员哥哥告诉你');

      return;

    else

        %合成路径+文件名

        image=[pathname,filename];

        %读取图像

        im=imread(image);

        gray = rgb2gray(im);

        %打开坐标,方便操作

        set(handles.before,'HandleVisibility','ON');

        %使用图像,操作在坐标before里

        axes(handles.before);

        %在坐标图before里显示原图像

        imshow(gray);

        

    end



% hObject    handle to open (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 mean.%均值除噪

function mean_Callback(hObject, eventdata, handles)

        global Xnoised;

        global X;

        g1 = imfilter(Xnoised, fspecial('average'));%均值滤波

        P = psnr(X,g1);

        set(handles.final,'HandleVisibility','ON');

        %使用图像,操作在坐标before里

        axes(handles.final);

        %在坐标图before里显示原图像

        %imshow(im);

        imshow(g1);

        title(['均值滤波 PSNR = ',num2str(P)]);

% hObject    handle to mean (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)







function edit1_Callback(hObject, eventdata, handles)

% hObject    handle to edit1 (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 edit1 as text

%        str2double(get(hObject,'String')) returns contents of edit1 as a double





% --- Executes during object creation, after setting all properties. 接受噪声系数

function edit1_CreateFcn(hObject, eventdata, handles)

% hObject    handle to edit1 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    empty - handles not created until after all CreateFcns called



% Hint: edit controls usually have a white background on Windows.

%       See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

    set(hObject,'BackgroundColor','white');

end







% --- Executes during object creation, after setting all properties.

function noise_CreateFcn(hObject, eventdata, handles)

% hObject    handle to noise (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    empty - handles not created until after all CreateFcns called



% Hint: popupmenu controls usually have a white background on Windows.

%       See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

    set(hObject,'BackgroundColor','white');

end

三、运行结果

基于matlab GUI均值+中值滤波图像去噪_第1张图片

基于matlab GUI均值+中值滤波图像去噪_第2张图片

你可能感兴趣的:(你好,MATLAB,matlab)