How to fill a hole for 3D image when the hole is not fully covered?

15 ビュー (過去 30 日間)
Dongyu Liang
Dongyu Liang 2021 年 2 月 18 日
回答済み: Keerthana Chiruvolu 2021 年 2 月 28 日
Hi,
I have generated some 3d structure of few particles based on 3D binary images. These particles have multiples holes insides and I want to fill all the holes so the particles will be totally solid. Now I can get porosity by using 1-((volume before filling the hole)/(volume after filling the hole)). however, some of holes are not fully covered due do cracks on the particle surface. For the small uncovered holes, I can use imclose first and then imfill to fill the hole without changing particle shape too much. But for the large holes, I have to make radius for imclose very large to cover the hole for imfill to fill. In this case, the particle volume changes a lot and affect the accuracy for porosity calculation. Another problem is I have to manually set up the radius for imclose for each particle since they have different hole size.
So, I am thinking about to use bwconvhull which seems working good for 2D image to fill the big hole and no parameters to set up. But this function is only working for 2D, I am wondering is there similar function for 3D image?
Another thought is there any fucntions can detect if the hole is fully covered or if there is no cracks on the solid surface? If so, maybe I can set up a iteration to automatically increase the radius of imclose until it can make large holes be covered.
Thanks!

採用された回答

Keerthana Chiruvolu
Keerthana Chiruvolu 2021 年 2 月 28 日
Hi,
You can use the bwmorph3() function to fill holes in the 3D image. Further, to measure the properpties of a 3D image use regionprops3() function.
Alternately, you can also create a 3D image using the alphaShape() function.
Refer the link, for more information on a similar case.

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange3-D Volumetric Image Processing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by