3-D IMAGE PROCESSING

ALGORITHMS


WINDOWS SOFTWARE: (XP)

 

MAT5 VIEWER

PLEASE READ LICENSE AGREEMENT

GL3Dview will allow you to view, rotate, zoom and crop the mat5 data. Use load to select the “C.bmp” file and it will load the associated mat5. Use the “Left Mouse Button” to crop by selecting the “Select” button, click drag a box around what you want, then click the “Apply” button to crop.

GL3DView.exe

Tutorial GL3DView_GL3DViewerTutorial.avi


MAT5 EDITOR

Mat5sample allows you to rotate, crop, down sample and save a mat5 set in several formats.

mat5sample.exe


MAT5 MANUAL MERGER

Mat5controlpoints allows you to merge a sequence of images that overlap by defining a set of control points on the parent and child image. In manual mode you can select a single parent and set the control points for any number of children. This works well if you have a low resolution scan of an entire object and you want to merge close up high-resolution parts of it, there by avoiding the accumulated error. If manual mode is turned off the parent child indices are incremented such that the child is always 1 greater the parent until the last child which becomes the parent and the 0 index is the child.

This a beta version and of course it is not that user friendly so until we produce a user manual it will be difficult to use. Also, it requires that the name be specially indexed and it is better that you contact us for some sample sets to merge.

mat5controlpoints.exe


MAT5 SUPER IMAGE GENERATION

Mat5superimage allows augment a sequence of mat5 files together into a single mat5 or “super” mat5. This works quite well for merged mat5 files.

mat5superimage.exe


MAT5 TRIANGULATE

Mat5triangulate interpolates sparsely filled mat5 files.

mat5triangulate.exe


COLOR CALIBRATION GRID

Colorcalibrategrid generates color calibration grids that can be used for color correction. The color circles are incremented uniformly through the RGB space and surrounded by black rings for easy location.

colorcalibrationgrid.exe


COORDINATE CALIBRATION

Last updated 8-22-2008

Calibration formats the albedo of a calibration grid along with world coordinates and phase values. This is not user friendly so please ask us to upload the documentation.

calibrateA.exe

Calibration Tutorials: Calibration is the most difficult part of using the scanners. While it only needs to be done once, it is a complicated procedure. To help with this we have made some tutorial videos. We apologize for their quality but we think it is more important to make them available. This is particularly true for the videos of the software. The first group of tutorials is about the physical set up of the calibration grids and sensor. The second group gives instruction on how to operate the software. Some of these may be up to 200 megabytes in size.

Sensor and grid related tutorials:

CalibrationGridOverview2005.wmv

CalibrationRingFiducial.wmv

SensorAlignmentOverview.wmv

SensorAdjustment2005.wmv

Software specific tutorials:

TutorialCalibrateA_A_Overview.avi

TutorialCalibrateA_B_FileSetup.avi

TutorialCalibrateA_C_SetupParameters.avi

TutorialCalibrateA_D_WorldCoordinates.avi

TutorialCalibrateA_E_PartitionSetup.avi

TutorialCalibrateA_F_AutoDetectFeatures.avi

 


BETA VERSION OF USB SCANNER (Uses Canon PowerShot Series, G5, G6, Pro1 and SL70)

You will need to bug me to get this out here but I have one version in ready in an installation program and we have a more recent version in an Alpha state. I really want to get this out here because it has some documentation that will help you with things like operation and calibration of the system.


ALPHA VERSION OF CANON POWERSHOT DIGITAL CAMERA TETHER (Use with Canon digital Cameras)

To expedite getting a working tethered Canon Powershot camera software package, I am putting out this alpha version. As most of you know, it takes me forever to get the details done, such as an installation program.

1. You will need a directory for any patterns to be projected and also a directory for images to be stored. You will be asked to input these the first time you use the program.

2. You can download the zip file canon_capture.zip into the C:\2005cprog\canon_capture\ and extract the contents into the directory. You will see a folder called “CopythisfiletotheCrootdirectory”. Go into that folder and copy the file in it to C:\ where the program will look for it. The program you want to run is in C:\2005cprog\canon_capture\. It will put it’s data in C:\2005cprog\canon_capture\Image\ where you can access the jpeg images.

3. You will also need to install the drivers for your Canon Camera. You can get them from Canon or install the Beta Version of the Canon Scanner or contact me and I will personally step you through it. I don’t think Canon would allow me to post their DLLs.

4. Once this system is set up, you will only need to download the canon_capture.exe program in the future. If your system does not let you download exe files, you can trick the system but getting out of the web page and look at the files more directly by putting the following in your URL path:

http://128.163.147.208/lgh/2005cprog/canon_capture/

5. This program will project one pattern and capture. Our plan is to put out our composite pattern designs and processing software for 3-D single pattern capture but it is not ready yet. Also, you can use the flash instead of projecting a pattern.


2007 ALPHA VERSION OF USB SCANNER (Uses Logitech WebCams)

To expedite getting a working USB WEB camera scanner software package, I am putting out this alpha version. As most of you know, it takes me forever to get the details done, such as an installation program.

1. So instead, you want to manually make a couple subdirectories on your C drive. The directories are C:\2007cprog\USBScanner\ and C:\2007cprog\USBScannerData\

