First a calibration object is photographed from two different views using a turntable. Afterwards the scan object will be photographed by different point of views. These photos will be segmented and used to create the 3d object using a modified Marching Cubes algorithm. The number of triangles can be reduced and the object can be textured.
Due to the applied methods only the convex hull of the object will be reconstructed. Transparent, reflecting or similar to the background colored objects have to be segmented manually.
Hardware requirements
Lighting the scene
Make sure to use a uniform background with a color that doesn't occur in the object itself.
Try to light the scene so that no shadows are visible from the camera.
Scanning
A typical scanning session:
- set up lighting, switch on turntable power and place the camera and the calibration object
- create a new project with File - New...
- select Scan - Calibrate cam
- wait until both images of the calibration object are taken, remove calibration object and place object to be scanned
- select Scan - Get images...
- select Scan - Segment images
- select File - Save to save the project file
- select Scan - Generate 3D Model
- select Scan - Texture
- select File - Export Model to VRML... or File - Export Model to OBJ...
- switch off power of turntable
Merging Projects
Generate the 3D modell of your current project. You can merge this project with another one (the same object but photographed from another angle) with File - Merge with project.
The 3D modell of the second project will be generated and shown as wireframe. Rotate and translate it to match the original one and press enter to apply or esc to cancel.
Hints & Trouble Shooting
- Many times I put the object to close so that it was cropped when turning the turntable - so let some extra space when setting up the camera
- There are several calibration object sizes available. You'll get best results using the size most close to the object size.
- Beware that increasing the resolution means increasing it in every of the three dimensions - doubling the resolution results in about eight times more calculation time and about four times more vertices and triangles!
- You can turn the object manually (set entry in 3DScanner.ini to 0). Beware that the quality of the 3d model depends strongly on the accuracity of the rotation angle.
- Calibration doesn't work? Try to save the image of the calibration object, lighten dark areas except the black dots and take this as calibration photo (choose Configure - Camera - Aquisition Method - File)
- The size of the scanning volume is a rough estimation. To speed up subsequent scans or if your object is clipped, choose Scan - Fit Volume To Last Scan
- You may decrease the photo image size after the calibration for saving memory, but you have to decrease manually the following values in the camera definition in the project file by the same factor: w, h, cx, cy, f
- For better segmentation results you may manually adapt the threshold values (sorry, no user interface for that): enable debugOutput, run the segmentation and open the file "segtest before threshold.bmp" with some imaging program. Try to find two gray values that you modify in the 3dscanner.ini: below INI_SEGLOWTHRESHOLD every pixel belongs to the background (default: 20); above INI_SEGHIGHTHRESHOLD every pixel belongs to the object (default: 60)