How to count the black pixels in a segmented section of image?

4 visualizaciones (últimos 30 días)
Tawsif Mostafiz
Tawsif Mostafiz el 4 de Ag. de 2021
Comentada: Rik el 4 de Ag. de 2021
I am using this code to show a segmented image using active contour method.
iteration=50;
img=im2bw(imageArray,threshlod_value); %making it black&white
mask=roipoly(img);
bw=activecontour(img,mask,iteration,'Chan-Vese');
imshow(imageArray)
hold on
visboundaries(bw,'Color','r');
hold off
And the output is this:
I want to calculate the black pixels within the segmented boundary after it is turned black and white. How do I do that?

Respuestas (1)

Rik
Rik el 4 de Ag. de 2021
activecontour returns a logical array. That means you can count the black pixels by inverting and using sum (or nnz).
  2 comentarios
Tawsif Mostafiz
Tawsif Mostafiz el 4 de Ag. de 2021
@Rik can you pleae elaborate? How do I write it in code?
Rik
Rik el 4 de Ag. de 2021
If you don't share the source image along with your code, why do you expect a turn-key solution?
Inverting a logical array is as simple as using the not operator on your variable. In Matlab you can either use the ~ or you can use the not function.
Counting the number of white pixels is a question of either counting the number of non-zero values (nnz), or using the implicit conversion of true to 1 and using sum.
sum(~bw,'all')
That's it.
If you want more explicit help, remember to share the source data.

Iniciar sesión para comentar.

Categorías

Más información sobre Image Processing Toolbox en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by