イメージファイルをバイナリファイルに変換しようとしています。ここではMatlab GUIで2つのボタンを使用しています。 、その後ファイルを閲覧するには最初のボタンは、静的なテキスト、CSVファイルとして保存するための第二のボタン上のファイル名を示しており、これは私が使用しようとしている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);
私のコードです"名前を付けて保存"ボタンをクリックすると、[参照]ボタンから変数を取得できるようになりますが、ファイルを参照した後に[名前を付けて保存]ボタンをクリックすると、何もしません。...
それを誤って使用していますか?
私は、私はそれが何であるかを知らない
??? 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{:});
を理解しない私は、この次のエラーを得た@Richanteからの回答を、実行した後...
大丈夫@リチャンテ、あなたのアドバイスのおかげで、まだいくつかのエラーが表示されます、私はそれを投稿します –
私はこの答えが正しいと思います。私はあなたがハンドル構造を使用したいと思うと信じています。 __ "GUIDEはguidataを使用してハンドル構造体を保存および管理します.Guide GUIコードファイルではハンドル構造体を上書きしないでください。そうでないとGUIが機能しなくなります。GUI以外のデータを格納する必要がある場合ハンドル構造に新しいフィールドを追加して、そこにデータを安全に配置することができます」__ – wherestheforce
力を弱める、絶対に正しい。 – Shaun314