- 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 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuestas (1)
Sean de Wolski
el 13 de Abr. de 2011
3 comentarios
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!