How can I use the elements of 'PixelValues' of 'regionprops'?
Mostrar comentarios más antiguos
Hello,
I have been able to extract the pixel values of the grayscale image using regionprops (I think). I did so by using this code
img = rgb2gray(imread('W1\Writer1_01_02.jpg'));
bw_normal = im2bw(img, graythresh(img));
bw = imcomplement(bw_normal);
[label,n] = bwlabel(bw);
stats = regionprops(label, img, {'Area', 'BoundingBox', 'PixelValues'});
Now I want to extract or see visually the values extracted. I mean with the case of "stats.Area" I can do this to extract its values to another vector
areas = [stats.Area]
But this does not work with PixelValues. If I do the same with PixelValues I am presented with the following error:
>> test = [stats.PixelValues]
Error using horzcat
CAT arguments dimensions are not consistent.
Basically what I am trying to do is to visually plot the pixel values, as in plot a histogram of not the entire image but the PixelValues of the connected components.
This was done using C#. I want to produce something like this. In the image below the pixel values of the connected components is detected and then plotted onto the image. Is this possible? (The red dots are the detected pixel values)

Thank you
4 comentarios
Dishant Arora
el 17 de Feb. de 2014
Editada: Dishant Arora
el 17 de Feb. de 2014
pixel = cat(1, stats.PixelValues)
Faraz
el 18 de Feb. de 2014
Image Analyst
el 18 de Feb. de 2014
Note that this will give you the same as what I told you
allThePixelValues = img(bw);
Both essentially give you all the gray levels in the binary image that you sent to regionprops, just in a different order.
Faraz
el 18 de Feb. de 2014
Respuesta aceptada
Más respuestas (1)
Pedro Marrero
el 10 de En. de 2016
0 votos
pixel_value_i = stats(i).PixelValues;
Categorías
Más información sobre Biomedical Imaging en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!