how to pass " - Wert zwischen Funktionen in MATLAB-GUI?
Ich versuche zu konvertieren einer image-Datei in eine binäre Datei, wo ich bin mit 2 Tasten in einem Matlab-GUI.
die erste Schaltfläche zum durchsuchen der Dateien zeigt dann den Namen der Datei auf einen statischen text, und die zweite Taste für das speichern als CSV-Datei, und das ist mein code
function varargout = signatureGUI(varargin)
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @signatureGUI_OpeningFcn, ...
'gui_OutputFcn', @signatureGUI_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 signatureGUI is made visible.
function signatureGUI_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
handles.filename = 0;
guidata(hObject, handles);
% --- Outputs from this function are returned to the command line.
function varargout = signatureGUI_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
% --- Executes on button press in browsefile.
function browsefile_Callback(hObject, eventdata, handles)
filename = uigetfile({'*.jpg'; '*.jpeg'; '*.png'});
handles.filename=filename;
guidata(hObject, handles);
set(handles.showfile, 'String',filename );
% --- Executes on button press in buttonwritecsv.
function buttonwritecsv_Callback(hObject, eventdata, handles)
handles.filename;
new = imread (filename);
newrgb=rgb2gray(new);
newrgb_io = binz(newrgb);
[filecsv,pathcsv] = uiputfile('*.csv','Save CSV File');
csvwrite([filecsv,pathcsv], newrgb_io);
guidata(hObject, handles);
Ich versuche, die " Griffe.mit dem Namen " lasst die Schaltfläche Speichern unter in der Lage, um die variable aus dem Browse-button, aber wenn ich auf die Schaltfläche Speichern, nachdem Sie die Datei suchen, Sie tun nichts...
Bin ich etwas fehlt oder Fehler machen, es zu benutzen?
Nachdem ich der Antwort von @Richante ich bekam heute folgende Fehlermeldung, die ich nicht verstehen
??? Reference to non-existent field 'output'.
Error in ==> signatureGUI>signatureGUI_OutputFcn at 34
varargout{1} = handles.output;
Error in ==> gui_mainfcn at 265
feval(gui_State.gui_OutputFcn, gui_hFigure, [],
gui_Handles);
Error in ==> signatureGUI at 17
gui_mainfcn(gui_State, varargin{:});
Ich weiß nicht was es ist..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, das ist nicht ganz richtig. Verwenden Sie nicht
handles
um die Daten zu speichern - Verwenden Sie Ihre eigenen Struktur. InOpeningFcn
:Dann, wenn Sie wollen, um die Daten abzurufen (z.B.
browsefile_Callback
):sowie
buttonwritecsv_Callback
:Grundsätzlich
guidata(hObject, myData)
können, die Sie speichernmyData
undmyData = guidata(hObject, myData)
können Sie es abrufen.