when I use the slider in MATLAB gui to display images stored in a matrix an error is shown.

1 次查看(过去 30 天)
Since am performing image processing techniques after storing the data in the matrix, its required that I use setappdata and getappdata to move the data around.However after I pass it to the final function , after about 9 frames the 10th frame gives an error.
the error being-
Error using images.internal.imageDisplayValidateParams>validateCData (line 115)
Multi-plane image inputs must be RGB images of size MxNx3.
Error in images.internal.imageDisplayValidateParams (line 27)
common_args.CData = validateCData(common_args.CData,image_type);
Error in images.internal.imageDisplayParseInputs (line 78)
common_args = images.internal.imageDisplayValidateParams(common_args);
Error in imshow (line 223)
[common_args,specific_args] = ...
Error in MAINTRIAL2>slider2_Callback (line 240)
imshow(P(:,:,C1),'parent',handles.axes6);
Error in gui_mainfcn (line 95)
feval(varargin{:});
Error in MAINTRIAL2 (line 42)
gui_mainfcn(gui_State, varargin{:});
Error in @(hObject,eventdata)MAINTRIAL2('slider2_Callback',hObject,eventdata,guidata(hObject)),
Please do help

采纳的回答

Walter Roberson
Walter Roberson 2016-5-17
C1 = str2double( get(handles.edit2,'String') );
Or better yet, just index by C as it is already the numeric value.

更多回答(1 个)

Image Analyst
Image Analyst 2016-5-17
What does this code show in the command window if you put it just before line 240:
whos P
whos C1
C1
What happens if you visit this link?
  2 个评论
Deandra  Dsouza
Deandra Dsouza 2016-5-17
编辑:Walter Roberson 2016-5-17
C=get(hObject,'Value');
% tr2=(tr1);
assignin('base','sliderVal',C);
set(handles.edit2,'String',num2str(round(C)));
C1=get(handles.edit2,('String'));
disp('C1')
disp(C1)
disp('C')
disp(C)
P=getappdata(0,'Segmented');
O=getappdata(0,'thresholding');
% figure();
% subplot(1,2,1);
imshow(P(:,:,C1),'parent',handles.axes6);
% subplot(1,2,2);
imshow(O(:,:,C1),'parent',handles.axes7);
guidata(hObject,handles);
Image Analyst
Image Analyst 2016-5-17
That's not the code I gave you. There is no whos and I didn't say to use disp(). Anyway, try this:
C1 = str2double(handles.edit2.String);
I recommend you don't use assignin() and pick more descriptive names than C, C1, P, and (worst of all!) O.

请先登录,再进行评论。

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by