How to calculate the volume of a rotational symmetric object with its projected area from an image?
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Benjamin Rahimian
le 5 Nov 2022
Modifié(e) : Image Analyst
le 11 Nov 2024
Hey guys,
i have a BW 2D image of an object which is roughly roational symmetric. With the use of regionprops i can indentify the (projected) area of the object. Now i want to calculate the volume of the object.
Is there a mathematical formula or a Matlab command which is able to calculate the volume of the object with the use of the projected area? The shape of the object is kind of bullet shaped.
My idea would be to measure the length of every point of the outline to the middle axis. The Image has a pretty high resolution so that would be at least 1000 slices. This way seems highly inefficient. I hope there is a better way.
with kind regrads
Benjamin
0 commentaires
Réponse acceptée
Image Analyst
le 5 Nov 2022
So you're going to assume that each column (or row) is a circular disk. So you just need to scan each column (or row) and find the diameter of each slice. Then square that diameter and multiply it by pi/4 to get the volume of that disk in that slice. Then add up the volume of each slice. If you need more help, attach your image and indicate where the axis of rotation lies along it.
2 commentaires
Image Analyst
le 11 Nov 2024
Modifié(e) : Image Analyst
le 11 Nov 2024
It IS pretty easy. Assuming your "BW" image is an already segmented image (a logical/binary image), you can do it via a for loop, and skip the loop over rows (like I was originally thinking):
volume = 0;
for z = 1 : numberOfSlices
thisSlice = imread(filename) % Or however you get your 2D binary image, like perhaps
% thisSlice = mask3D(:, :, z).
volume = volume + sum(thisSlice, 'all');
end
Were you hoping for something even easier than that?
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur 3-D Volumetric Image Processing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!