How to fill the holes in a triangle mesh?

I am doing a project now about the Pinna and sound collection.I used photoscanner to get pictures of human pinnas and made them into a obj file, Now I am able to create the pointcloud and the triangular mesh. Because the pictures are not fully covering the pinna, some places exist holes and gaps. Right now I have the vertices information as well as the faces information in a structure.I am searching for some algorithm to automatically fill the holes. I found some articles about that but don't know how to apply it into Matlab. Can someone tell me how to use Matlab function to operate this? I found a package of iso2mesh files but don't know how to use them and some files run with error with my Matlab. Thanks for any help.

3 Comments

This is a reasonable question, but the term "fill holes" is a little general. Also, there are a number of different types of filling of mesh holes (planar, normal-preserving).
The first step will undoubtedly be to *find* mesh holes. Can you do that? Can you post code (maybe upload a small mesh structure with holes in it somewhere) that actually finds holes first? At least if we have a common starting point we can get towards an answer.
@Seven I have tried the function in file exchange refinepatch, which can add some more vertices and faces from the original one. But after once, there are still holes and gaps. Could you leave a email thus I can send you my files and pictures, thanks a lot for your help
Dear Huichao, Could you solve the problem?
Look at the following code. I removed some faces. How can I fill the removed faces again?
vol = zeros(20,20,20); % Empty voxel volume
vol(8:12,8:12,5:15) = 1; % Turn some voxels on
fv = isosurface(vol, 0.99);
% REMOVE some face
fv.faces(30:31,:) = []; % Remove a face!

Sign in to comment.

Answers (1)

Categories

Asked:

on 13 Dec 2011

Commented:

on 5 Jan 2021

Community Treasure Hunt

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

Start Hunting!