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的设计界面如下:
效果如下:
我的水平太弟弟了哈哈哈,先就只能这样了将就着看看哈哈哈,溜了溜了。。。。
来源:CSDN
作者:walawalaw
链接:https://blog.csdn.net/walawalaw/article/details/104121826