Effacer les filtres
Effacer les filtres

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

3 vues (au cours des 30 derniers jours)
Tan Wen Kun
Tan Wen Kun le 10 Déc 2015
Modifié(e) : Stephen23 le 10 Déc 2015
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.

Réponse acceptée

Stephen23
Stephen23 le 10 Déc 2015
Modifié(e) : Stephen23 le 10 Déc 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

Plus de réponses (1)

khan
khan le 10 Déc 2015
use
Total_ones = numel(find(YourMatrix(:)==1)

Catégories

En savoir plus sur Convert Image Type dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by