I'm new to this place, so please forgive me if I'm asking a question already answered here.
I would like to calculate the area of a 3D-object given in MATLAB by a 3D-matrix with values 1
for the object and 0
for the background.
I tried with convhulln(K)
, which calculates a convex hull to the object, and afterwards summing up the areas of the different triangles. But since my object is in general not convex, this gives an underestimation of the area.
Another option I tried is just calculating the area of the voxels of the object "exposed" to the background. This works nice, but overestimates the area, since the voxelwise representation is only an approximation of the real object.
Is it possible to triangulate the surface of the 3D-object in a non-convex way, so that the area can be calculated by summing up the areas of the individual triangles?
Any help is welcome!