Additional Information
A free processing software system for 3D triangular meshes
Version | MeshLab 2023.12 |
Requirements |
Windows XP/Vista/Windows 7/Windows 8/Windows 10 |
Updated | December 13, 2023 |
Author | Paolo Cignoni |
Category | Imaging and Digital Photo |
License | Open Source |
Language | English |
Download | 78 |
Overview
Input/output in many formats:
- Import: PLY, STL, OFF, OBJ, 3DS, COLLADA, PTX
- Export: PLY, STL, OFF, OBJ, 3DS, COLLADA, VRML, DXF
Features and Highlights
Aligning
The 3D data alignment phase (also known as registration) is a fundamental step in the pipeline for processing 3D scanned data. It provides a powerful tool for moving the different meshes into a common reference system, able to manage a large set of range-maps. MeshLab implements a fine-tuned ICP one-to-one alignment step, followed by a global bundle adjustment error-distribution step. The alignment can be performed on meshes and point clouds coming from several sources, including active (both short- and long-range) scanners and 3D-from-image tools.
Visualization and Presentation
The visualization features of the app (including Decorators and Shaders) can help in graphically present the peculiar characteristics of a 3D model. It is possible to control the camera perspective/orthographic view parameters and use predefined canonical views. The app also offers a high-resolution screenshot feature, extremely useful in creating graphical documentation of a survey.
Reconstruction
The process of transforming independent acquisitions, or point clouds, into a single-surface triangulated mesh can be fulfilled with different algorithmic approaches. It provides several solutions to reconstruct the shape of an object, ranging from volumetric (Marching Cube) to implicit surfaces (Screened Poisson).
Color Processing
It can manipulate the vertex and face colors using a series of Photoshop-like filters (gamma, saturation, brightness, contrast, levels, smoothing, sharpening). Automatic filters are available to calculate Ambient Occlusion and Volumetric Obscurance and to map it to vertex or face color.
Color Mapping and Texturing
Color information may be as important as geometry, but several acquisition technologies do not provide accurate appearance data. MeshLab contains a pipeline for the alignment and projection of color information (from a set of uncalibrated images) onto a 3D model. Several automatic and assisted methods are provided to obtain a high-quality color encoding, with both per-vertex or texture mapping.
Offsetting, Hollowing, Closing
Besides being able to export to STL (one of the most common formats for 3D printing), It can be used to prepare 3D models for printing by creating inner shells, resampling/remeshing the 3D model to make slicing easier, closing small holes to obtain watertight meshes, and flattening the bottom area to have a better platform adherence.
Cleaning 3D Models
The app offers a series of automatic, semi-manual, and interactive filters to remove those geometric elements generally considered “wrong” by most software and algorithms. It is possible to remove topological errors, duplicated and unreferenced vertices, small components, degenerated or intersecting faces, and many more geometrical and topological singularities. Using different automatic and interactive selection methods is then possible to isolate and remove unwanted areas of your meshes and point clouds.
Comparing Models
Measuring the geometric difference between the two 3D models using Hausdorff Distance is a common approach in mesh processing. Many years ago (in 1997!), the Visual Computing Lab developed and freely distributed what become the standard tool for such a task, Metro; the related paper has been cited more than one thousand times.
Scaling, Positioning, and Orienting
3D models, especially coming from survey and scanning, often need to be re-oriented, or placed in a specific reference system; additionally, if they have been generated from 3d-from-photos, they generally need scaling to become metric. Mesh Lab app provides a variety of features to manipulate the scale, positioning, and orientation of a 3D model, including basic transformation operations like translation/scaling/rotation, automatic re-centering and alignment to an axis, geo-referencing with reference points, interactive manipulators for rotation/translation/scaling, and many others.
3D Models Conversion and Interchange
It can import and export a number of different 3D data formats and to online services like SketchFab. In this way it is possible for the user to interchange data with other tools (including Blender, Photoscan, VisualSfM, Cloud Compare, Autodesk tools), working in the context of complex 3D processing pipelines in a number of different contexts and applications. The scripting functionalities will make this type of use even easier and unattended.
Simplification, Refinement, and Remeshing
A common need when processing a 3D model is to reduce its geometric complexity, creating geometry with the same shape but with fewer triangles (or points). The program offers different ways to simplify (decimate) triangulated surfaces, able to preserve geometrical detail and texture mapping or selectively reduce the number of points in a point cloud. In other cases, the user may want to increase the number of triangles (or points): It also provides different subdivision schemes, remeshing, and resampling filters to increase the geometric complexity of 3D models, or to optimize point distribution and triangulation quality.
Integration with Images
Raster Layers have been introduced in MeshLab to allow us to go beyond the standard 3D model. The app users can import in a project also images and other 2D entities. These Raster Layers can be used not only to project color information on the 3D model, but also to generate peculiar points of view, or store an entire 3d-from-image acquisition procedure by including also the images used for the generation of the final results.
Measurement, and Analysis
The interactive point-to-point measurement of a 3D model is really easy in the app. Moreover, automatic filters will return various geometric and topological information about your 3D model (or just of a selected area), while the Sectioning tool can export cut-through sections of a mesh as polylines. Different geometric information (like curvature, geodesic distance, or local vertex density) may be calculated on meshes and 3D models using automatic filters.