Complete tutorial on 3D scanning with your Android mobile

  • 3D scanning with Android is based on photogrammetry, supported or not by a ToF camera, combining many photos and free software.
  • The quality of the model depends primarily on the light, the superposition of images, and the type of surface of the scanned object.
  • Tools like Colmap, Meshlab, Meshmixer, and Blender allow you to rebuild, clean, and prepare the mesh for 3D printing.
  • Mobile apps are practical and portable, but they have limitations in accuracy, object size, and often require additional post-processing.

3D scan

Converting a real object into a digital model is no longer just for expensive labs or large studios. Today you can pretty decent 3D scanning with your Android phone, taking advantage of your ToF (Time of Flight) camera or, failing that, the normal camera combined with photogrammetry and free software on your computer.

With a little patience, some skill with photos, and the right apps, you can Reconstruct statues, figures, people, or everyday objects in 3D without spending a fortune. In this tutorial, you'll see, step by step, how to take advantage of your Android device's ToF camera (and also a conventional camera) to create 3D models ready to edit, share, or print.

What is photogrammetry and how does your Android's ToF camera fit into it?

The foundation of almost all mobile scanning workflows is the photogrammetry or Structure From Motion (SfM)This method involves using many photos of the same object taken from different angles so that specialized software can calculate the camera's position in each image and reconstruct the 3D geometry from the pixels.

In practice, what the program does is search for repeated features among several imagesThe process involves deducing the location from which each photo was taken and, using that information, creating points in 3D space (a point cloud) which are then transformed into a mesh with faces and triangles. The more useful photos you have, and the better they are taken, the denser and more detailed the model will be.

The ToF camera on many Android phones adds an extra layer: It directly records depth information by measuring the time it takes for light to bounce back.Some apps combine this depth measurement with RGB images to improve scanning, especially at short distances and with small to medium-sized objects. Even so, pure photogrammetry (using only photos) remains key when you want to capture large objects such as statues, facades, or spaces.

Materials needed for 3D scanning with an Android device

To begin with, you don't need to set up a home laboratory. With just a few items, you can set one up. “Homemade 3D scanner” based on your Android mobile:

What is ToF in a mobile phone camera?
Related article:
What is ToF in a mobile phone camera?
  • An Android phone with a good cameraIdeally, you'd want at least a 12-megapixel camera. If your device has a Time-of-Flight (ToF) camera, even better, but it's not required. You could also use a DSLR camera if you're skilled in photography.
  • Homogeneous lightingHarsh light with sharp shadows makes things difficult for the software. Ideally, you want soft, even light, or a cloudy day if you're working outdoors.
  • A decent computerYou don't need a beast of a machine, but you do need something capable of running programs like Cura without constantly crashing. It's very useful for some photogrammetry software. have an NVIDIA GPU with CUDA supportbecause the calculation is greatly accelerated.
  • Free photogrammetry and mesh editing softwareThere are several free options to rebuild and clean your 3D model.

With this basic equipment you can scan everything from small figurines to large urban elements simply by organizing the photos and workflow well.

Free software to rebuild 3D models from your Android device

When it comes to processing photos taken with your mobile phone, you have several powerful free tools at your disposal. Each one has its own particularities, but they all allow you to... converting 2D images into a usable 3D model.

Main photogrammetry programs

  • Colmap (Win/Mac/Linux)It is one of the most robust open-source solutions for photogrammetry. It allows for automatic scene reconstruction from your photos, generates a dense point cloud, and can produce a base mesh. It is demanding on hardware and typically takes advantage of... NVIDIA cards using CUDA.
  • 3DF Zephyr Free (Windows)The free version has a limit of 50 photos, but it's very user-friendly for beginners. If you have fewer images—for example, of a small object scanned at close range using the ToF camera—it's usually sufficient.
  • VisualSFM (Win/Mac/Linux)This is a more established option, useful for SfM reconstructions, although its interface may seem somewhat outdated. Combined with Meshlab or Meshmixer, it can produce respectable models.

In all cases it is important to be clear that The calculation can take anywhere from a few minutes to several hours.This depends on the number of photos and the power of your computer. If your computer is struggling, consider reducing the image resolution or the total number of shots.

Programs for processing and cleaning the mesh

