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

4 views (last 30 days)
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.

Accepted Answer

Stephen23
Stephen23 on 10 Dec 2015
Edited: Stephen23 on 10 Dec 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

More Answers (1)

khan
khan on 10 Dec 2015
use
Total_ones = numel(find(YourMatrix(:)==1)

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!