GUI读取图片和变换图片

GUI读取图片和变换图片

这个程序的主要功能是一个按钮读取图片,另一个用来对图片进行变换的,过程很简单。
GUI中的varargout函数将句柄handles保存的hObject输出,
hObject是当前回调函数对应的GUI对象的句柄;
handles是当前GUI所有数据的结构体,我添加了两个,分别是handles.imgdata和handles.imgbefore。
guidata可以更新句柄handles。
具体程序如下

function varargout = my(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @my_OpeningFcn, ...
                   'gui_OutputFcn',  @my_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
function my_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
handles.imgdata=[];
handles.imgbefore=[];
guidata(hObject, handles);

function varargout = my_OutputFcn(hObject, eventdata, handles) 
varargout{1} = handles.output;

function pushbutton1_Callback(hObject, eventdata, handles)
[fn,pn,~]=uigetfile('*.jpg','请选择所要识别的图片');
handles.imgdata=imread([pn,fn]);%读取图像
imshow(handles.imgdata);
[imgx,imgy,~]=size(handles.imgdata);
handles.imgbefore=zeros(imgx,imgy)+1;
title('图像');
guidata(hObject, handles);
function pushbutton2_Callback(hObject, eventdata, handles)
handles.imgbefore=handles.imgdata;
handles.imgdata=rgb2gray(handles.imgdata);
imshow(handles.imgdata);
guidata(hObject, handles);
function pushbutton3_Callback(hObject, eventdata, handles)
imshow(handles.imgbefore);
guidata(hObject, handles);

GUI的设计界面如下:
在这里插入图片描述
效果如下:
在这里插入图片描述
我的水平太弟弟了哈哈哈,先就只能这样了将就着看看哈哈哈,溜了溜了。。。。


版权声明:本文为walawalaw原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。