How to calculate the volume of a rotational symmetric object with its projected area from an image?

10 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Image Analyst
Image Analyst il 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 Commenti
Benjamin Rahimian
Benjamin Rahimian il 5 Nov 2022
Modificato: Benjamin Rahimian il 10 Nov 2024
Hey,
thanks for your answer. I had hoped there was an easier way but your suggestion will work just fine.
Image Analyst
Image Analyst il 11 Nov 2024
Modificato: Image Analyst il 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?

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by