Clear Filters
Clear Filters

Calculating the area of the black objects in mm2

5 views (last 30 days)
hi, i am struggling to find the area of whole black objects in the image down blown and i dont know how to convert this area from pixels to mm2

Answers (2)

Ayush Modi
Ayush Modi on 17 May 2024
Hi Mathew,
You can calculate the area of all black objects using the function regionprops. Here is the sample code for your reference:
grayImage = rgb2gray(image); % Convert to grayscale if necessary
binaryImage = imbinarize(grayImage, 'adaptive'); % Convert to binary image
binaryImage = ~binaryImage; % Invert if necessary so objects of interest are white
cc = bwconncomp(binaryImage);
stats = regionprops(cc, 'Area');
allAreas = [stats.Area];
totalAreaInPixels = sum(allAreas);
Refer to the below Mathworks documentation for more information on regionprops function:
To convert the area into mm2, you would need to know scale of the image (pixels/mm). See the below thread for more information:

Image Analyst
Image Analyst on 17 May 2024
You need to know the length of your field of view or of some known thing in the image. See my attached spatial calibration demo.
To get a list of all the areas of the black blobs in your binary image, you can do
props = regionprops(~binaryImage, 'Area'); % Measure areas.
allAreas = [props.Area];
histogram(allAreas); % If you want to see a particle size distribution.

Community Treasure Hunt

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

Start Hunting!