Matlab错误:'来自非单元数组对象的单元格内容引用。'使用ContinuousValueChange侦听器时

时间:2016-06-22 19:03:07

标签: matlab matlab-guide

我对MATLAB很新。

我正在尝试将一个滑块添加为ContinuousValueChange侦听器,以使用GUIDE通过轴连续显示图片。我已经有滑块工作的基本功能(即滑块中的鼠标点击会相应地更改图片),但我想通过拖动滑块来实现连续更新。

出于某种原因,当我尝试使用连续更改中的值更新图片时,我收到错误。我认为这个错误很奇怪,因为当我使用GUI中的下一个/上一个按钮时,我只是单击滑块时没有收到它,也没有收到它

代码:

function slider1_CreateFcn(hObject, eventdata, handles)
handles.sliderListener = addlistener(handles.slider1,'ContinuousValueChange', ...
                                     @(a,b) continuousUpdate(handles));


% function to update displayed picture/counter upon change 
function updatePicture(handles)
guiControl = gcf;
files = getappdata(guiControl, 'currentPics');
i = getappdata(guiControl, 'currentCounter');
length = max(size(files));
img = imread(files{i});
imageHandle = imshow(img);
imagesc(img);
% update slider 
step = 1/(length - 1);
set(handles.slider1, 'SliderStep', [step step]);
set(handles.slider1, 'Max',        length);

function continuousUpdate(handles)
currentValue = get(handles.slider1, 'Value');
setappdata(gcf, 'currentCounter', round(currentValue));
guidata(handles.slider1, handles);
disp(currentValue);
updatePicture(handles);

错误:

Warning: Error occurred while executing the listener callback for event ContinuousValueChange defined for class matlab.ui.control.UIControl:
Cell contents reference from a non-cell array object.

Error in test>updatePicture (line 287)
img = imread(files{i});

Error in test>continuousUpdate (line 582)
updatePicture(handles);

Error in test>@(a,b)continuousUpdate(handles) (line 263)
                                           @(a,b) continuousUpdate(handles));

0 个答案:

没有答案