# how do I calculate the area of the black pixels?

1 view (last 30 days)
SvenvdB on 25 Jun 2021
Commented: SvenvdB on 25 Jun 2021
I have a pixture and i want to calculate the surface of the black area in the middle. I know the size of the small square's (10x10mm). and the distance between them is 18cm.
I have a script that outputs the amount of black pixels and white pixels but i would like to to output the surface area in milimeters.
Is this possible to do? I dont have much experience with matlab so does anyone have any tips on how to do it if it is possible
black pixels: 873454
white pixels: 2640296

Walter Roberson on 25 Jun 2021
BW = imbinarize(rgb2gray(img));
imshow(BW)
format long g
props = regionprops(~BW, 'Area');
sA = sort([props.Area])
sA = 1×5
930 997 1051 1087 92901
mA = mean(sA(1:end-1))
mA =
1016.25
relA = sA(end)/mA
relA =
91.4154981549815
small_area = 10*10;
absA = relA * small_area
absA =
9141.54981549815
The small black squares are not all the same area, so I took the mean() area as being representative.
The large square is 91.4 times larger than the (mean) smaller square
The smaller square is 10x10 = 100 mm^2 so the larger one is 9141.5 mm^2
SvenvdB on 25 Jun 2021
On the normal jpg they are al the same size. but the picture above i took with a camera and thats why the are different. thanks for the explaination, helped alot.

R2021a

### Community Treasure Hunt

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

Start Hunting!