Effacer les filtres
Effacer les filtres

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

2 vues (au cours des 30 derniers jours)
Rao
Rao le 19 Juin 2012
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 commentaire
Walter Roberson
Walter Roberson le 19 Juin 2012
http://www.mathworks.com/matlabcentral/answers/29922-why-your-question-is-not-urgent-or-an-emergency

Connectez-vous pour commenter.

Réponse acceptée

Arthur
Arthur le 19 Juin 2012
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 commentaires
Rao
Rao le 19 Juin 2012
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 le 19 Juin 2012
http://www.mathworks.com/support/solutions/en/data/1-GNRWEH/index.html

Connectez-vous pour commenter.

Plus de réponses (1)

Arthur
Arthur le 19 Juin 2012
This is probably due to using colormap without axes handle. try:
colormap(handles.axes3,handles.ycbrmap)
or see: doc colormap
  1 commentaire
Rao
Rao le 19 Juin 2012
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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Blue dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by