matlabでGUIを作りたいです。(*.fig) ファイルには、2 つのプッシュ ボタンがあります。1 つ目は、ディレクトリからイメージを読み取り、変数に保存して、matlab GUI に表示することです。
したがって、メイン ファイル (*.m) には、2 つのボタンを表す 2 つの関数があります。
たとえば、メイン ファイル (*.m) の最初の関数: x=imread('image.bmp');
そして2つめのボタン(2つめの機能、1つめの機能と同じメインファイル)は、1つめのボタンで読み込んだ画像を処理するものです。そのため、プロセスを実行するには、最初のボタン (関数) から変数 x を取得する必要があります。x 変数を取得したら、それを別の *.M ファイルに送信できます。
最初の関数から x 変数を取得する方法。
これが私のコードです..
THE MAIN FILE
%First button (Function)
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
[filename, pathname] = uigetfile({'*.bmp';'*.jpg';'*.gif';'*.*'},
'Pick an Image File');
citra1 = imread([pathname,filename]);
axes(handles.axes1);
imshow(citra1);
handles.citra1 = citra1;
guidata(hObject, handles);
set(handles.text1,'String',filename);
% これが私の 2 番目のボタン (機能) です
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
[gambr1, psan1, jmlobjk1, brs1, klm1]=BacaCitra1(citra1);
axes(handles.axes3);
imshow(gambr1);
handles.gambr1 = gambr1;
guidata(hObject, handles);
「citra1」を最初の関数から画像変数として送信し、2 番目の関数で読み取れるようにしたいので、
[gambr1, psan1, jmlobjk1, brs1, klm1]=BacaCitra1(citra1);
しかし、次のようなエラーメッセージがあります: uicontrol Callback の評価中にエラーが発生しました
??? Undefined function or variable 'citra1'.
Error in ==> deteksi2citra>pushbutton1_Callback at 117
[gambr1, psan1, jmlobjk1, brs1, klm1]=BacaCitra1(citra1);
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> deteksi2citra at 42
gui_mainfcn(gui_State, varargin{:});
Error in ==> @(hObject,eventdata)deteksi2citra('pushbutton1_Callback',hObject,even data,guidata(hObject))
??? Error while evaluating uicontrol Callback
助けてくれてありがとう:D