Labeling and Leveling of Triangle Meshes

PR, DA

Michael Birsak, Michael Wimmer

Content:

Description

In the fields of cultural heritage, the pointclouds of monuments that have been digitized using a laser scanner are often triangulated. This triangulation is done so that image material can be mapped onto the models in a continuous way. The process of assigning photos to the triangles is called Labeling, the process of adjustment in terms of color to get rid of any seams is called Leveling. There are already two libraries for these tasks, but there are still some missing features that have to be implemented.

Task

PR: Extend the functional range of the existing library used for labeling.

The first step will be the implementation of a masking-feature. This feature is necessary, since not all regions in the photos are equivalently suited to texture the mesh. The masks are provided by the user of the library and show the regions in the photos that can be used for texturing of the model.

The second step will be the implementation of an interacitve brushing tool as it is described in [paper, video]. This brushing tool enables the user to enlarge the region that is textured by a particular photo (growing brush), or to replace the current photo that is used for texturing of a particular region with the photo, which is the next optimal photo suitable for texturing. The brushing tool will either be a new stand-alone application or an extension for Scanopy, a point cloud editor that is developed at the institute.

DA: In addition to the steps mentioned above, extend the Leveling-Library. Implement an algorithm for the adaptive refinement of the mesh at the borders of regions that are textured by different photos.

Requirements

Good C++ programming skills, knowledge of OpenCV and Qt is beneficial.

Environment

The environment will be two already existing libraries used for labeling and leveling of triangle meshes. These libraries were developed as part of a diploma thesis. They are both implemented in C++, using OpenCV for all image operations. For the brushing tool, the environment will be Scanopy or a new stand-alone GUI application. Development will be with Visual Studio 2010, 32-bit or 64-bit.