What Do You Need for Real-time 3D Scanning:
- One Camera:
Any kind of camera could be used for capturing. There is no need to worry about fps of the camera.
- One Project:
Any kind of projector could be used for projecting the fringe patterns. Because both camera and projector is perfectly synchronized in coding, so whatever the speed of both devices is, there will not be any effect on scanning.
- Dark Background:
It will be better if the object has a dark background. Place something in dark black color behind the object.
- Do generate sinusoidal patterns first. For this, go to Menu => 3D Scanning => Sinusoidal Fringe Pattern Generation.
- Select phase-shifting method, it could be 3-step, 4-step or 5-step.
- Pattern width and height should be large enough in order to cover the object dimensions.
- Put the pitch value and press “Apply”. If you want to see generated pattern, press “Display Pattern”, otherwise press “Save Patterns” and select the path where you want to save the patterns.
Note: Pattern names must be in incremental order, for example, 0.jpg, 1.jpg, 2.jpg, …
- Now run the 3D Scanning Module:
- Press “Enable RTS” (Real-time Scanning).
- Select “Without Ref” method. There will be no need of the reference plane with this method.
- Press “Open Camera”. Camera Module will be opened.
- Select “CAM Argument” number. It is important because if you have two cameras attached to the computer, then which camera you want to use for the real-time scanning. Select 0, then 1, 2 and so on…
- Put ROI (Region of Interest) width and height. It will be scanning resolution of the model. If you are working on a slow computer, then put small dimensions, for example Width=400 and Height=400. It will depend on your choice and computer performance of course.
- ROI-X and ROI-Y will be starting pixel of the new resolution. If we don’t want to capture some part of the screen, then we can adjust scanning screen with these parameters.
- We can test both resolutions by switching Gray or Color mode. We can also save images and record videos, as well.
- Now press “Initialize Camera” button. We will see a gray color window with the selected resolution.
- Press “Open Patterns” button from the 3D Scanning module window.
- Press “Run Patterns” button and select the generated fringe patterns. Patterns with phase-shifting can be seen after that.
- We can select small value of delay between patterns. It will increase the scanning speed. The camera should be fast enough if we want to speed up the patterns delay.
- Press “Start Point Cloud Rendering” button from the left side section of 3D Scanning module.
- If vertical fringe patterns are used then press “Yes”, otherwise “No”.
- Just after pressing Yes, the scanned point cloud on the display window can be seen.
- Adjust the “Skew” and “Scale” factors until the model looks similar to the original object.
- We can adjust “Render”, if we feel too much dense point cloud.
- If there is some part missing in the scanned model, we can check and analyze the unwrapped phase map of the scanned model. Then the value of the “Range” parameter can be adjusted. Increasing the “Range” value, ignoring the background and Vice Versa.
- We can stop patterns, camera, and rendering anytime, and all processes can be ran again at any time during the real-time scanning.
- When done, export the scanned Point Cloud or Triangular model to the disk.
- Close everything, and import the scanned model from File => Import => Triangular Mesh => Open
- Smoothing filters, subdivision, and texturing can be applied on to the model in post processing.
- Play with “Mesh Smoothing” algorithms and finalize the scanned 3D model.
If I couldn’t write this tutorial briefly, then I would suggest you to go to Videos and watch this video (Realtime 3D Reconstruction).
If you have any questions, please don’t hesitate to contact me.