• matlab-GUI整理-图形处理


    matlab-GUI—菜单栏应用

    1. 新建空白GUIDE,打开菜单编辑器,添加修改菜单栏名字

    2. 打开编辑器,编写菜单栏下各标记函数,编辑器完成后,就可生成效果图了

    3. 填充程序如下,其中test.jpg需要全部修改为需要处理的图,并将m文件、fig文件和图片放置当前路径,即可运行图片处理程序了
      function varargout = Digital_figure_prosses(varargin)
      % DIGITAL_FIGURE_PROSSES MATLAB code for Digital_figure_prosses.fig
      %      DIGITAL_FIGURE_PROSSES, by itself, creates a new DIGITAL_FIGURE_PROSSES or raises the existing
      %      singleton*.
      %
      %      H = DIGITAL_FIGURE_PROSSES returns the handle to a new DIGITAL_FIGURE_PROSSES or the handle to
      %      the existing singleton*.
      %
      %      DIGITAL_FIGURE_PROSSES('CALLBACK',hObject,eventData,handles,...) calls the local
      %      function named CALLBACK in DIGITAL_FIGURE_PROSSES.M with the given input arguments.
      %
      %      DIGITAL_FIGURE_PROSSES('Property','Value',...) creates a new DIGITAL_FIGURE_PROSSES or raises the
      %      existing singleton*.  Starting from the left, property value pairs are
      %      applied to the GUI before Digital_figure_prosses_OpeningFcn gets called.  An
      %      unrecognized property name or invalid value makes property application
      %      stop.  All inputs are passed to Digital_figure_prosses_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 Digital_figure_prosses
      
      % Last Modified by GUIDE v2.5 21-Aug-2018 19:29:28
      
      % Begin initialization code - DO NOT EDIT
      gui_Singleton = 1;
      gui_State = struct('gui_Name',       mfilename, ...
                         'gui_Singleton',  gui_Singleton, ...
                         'gui_OpeningFcn', @Digital_figure_prosses_OpeningFcn, ...
                         'gui_OutputFcn',  @Digital_figure_prosses_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 Digital_figure_prosses is made visible.
      function Digital_figure_prosses_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 Digital_figure_prosses (see VARARGIN)
      
      % Choose default command line output for Digital_figure_prosses
      handles.output = hObject;
      
      % Update handles structure
      guidata(hObject, handles);
      imshow('test.jpg')
      % UIWAIT makes Digital_figure_prosses wait for user response (see UIRESUME)
      % uiwait(handles.figure1);
      
      
      % --- Outputs from this function are returned to the command line.
      function varargout = Digital_figure_prosses_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;
      
      
      % --------------------------------------------------------------------
      function Untitled_1_Callback(hObject, eventdata, handles)
      % hObject    handle to Untitled_1 (see GCBO)
      % eventdata  reserved - to be defined in a future version of MATLAB
      % handles    structure with handles and user data (see GUIDATA)
      
      
      % --------------------------------------------------------------------
      function Untitled_2_Callback(hObject, eventdata, handles)
      % hObject    handle to Untitled_2 (see GCBO)
      % eventdata  reserved - to be defined in a future version of MATLAB
      % handles    structure with handles and user data (see GUIDATA)
      
      
      % --------------------------------------------------------------------
      function Untitled_3_Callback(hObject, eventdata, handles)
      % hObject    handle to Untitled_3 (see GCBO)
      % eventdata  reserved - to be defined in a future version of MATLAB
      % handles    structure with handles and user data (see GUIDATA)
      
      
      % --------------------------------------------------------------------
      function Untitled_4_Callback(hObject, eventdata, handles)
      % hObject    handle to Untitled_4 (see GCBO)
      % eventdata  reserved - to be defined in a future version of MATLAB
      % handles    structure with handles and user data (see GUIDATA)
      clear;
      I=imread('test.jpg');
      gray=rgb2gray(I);
      J=histeq(gray,32);
      [ counts,x]=imhist(J);
       I=imread('test.jpg');
       Q=rgb2gray(I);
      [counts,x]=imhist(J);I=imread('test.jpg');Q=rgb2gray(I);
      subplot(2,2,1),imshow(Q);title('原始heart灰度图像');
      subplot(2,2,3),imhist(Q);title('原始heart灰度图像的直方图');
      M=histeq(Q,counts);
      subplot(2,2,2),imshow(M);title('直方图规定化后的heart灰度图像');
      subplot(2,2,4),imhist(M);title('直方图均衡化成32个灰度级后的heart灰度图像直方图');
      axis square;
      
      % --------------------------------------------------------------------
      function Untitled_5_Callback(hObject, eventdata, handles)
      % hObject    handle to Untitled_5 (see GCBO)
      % eventdata  reserved - to be defined in a future version of MATLAB
      % handles    structure with handles and user data (see GUIDATA)
      
      
      I=imread('test.jpg');V=0.02;noisel=imnoise(I,'gaussian',0,V);%加高斯噪声
      subplot(2,2,1),imshow(noisel);title('加高斯噪声');
      noise=0.1*randn(size(I));%加随机噪声
      noise2=imadd(I,im2uint8(noise));
      subplot(2,2,2),imshow(noise2);title('加随机噪声')
      noise3=imnoise(I,'salt & pepper',0.02);
      subplot(2,2,3),imshow(noise3);title('加椒盐噪声')
      noise4=imnoise(I,'speckle',0.06);
      subplot(2,2,4),imshow(noise4);title('加乘性噪声')
      
      % --------------------------------------------------------------------
      function Untitled_6_Callback(hObject, eventdata, handles)
      % hObject    handle to Untitled_6 (see GCBO)
      % eventdata  reserved - to be defined in a future version of MATLAB
      % handles    structure with handles and user data (see GUIDATA)
      clear;
      I=imread('test.jpg');H=fspecial('sobel');
      subplot(1,2,1),imshow(I);title('原始heart灰度图像');
      J=imfilter(I,H);
      subplot(1,2,2),imshow(J);title('Sobel算子对图像锐化结果');
      
      
      % --------------------------------------------------------------------
      function Untitled_7_Callback(hObject, eventdata, handles)
      % hObject    handle to Untitled_7 (see GCBO)
      % eventdata  reserved - to be defined in a future version of MATLAB
      % handles    structure with handles and user data (see GUIDATA)
      clear; 
      I1=imread('test.jpg'); 
      I=rgb2gray(I1);
      BW1=edge(I,'sobel'); 
      BW2=edge(I,'Canny'); 
      BW3=edge(I,'Prewitt');
      BW4=edge(I,'log');subplot(3,2,1),imshow(I);
      title('原始heart灰度图像');subplot(3,2,3),imshow(BW1);
      title('Sobel边缘检测');subplot(3,2,4),imshow(BW2);
      title('Canny边缘检测');subplot(3,2,5),imshow(BW3);
      title('prewitt 边缘检测');
      subplot(3,2,6),imshow(BW4);title('log边缘检测');
      
      % --------------------------------------------------------------------
      function Untitled_8_Callback(hObject, eventdata, handles)
      % hObject    handle to Untitled_8 (see GCBO)
      % eventdata  reserved - to be defined in a future version of MATLAB
      % handles    structure with handles and user data (see GUIDATA)
      
      
      % -------------图像缩放-------------------------------------------------------
      function Untitled_9_Callback(hObject, eventdata, handles)
      % hObject    handle to Untitled_9 (see GCBO)
      % eventdata  reserved - to be defined in a future version of MATLAB
      % handles    structure with handles and user data (see GUIDATA)
      clear;
      I=imread('test.jpg');
      subplot(2,2,1),imshow(I);title('原始图像');
      X1=imresize(I,0.1,'nearest');
      subplot(2,2,2),imshow(X1,[]);title('最近邻插值法实现图像缩放');
      X2=imresize(I,0.1,'bilinear');
      subplot(2,2,3),imshow(X2,[]);title('双线性插值法实现图像缩放');
      X2=imresize(I,0.1,'bilinear');
      subplot(2,2,3),imshow(X2,[]);title('双线性插值法实现图像缩放');
      X3=imresize(I,0.1,'bicubic');
      subplot(2,2,4),imshow(X3,[]);title('双立方插值法实现图像缩放');
      
      % --------------------------------------------------------------------
      function Untitled_10_Callback(hObject, eventdata, handles)
      % hObject    handle to Untitled_10 (see GCBO)
      % eventdata  reserved - to be defined in a future version of MATLAB
      % handles    structure with handles and user data (see GUIDATA)
      
      
      % -------------图像裁剪-------------------------------------------------------
      function Untitled_11_Callback(hObject, eventdata, handles)
      % hObject    handle to Untitled_11 (see GCBO)
      % eventdata  reserved - to be defined in a future version of MATLAB
      % handles    structure with handles and user data (see GUIDATA)
      clear;
      I=imread('test.jpg');
      %subplot(1,1,1),imshow(I);title('请选择要裁剪的区域,并双击选定区域以显示');
      msgbox('请选择要裁剪的区域,并双击选定区域以显示','提示信息');
      waitforbuttonpress;
      clf;
      I2=imcrop(I);
      close;%右键点击“crop image”
      subplot(1,2,1),imshow(I);title('原始heart——RGB图像');
      subplot(1,2,2),imshow(I2);title('裁剪后的heart——RGB图像');
      
      % --------------------------------------------------------------------
      function Untitled_12_Callback(hObject, eventdata, handles)
      % hObject    handle to Untitled_12 (see GCBO)
      % eventdata  reserved - to be defined in a future version of MATLAB
      % handles    structure with handles and user data (see GUIDATA)
      
      
      % --------------------------------------------------------------------
      function Untitled_13_Callback(hObject, eventdata, handles)
      % hObject    handle to Untitled_13 (see GCBO)
      % eventdata  reserved - to be defined in a future version of MATLAB
      % handles    structure with handles and user data (see GUIDATA)
      

        

  • 相关阅读:
    iOS:后台定位并实时向服务器发送位置
    iOS:创建Siri 功能
    Cocoa编程开发者手册
    iOS应用开发最佳实践
    Linux Shell编程与编辑器使用详解
    从虚拟化到云计算
    软件集成策略——如何有效率地提升质量
    水色物语:清新水彩手绘插画技法
    易用为王:改进产品设计的10个策略
    iOS Web应用开发:运用HTML5、CSS3与JavaScript
  • 原文地址:https://www.cnblogs.com/piaoyangz/p/9521138.html
Copyright © 2020-2023  润新知