Once the model has been rebuilt, the next step is clean and prepare the mesh for actual useThis is where other free tools come into play:

  • mesh labPerfect for working with point clouds and dense meshes. It allows you to create a new mesh from a set of points, remove noise, fix problematic faces, reduce polygons, and export in multiple formats (PLY, OBJ, STL…).
  • meshmixer: very useful for post-processing models intended for 3D printingIt has tools such as "Plane Cut", "Make Solid", selection and deletion of areas, and even basic sculpting functions.
  • BlenderIf you want to go a step further, Blender is ideal for Refining the geometry with digital sculpting and improve all those roughnesses and artifacts typical of photogrammetry.

The typical combination is usually: you rebuild with Colmap or Zephyr, you clean and generate fine mesh with mesh lab, you finish with Meshmixer or Blender If you're looking for a perfect part to print or integrate into a 3D engine like Unity.

How to take good photos for 3D scanning with your Android mobile

The quality of the final model depends much more about the photos than the softwareNo matter how good your ToF camera is, if the RGB images are blurry, have reflections, or lack texture, follow these basic principles to increase the chances of a successful scan.

Camera settings and number of photos

With a modern Android phone, configure the camera in maximum resolution and disables unusual automatic modes (beauty filters, aggressive HDR, etc.) that may alter the colors or contrast between shots.

If you're using a DSLR, set an aperture around f/7-f/8 for good depth of field and avoid out-of-focus areas. In any case, take lots of photos: for small objects you can stay in 20-50 imagesBut for large or highly detailed pieces, it's best to go up to 50-80 photos or even 100.

Movement around the object

The golden rule is Do not move the object during the processWhat moves is you (and your mobile device), describing circles around the model. Imagine that the object is in the center of a circle and you walk around it maintaining a relatively constant distance.

In each position, make sure that the object fills a good part of the frame Make sure the camera is as perpendicular as possible to the main surface you want to capture. Once you've completed a circle at a certain height, raise or lower the camera slightly and repeat the process to ensure you're covering the top and bottom areas.

Photo overlay and environment control

The software needs that each area of ​​the object appears in several consecutive photosAs a reference, it aims for a 60-80% overlap between one image and the next. This helps the algorithm detect common points and accurately calculate the geometry.

Try to make the environment as stable as possible: Avoid walking people, passing cars, or moving branches In the foreground. If you're scanning on the street, it might be a good idea to go during off-peak hours (for example, around lunchtime or early in the morning).

Lighting and surface types

Light is key. Whenever possible, It works with soft, diffused lightingCloudy days are perfect for the outdoors. If the sun is strong, harsh shadows can trick the algorithm and distort the model, so look for shady areas or wait for another time.

Ideal surfaces are matte, textured and glare-freesuch as stone, concrete, rough wood, or detailed sculptures. If the object is very shiny or metallic, things get complicated: the reflections change depending on the angle, and the photogrammetry goes haywire.

A very practical trick is Kill the shine with matte sprays, flour or masking tapeFor example, on glass or lacquered surfaces, you can partially cover them with tape to create texture and eliminate specular reflections, greatly improving the reconstruction.

Common mistakes to avoid

There are several common pitfalls to avoid if you want your 3D scan with Android to be usable:

  • Make a video and extract framesIt may work in an emergency, but the quality is usually worse: more motion blur and less sharpness than in individual photos.
  • Do not review the imagesIf there are blurry, noisy, or overexposed photos, delete them before processing. A few bad images can ruin the reconstruction.
  • Place the object far awayIf the object occupies only a small part of the photo, the software has very little information. Get as close as you can without losing the full frame, or take close-up shots.

As long as you respect these basic points, your Android phone—with or without ToF—will be able to generate enough data for the software to build a convincing 3D model.

3D printing
Related article:
3D Printing from Your Mobile: Android Apps You Should Know About

From mobile to computer: organizing photos for your 3D scan

3D scan

Once you've taken all the photos with your phone, it's time to transfer them to your computer. The easiest way is... copy them to a dedicated folder for each projectFor example, “Scanning_Statue_Plaza”. Inside, create a subfolder called “Photos” and save all the images there.

Don't get hung up on file names if they come from different devices; photogrammetry programs The photos do not need to follow a specific numbering order.What is advisable is to visually review the folder to remove blurry or excessively repeated shots.

Reconstructing the 3D model with Colmap or other free software

Let's look at a typical workflow with Colmap in Windowswhich will serve as a reference even if you choose other programs (the general logic is very similar).

