基于matlab GUI一步一步完成图像去噪(一)

说明:本教程使用matlab版本为matlab2012
###一、 GUI编程入门

  1. 启动matlab
    基于matlab GUI一步一步完成图像去噪(一)_第1张图片
    2.点击红框框框起来的按钮
    基于matlab GUI一步一步完成图像去噪(一)_第2张图片
  2. 选择Graphical User Interface(GUI)
    基于matlab GUI一步一步完成图像去噪(一)_第3张图片
  3. 选择Blank gui 然后点击ok
    基于matlab GUI一步一步完成图像去噪(一)_第4张图片
    会出现这个。
    基于matlab GUI一步一步完成图像去噪(一)_第5张图片
  4. 界面介绍
    基于matlab GUI一步一步完成图像去噪(一)_第6张图片
  5. 在界面上为添加按钮。
    点击按钮,在点击gui界面的空白处,空白处就会出现按钮
    基于matlab GUI一步一步完成图像去噪(一)_第7张图片
    同理点击坐标图
    最终效果:
    基于matlab GUI一步一步完成图像去噪(一)_第8张图片
  6. 为按钮增加功能
  7. 双击Push Button按钮会出现这个,篮框是按钮的属性,红框是属性的选择

基于matlab GUI一步一步完成图像去噪(一)_第9张图片
2. 找到string属性可以为按钮改名字
基于matlab GUI一步一步完成图像去噪(一)_第10张图片
我们将名字改为打开
找到Tag属性改变回调函数的名字。我们改为open,同理将坐标图的Tag改为Before
!基于matlab GUI一步一步完成图像去噪(一)_第11张图片
右击打开按钮,找到ViewCallback,点击Callback
基于matlab GUI一步一步完成图像去噪(一)_第12张图片
基于matlab GUI一步一步完成图像去噪(一)_第13张图片
完了会出现这个图片

基于matlab GUI一步一步完成图像去噪(一)_第14张图片
接着复制下面这段代码,到函数下面

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);
        %打开坐标,方便操作
        set(handles.before,'HandleVisibility','ON');
        %使用图像,操作在坐标before里
        axes(handles.before);
        %在坐标图before里显示原图像 
        imshow(im);
        title('原始图像');
    end

ctrll+s保存程序,然后点击上方的run按钮(是个三角形)。
基于matlab GUI一步一步完成图像去噪(一)_第15张图片
然后打开一张图片
基于matlab GUI一步一步完成图像去噪(一)_第16张图片

今天的内容就先到这里。
布置一个小作业,现在我们已经有了彩色的图像,那么如何先给图像加噪呢?
图像加噪代码如下:
在这里插入图片描述

function do_Callback(hObject, eventdata, handles)
        %打开坐标,方便操作
        global im;
        I=im;
        X=rgb2gray(I);
        %读取图像尺寸
        [m,n]=size(X); 
        %给图像加噪
        Xnoised=imnoise(X,'speckle',0.01); 
        %输出加噪图像
       
        set(handles.after,'HandleVisibility','ON');
        %使用图像,操作在坐标before里
        axes(handles.after);
        %在坐标图before里显示原图像 
        %imshow(im);
        imshow(Xnoised);
        title('原始图像');

最后完成后结果应该是这样子:
基于matlab GUI一步一步完成图像去噪(一)_第17张图片

你可能感兴趣的:(教程)