How to convert 'Structure' ?!

7 views (last 30 days)
Mariam Sheha
Mariam Sheha on 29 Jun 2013
Hi everybody;
I am trying to get feature value out of structure array..
for example:
glcms = graycomatrix(CG,'Offset',[0 1]);
Cont_RGB = graycoprops(glcms,'Contrast');
F=Cont_RGB;
F= Contrast: 0.2546 % i wana to remove word contrast and get the number only!
How can i get the number?
Thank you

Accepted Answer

Walter Roberson
Walter Roberson on 30 Jun 2013
If your
Cont_RGB = graycoprops(glcms,'Contrast');
is returning a Cont_RGB which is a structure array, and you want to extract the field named "Contrast" from the first member of that structure array, you would use
Cont_RGB(1).Contrast
and in the cast where the structure array only has a single member (so Cont_RGB(2) does not exist) then you can abbreviate that to
Cont_RGB.Contrast
In the above, the period is part of the syntax.
If Cont_RGB is a structure array, so Cont_RGB(2).Contrast and so on exist, and you are trying to get a vector equivalent to
[Cont_RGB(1).Contrast Cont_RGB(2).Contrast Cont_RGB(3).Contrast ....]
then use
[Cont_RGB.Contrast]
In this, the [] and the period are part of the syntax.

More Answers (2)

Matthew Eicholtz
Matthew Eicholtz on 29 Jun 2013
Try
F.Contrast
  2 Comments
Mariam Sheha
Mariam Sheha on 29 Jun 2013
can you tell me what does 'F','contrast' represent
Walter Roberson
Walter Roberson on 30 Jun 2013
Cont_RGB = graycoprops(glcms,'Contrast');
Cont_RGB.Contrast
The "." between the variable name and "Contrast" is literal, part of the syntax.

Sign in to comment.


Image Analyst
Image Analyst on 29 Jun 2013
theNumber = F.Contrast;
  3 Comments
Image Analyst
Image Analyst on 30 Jun 2013
All 3 people answered with the same thing, and you accepted the third response, so I think we all knew what you meant. Hopefully you're now using Walter's answer, and are not doing unnecessary operations like converting to a cell array and then converting the cell array to a matrix. You may find it helpful to read the FAQ: http://matlab.wikia.com/wiki/FAQ#What_is_a_cell_array.3F
Mariam Sheha
Mariam Sheha on 30 Jun 2013
Thanks for you all replaying me,
Walter's mentioned his answer,and so i get the point once i read discussion..
yes i do using the method now instead of using useless operation..
Also, Thanks for the doc. it's helpful
Really you are all helpful and creative...:)

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!