Ich versuche, eine Bilddatei in eine binäre Datei zu konvertieren, wo ich 2 Tasten in Matlab GUI. die erste Schaltfläche die Dateien dann zeigt die Dateinamen auf einem statischen Text und die zweite Schaltfläche für das Speichern als CSV-Datei zu suchen, und das ist mein CodeWie übergibt man Werte zwischen Funktionen in MATLAB GUI?
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, das zu verwenden, "handles.filename", damit die Schaltfläche "Save As" die Variable über die Schaltfläche "Durchsuchen" abrufen kann, aber wenn ich nach dem Durchsuchen auf die Schaltfläche "Speichern unter" klicke, wird nichts unternommen ...
Fehle ich etwas? oder einen Fehler machen?
Nachdem ich die Antwort von @Richante folge mir diese folgende Fehlermeldung anzeigt, 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 ..
in Ordnung @Richante, vielen Dank für Ihre beraten, aber ich habe noch einige Fehler, ich werde es –
Post Ich denke, diese Antwort richtig ist. Ich glaube, dass Sie die Griffstruktur verwenden möchten. MATLAB Dokumentation Zustände, __ "GUIDE verwendet guidata die Griffe Struktur zu speichern und zu pflegen. In einer GUIDE GUI-Code-Datei nicht überschreiben die Griffe Struktur oder Ihre GUI funktioniert nicht mehr. Wenn Sie andere Daten als Griffe für Ihre GUI speichern müssen können Sie neue Felder in die Griffe Struktur hinzufügen und Ihre Daten sicher dort platzieren. "__ – wherestheforce
Wheres die Kraft, Ihre absolut richtig. – Shaun314