필터 지우기
필터 지우기

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

조회 수: 1 (최근 30일)
Tan Wen Kun
Tan Wen Kun 2015년 12월 10일
편집: Stephen23 2015년 12월 10일
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)

카테고리

Help CenterFile Exchange에서 Convert Image Type에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by