GUI读取图片和变换图片

十年热恋 提交于 2020-02-06 05:43:29

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!