2. You can download the zip file USBScanner07.zip into the C:\2007cprog\USBScanner\ and extract the contents into the directory. You will see a folder called “CopythisfiletotheCdrive”. Go into that folder and copy the all the files in it to C:\ where the programs will look for them. The program you want to run is in the C:\2007cprog\USBScanner subdirectory. It will put its data in C:\2007cprog\USBScannerData\ where you can access the mat5. The calibration data is set up but probably not correct for your system so we can try two approaches (1) teach you how to calibrate your system and/or (2) we could take a few measurements of your systems and create the calibration files needed and put that file out on this website.

3. You will also need to install the drivers for your Logitech cameras prior to running the program. Turn off the auto features of the camera and B&W will probably work better than color. For the version I have this takes several tries. Set the gamma in the middle for gamma=1 and use the brightness the same as you would use an aperture in a lens to set the brightness of the camera to be just below saturation.

4. Once this system is set up, you only need to download the USBScanner07.exe program in the future. If your system does not let you download exe files, you can trick the system but getting out of the web page and look at the files more directly by putting the following in your URL path:

http://128.163.147.208/lgh/2007cprog/USBScanner/

5. Recheck this site now and then and feel free to bug me to move stuff out. I plan on moving out a picture of the scanner, some sample scans and images of dialog boxes so you can check your setup.

 

SAMPLE DIALOG VALUES

Settings Screen

Main Screen


MAPPING LOW RESOLUTION DEPTH SCANS TO HIGH RESOLUTION TEXTURE IMAGES (LOW TO HIGH RES AUTO SKINNING)

The idea is here is to get a mat5 data set from a scanner and then immediately take a high resolution texture image using a digital camera. The program leastsquaretriangle.exe can be used to interpolate the low resolution depth scan to the high resolution mat5 with the high resolution texture image as the C.bmp file. The key to doing this is to lock down the scanner camera and projector as well as the high resolution digital camera to the same reference frame or structure. The digital camera can be manually trigger and the jpg image can be downloaded offline manually. Once the components are locked down, a calibration grid is scanned by the scanner and captured by the digital camera. The program calibrate.exe is designed to first process the calibration grid for depth and then put in texture mode to calibrate the digital camera. Once this is done, the system can be used to capture objects and as long as they remain locked to the same structure and no zoom or magnification values are changed, the sytem does not have to be recalibrated. The program for mapping is leastsquaretriangle.exe. http://www.joeledelstein.com, was able to perform this with the USBScanner software and his own digital camera and his results can be downloaded from the link below.

  1. Documentation and program for calibrate.exe.
  2. Documentation and program for leastsquaretriangle.exe
  3. Joel Edelstein’s mat5 results. 
  4. Here is the texture image that we mapped the depth to.

PULNIX CAMERA LINK SCANNER

Sample B&W MAT5 Scans


 

 

MATLAB SOFTWARE:

This function generates F patterns of gray code for an My x Nx projector pattern. The patterns vary in the vertical direction and are store in files.

Graycode.m

The following code creates a volume matrix of the graycode patterns and then encodes into a Composite Pattern. The main program is CPgraycode.m which calls graycodevol.m function.


 

WINDOWS SOFTWARE: (W95, W98)

Acquisition of calibration data. Allows projection points from SLM to be aligned to a physical grid, then manual or automatic acquisition of camera coordinates for each point on the grid. A world coordinate can be manually inputted for each projector and camera point. Provides mean and standard deviation for each point given multiple entries. Requires a Data Translation DT55-LC frame grabber. If an NT version is needed or a different frame grabber (we need the DLLs) we can probably provide it upon request. slpcalibrate.exe

View SLAMP and BMP Files. Capture Images from a DT55-LC Data Translation frame grabber. Project, capture and reconstruct 3-D range images using video projector and DT55-LC frame grabber with a variety of structured light methods. If an NT version is needed we can probably provide it upon request. slpimage.exe


 

OLD SOFTWARE

2006 ALPHA VERSION OF USB SCANNER (Uses Logitech WebCams)

To expedite getting a working USB WEB camera scanner software package, I am putting out this alpha version. As most of you know, it takes me forever to get the details done, such as an installation program.

1. So instead, you want to manually make a couple subdirectories on your C drive. The directorories are C:\2006cprog\USBScanner\ and C:\2006cprog\USBScannerData\

2. You can download the zip file USBScanner.zip into the C:\2006cprog\USBScanner\ and extract the contents into the directory. You will see a folder called “CopythisfiletotheCdrive”. Go into that folder and copy the all the files in it to C:\ where the programs will look for them. The program you want to run is in the C:\2006cprog\USBScanner subdirectory. It will put its data in C:\2006cprog\USBScannerData\ where you can access the mat5. The calibration data is set up but probably not correct for your system so we can try two approaches (1) teach you how to calibrate your system and/or (2) we could take a few measurements of your systems and create the calibration files needed and put that file out on this website.

3. You will also need to install the drivers for your Logitech cameras prior to running the program. Turn off the auto features of the camera and B&W will probably work better than color. For the version I have this takes several tries. Set the gamma in the middle for gamma=1 and use the brightness the same as you would use an aperture in a lens to set the brightness of the camera to be just below saturation.

4. Once this system is set up, you only need to download the USBScanner.exe program in the future. If your system does not let you download exe files, you can trick the system but getting out of the web page and look at the files more directly by putting the following in your URL path:

http://128.163.147.208/lgh/2006cprog/USBScanner/

5. Recheck this site now and then and feel free to bug me to move stuff out. I plan on moving out a picture of the scanner, some sample scans and images of dialog boxes so you can check your setup.