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

4 visualizzazioni (ultimi 30 giorni)
Tan Wen Kun
Tan Wen Kun il 10 Dic 2015
Commentato: DGM il 12 Ott 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.

Risposta accettata

Stephen23
Stephen23 il 10 Dic 2015
Modificato: Stephen23 il 10 Dic 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

Più risposte (1)

khan
khan il 10 Dic 2015
use
Total_ones = numel(find(YourMatrix(:)==1)

Categorie

Scopri di più su Image Processing Toolbox in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by