Basic configuration in Colmap

  1. Open Colmap (for example, with the Colmap.bat file).
  2. In the top menu, enter “Reconstruction – Automatic reconstruction”.
  3. Select one Workspace folderwhich is where Colmap will store intermediate results and the final grid (it can be a sister folder to “Photos”).
  4. Indicates the image folder which contains the photos taken with your Android.
  5. Leave the “Vocabulary tree” field empty, unless you want to download one from the official page to speed up image matching.
  6. If the photos are from a video, change the data type to “Video frames”; otherwise, leave it as “Individual images”.
  7. Adjust the quality to “Medium” to improve stabilityOn many devices, the "High" option increases crashes without providing significant improvements, except for very complex scenes.
  8. Keep the rest of the options at their default settings and press "Run".

Depending on the number of photos and the power of your PC, the process can take anywhere from 5 minutes to "leave it overnight". When finished, you'll see a 3D view with the reconstructed scene and the cameras positioned around the object.

Understanding Colmap Output Files

Within the working folder, Colmap will generate several subfolders. The most relevant ones are usually located in something like “workspace/dense/0/”. There you will find, among others, two key files:

  • fused.ply: contains the reconstructed dense point cloudIt's not a mesh yet, but a set of 3D points. It usually provides the highest quality base for creating a clean mesh in Meshlab.
  • meshed.plyThis is a triangulated mesh automatically generated by Colmap. It can serve as a quick starting point if you don't want to complicate things, although It's not usually the most refined option. and it will almost always need touch-ups.

Keep in mind that the meshes are from photogrammetry They don't come ready to print.They often have holes, strange faces, floating areas, and an arbitrary scale that you'll have to adjust in the slicing or editing software.

Mesh creation and cleaning in Meshlab

If you want to get the most out of your data, the best thing to do is starting from the point cloud “fused.ply” and create your own well-controlled mesh.

Import and clean the point cloud

  1. Opens mesh lab and go to “File – Import Mesh” to load the fused.ply file.
  2. You will see a cloud of points floating in 3D space. The first step is Remove everything that does not belong to the main object (floor, walls, trees, pieces of people who passed by...).
  3. Use the tool “Select Vertices” in the top bar. Hold down the left button to draw a rectangular selection around the points you want to delete.
  4. Push the button “Delete Vertices” to remove the selected points.
  5. Repeat the process until only the points that form the object you are interested in scanning remain.

This preliminary filtering is essential because If you leave too much "trash" around, the final mesh will come out full of artifacts. and it will be more difficult to fix later.

Reconstruct the surface with Poisson

Once you have the clean point cloud, it's time to convert it into a mesh:

  1. Open the menu “Filters – Remeshing, Simplification and Reconstruction – Screened Poisson Surface Reconstruction”.
  2. Adjust the parameter “Reconstruction depth”Values ​​between 13 and 15 usually offer a good balance between detail and calculation time.
  3. Leave the rest of the options at their default settings at the beginning, unless you want to experiment with advanced configurations.
  4. Balance "Apply" and wait for Meshlab to generate the mesh.

It is common for the edges of the mesh to appear with odd shapes or curled areasTo clean them up, use the face selection tools (“Select in triangular region”) and then “Delete faces” until only the volume you are interested in remains.

Smoothing, polygon reduction, and export

To further improve the result, you can apply some additional filters:

  • En “Filters – Smoothing, Fairing and Deformation – Laplacian Smooth” You can smooth the surface. Increase "Smoothing steps" to values ​​between 8 and 15, making sure you don't lose too much detail.
  • If the model has an excessive number of faces and moves slowly, go to “Filters – Smoothing, Fairing and Deformation – Quadric Edge Collapse Decimation” and sets a reasonable target number of polygons. More than a million faces is usually unnecessary For most uses; good visual results are already obtained with 100.000.
  • To eliminate huge faces that are usually reconstruction errors, try “Filters – Selection – Select Faces with edges longer than…”Activate the preview, adjust the threshold, and delete the selected faces if they are clearly incorrect.

When you're satisfied, go to “File – Export Mesh” and choose the format that suits you: PLY, OBJ or 3DS if you want maintain color and texture for use in 3D visualizationand STL if your main destination is going to be 3D printing.

Mesh post-processing: Meshmixer, Blender and 3D printing

When you import your STL (or similar) model into a mesh editing program like Meshmixer, you'll see that normally It is not only the desired object that appearsbut also parts of the environment that were included in the reconstruction.

Basic cleaning in Meshmixer

In Meshmixer you can do very quick basic post-processing:

  • Usa selection and deletion tools to remove fragments of ground, walls, trees, or any foreign object surrounding your main model.
  • Use the function “Plane Cut” to make straight and clean cuts at the base or on parts you want to remove precisely.
  • If the model is hollow underneath or has holes, resort to “Make Solid” to generate a solid volume ready for printing.
  • Finish off the details with the sculpting tool to smooth out small imperfections or fill in problem areas.

