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

조회 수: 8 (최근 30일)
Tan Wen Kun
Tan Wen Kun 2015년 12월 10일
댓글: DGM 2024년 10월 12일
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.

채택된 답변

Stephen23
Stephen23 2015년 12월 10일
편집: Stephen23 2015년 12월 10일
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

추가 답변 (1개)

khan
khan 2015년 12월 10일
use
Total_ones = numel(find(YourMatrix(:)==1)

태그

Community Treasure Hunt

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

Start Hunting!

Translated by