私は初めて Matlab の GUIDE を使用しています。2 つのプッシュ ボタン機能 (どちらも画像を開く) の 1 つを編集しようとしていますが、1 つを編集するとすべてが変更されます。ここに少しのコードがあります:
% --- Executes on button press in Floating.
function Floating_Callback(hObject, eventdata, handles)
clc;
axes(handles.axes1);
[Float, PathName, FilterIndex] = uigetfile('*.bmp');
if(Float ~= 0)
Floating = fullfile(PathName, Float);
FloatArray = imread(Floating);
imshow(FloatArray);
axis on;
end
% Update handles structure
guidata(hObject, handles);
% hObject handle to Floating (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes on button press in Reference.
function Reference_Callback(hObject, eventdata, handles)
clc;
axes(handles.axes2);
[Ref, PathName, FilterIndex] = uigetfile('*.bmp');
if(Ref ~= 0)
Reference = fullfile(PathName, Ref);
ReferenceArray = imread(Reference);
image(ReferenceArray);
end
% Update handles structure
guidata(hObject, handles);
例えば、
image(ReferenceArray)
画像を RBG で開きますが、
imshow(FloatArray)
グレースケールで開きます(理由もわかりません)。しかし、私の主な関心事は、開いた後です
imshow(FloatArray)
もう一方の画像は自動的にグレースケールになります。私は非常に混乱しています...また、画像がすでにグレースケールであることを知っている限り、少なくともMSペイントまたはImageJで開いたときです。