If you prefer to work in Blender, you can import the file and Use sculpting tools to enhance edges, sand surfaces, and restore lost shapes.It is especially useful when photogrammetry has left rough or noisy surfaces.

Preparation for 3D printing

Once you have a clean and solid model, you can export it as an STL file and open it in your favorite slicer, for example. Ultimaker CureThere you can:

  • Adjust scale and orientation of the model.
  • Choose parameters infill, layer height, and supports.
  • Generate the file G-CODE to send it to your 3D printer.

Keep in mind the scale of the photogrammetric model It's not real by default.If you need a specific measurement, you will have to compare it to a reference (for example, the actual height of the statue) and scale the model by hand in the slicing software.

Using 3D scanning apps on Android: when it makes sense

Beyond the classic photogrammetric workflow, on Android you have quite a few 3D scanner applications that take advantage of the camera and, in some cases, the ToF sensorThey are very comfortable, but they also have significant limitations.

Advantages of 3D scanning with mobile apps

Among the strengths of these apps are:

  • Low cost of entryYou already have the phone, so all you need to do is install the app. There's no need to invest in high-end 3D scanners.
  • Absolute portabilityYou can take the "scanner" anywhere. Perfect for capturing outdoor scenes or architectural details without carrying extra hardware.
  • Ease of useMany applications are designed for users with no technical experience. The interface guides you step by step, and in just a few minutes you'll see an approximate model.

If your priority is immediacy rather than pinpoint accuracy, a good 3D scanning app on Android can get you out of more than one tight spot.

Common limitations and drawbacks

On the downside, almost all mobile solutions share some disadvantages:

  • Lower precision and resolution than a dedicated scanner or a well-configured desktop photogrammetry workflow.
  • limited scopeMany apps are designed for small or medium-sized objects. Scanning a large statue, a building facade, or an entire room can be problematic.
  • Extreme sensitivity to lightThe same harsh shadows, reflections, and lighting changes that affect photogrammetry are even more noticeable in "real-time" scans with mobile phones.
  • Usage restrictionsSome apps impose size limits or require payment for each export to formats such as STL or OBJ.

Therefore, although 3D scanning with a mobile phone is a very practical tool, It's not always the best option if you need metrological results or super-fine detail.

Examples of objects and practical tricks according to the material

Not all objects behave the same way in front of your Android camera. Some are particularly forgiving, while others require additional tricks.

Statues and sculptures

Statues, especially if they are made of stone or other rough materials, are perfect candidates for mobile photogrammetryThey usually have a lot of texture, smooth curves, and details that the software easily recognizes.

2D vs. 3D Face Unlock on Android Smartphones-1
Related article:
2D vs. 3D Face Unlock on Android: Differences, Security, and Future

However, they are usually outdoors, so you have to Watch the shadows, the people passing by, and the carsTry to wait until there is no one directly in the frame and look for times of day when the light is soft.

3D printed figures and painted models

Scanning a 3D print might seem redundant if you already have the original STL file, but it makes sense when The figure is hand-painted, and you want to capture the texture as well.Comparing the reconstructed model with the original file is also a good way to evaluate the quality of your workflow.

The geometry will not be identical and fine details will be lost, but With a couple of tweaks in Blender or Meshmixer, the result can be quite respectable.especially for displaying the painting or using it in visualizations.

Glossy surfaces: blades, polished metal, lacquered plastic

Objects such as a ping pong paddle, chrome-plated parts, or lacquered plastics present a problem: Their smooth, shiny surfaces show almost no fixed textureAs you move around, the reflected light changes, so the software cannot find stable points.

To fix it, you can Add artificial texture with painter's tape, matte sprays, or fine powdersFor example, by sticking several strips of tape onto the smooth surface you create matte areas that photogrammetry can track, avoiding serious deformations in the mesh.

Glass and transparent surfaces

Glass and other transparent materials are even more complicated. Photogrammetry software tends to ignore soft transparent areas and only recognize edgesso the final result often has significant gaps.

Again, the solution lies in to temporarily make the surface opaque: cover the glass with masking tape, apply water-soluble paint with a spray, or sprinkle on some material that will not damage the object and can be cleaned afterwards.

With these precautions and by adapting the technique to each type of object, your Android phone, its ToF camera, and the appropriate software can become a very serious tool for affordable 3D digitization, capable of rivaling cheap scanners in many cases and allowing you to take home models of almost anything you see on the street. Share the guide and more people will know how to do it.