- 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!