Filter löschen
Filter löschen

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

3 Ansichten (letzte 30 Tage)
Tan Wen Kun
Tan Wen Kun am 10 Dez. 2015
Bearbeitet: Stephen23 am 10 Dez. 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.

Akzeptierte Antwort

Stephen23
Stephen23 am 10 Dez. 2015
Bearbeitet: Stephen23 am 10 Dez. 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

Weitere Antworten (1)

khan
khan am 10 Dez. 2015
use
Total_ones = numel(find(YourMatrix(:)==1)

Kategorien

Mehr zu Convert Image Type finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by