help required urgently about this error "REFERENCE TO NON EXISTENT FIELD"

im currently working on this thing which converts an rgb image to indexed when i press pushbutton 2 and then it will convert the map to ycbcr when i'll press pushbutton 3 but when i press pushbutton 3 it gives an error "106 inmap = handles.indmap; ??? Reference to non-existent field 'indmap'."
code is this :
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
rgb=imread('C:\Users\Rao\Desktop\unused icons\backgrounds\birdie.png');
[handles.indexed,handles.indmap]=rgb2ind(rgb,8);
axes(handles.axes2);
imagesc(handles.indexed);
colormap(handles.indmap);
% --- Executes on button press in pushbutton3. function pushbutton3_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)
handles.ycbcrmap = rgb2ycbcr(handles.indmap);
axes(handles.axes3);
imagesc(handles.indexed);
colormap(handles.ycbcrmap);

1 件のコメント

Walter Roberson
Walter Roberson 2012 年 6 月 19 日
http://www.mathworks.com/matlabcentral/answers/29922-why-your-question-is-not-urgent-or-an-emergency

サインインしてコメントする。

 採用された回答

Arthur
Arthur 2012 年 6 月 19 日

1 投票

you have to save the handles structure at the end of the callback if you want to store something in there. At the end of pushbutton2_Callback add:
guidata(gcbo,handles)
(I'm not a big fan of storing your data in the handles structure, but that's a different discussion ;) ).

2 件のコメント

Rao
Rao 2012 年 6 月 19 日
thanx pal it works :)
im having one more problem when i click the push button to convert the indexed image map to ycbcr and after i display the image using the new map i.e (ycbcr) , the image in axes2 i.e the image using rgb colormap also changes to and uses ycbcr now both images are same in axes 2 and 3 and when i press the pushbutton 2 the image in both axes 2 and 3 uses rgb colormap . i think it is related to handles.indexed image .. any suggestions please im stuck with this and i have to submit a report of this tomorrow.. :-(
Image Analyst
Image Analyst 2012 年 6 月 19 日
http://www.mathworks.com/support/solutions/en/data/1-GNRWEH/index.html

サインインしてコメントする。

その他の回答 (1 件)

Arthur
Arthur 2012 年 6 月 19 日

0 投票

This is probably due to using colormap without axes handle. try:
colormap(handles.axes3,handles.ycbrmap)
or see: doc colormap

1 件のコメント

Rao
Rao 2012 年 6 月 19 日
this doesnt help :-( i keep getting same image in both axes when i click pushbutton 2 it display image with rgb colormap in both axes similarly when im pressing pushbutton 3 it displays image with ycbcr colormap in both axes.. :-|
maybe the image "handles.indexed" is global so the colormap is applying on it in both buttons

サインインしてコメントする。

カテゴリ

質問済み:

Rao
2012 年 6 月 19 日

Community Treasure Hunt

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

Start Hunting!

Translated by