Calculating the area of the black objects in mm2

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)

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:
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.

Categories

Asked:

on 17 May 2024

Answered:

on 17 May 2024

Community Treasure Hunt

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

Start Hunting!