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

조회 수: 10 (최근 30일)
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

채택된 답변

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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 3-D Volumetric Image Processing에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by