How to convert 'Structure' ?!

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

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)

Try
F.Contrast

2 Comments

can you tell me what does 'F','contrast' represent
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.

theNumber = F.Contrast;

3 Comments

you don't understand my point...
i had already get the result like that
F=
Contrast: 0.2546
% i want to remove word 'contrast' and get the number alone...
I had already reach it by converting structure to cell using function (_struct2cell_)
Then convert cell to matrix using function (cell2mat)
but it's about 200 feature and it's too long to pass it through 2 steps for each...
I wander if their is simple step rather than using two steps?!!
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
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.

Categories

Find more on Convert Image Type in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!