- Edge detection on each slice along the 3rd dimension;
- Permute it so the third dimension is the first dimension: I2 =permute(I,[3 2 1]);
- Recompute the edge of each slice, store in a second volume.
- Fill all edges using imfill(bw,'holes') in both volumes
- Inverse permute the second volume so it's in the same axes as the first: M2 = ipermute(M2,[3 2 1]);
- Logical AND on the whole deal to keep only objects contained in both views of the image volume. This will cut out the non-convex portions of either view: M = M1&M2;
- Since you only want the surface; invert your binary image and compute the distance transform: D = bwdist(~M)
- Keep voxels on the surface: surface_voxels = D<1.5;
Is there a command like surface detection similar to edge detection
3 次查看(过去 30 天)
显示 更早的评论
I have to get the surface detection of the pores in the rock n get the volume of the individual rocks...I was able to get that in 2d.applied the edge detection n then the region props to get the area,perimeter,centroid n diff properties..now want some volume properties in 3D...Is there a command like surface detection similar to edge detection in matlab..
0 个评论
回答(1 个)
Sean de Wolski
2011-4-13
3 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!