How to sum out all the 1 in the bw image?

4 visualizaciones (últimos 30 días)
Tan Wen Kun
Tan Wen Kun el 10 de Dic. de 2015
Comentada: DGM el 12 de Oct. de 2024
I got 280x424x3 logical image.
I want to sum out all the 1 in the image. How to do it?
I want to know how many pixel inside the black region in the image.

Respuesta aceptada

Stephen23
Stephen23 el 10 de Dic. de 2015
Editada: Stephen23 el 10 de Dic. de 2015
This is my answer to your last question. If X is a grayscale RGB image, this will count the white pixels:
idy = all(X,3); % R==G==B
out = sum(idy(:)); % count 1's
Note that you should not store your image as a .jpg file, as this is a lossy format. .png would be more suitable.
Anyway, here is one easy way to count the pixels with values less than 127 ("black"):
>> X = imread('1_2.jpg');
>> Y = X>127;
>> L = sum(Y(:)) % Light
L = 97146
>> D = sum(~Y(:)) % Dark
D = 21574
And the total pixels in both of these is equal to the total pixels in the image:
>> L+D
ans = 118720
>> prod(size(X))
ans = 118720

Más respuestas (1)

khan
khan el 10 de Dic. de 2015
use
Total_ones = numel(find(YourMatrix(:)==1)

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by