3d scanning using structured light

Hello, I am trying to develop a 3d scanner using a light stripe projector, a camera and a turntable but I am having difficulties and I was wondering if anyone could help me. The proccess that I am following is:

  1. Calibrate camera, using the center of my turntable as the world origin
  2. Find the center of the light stripe for each scanline in image coordinates
  3. Find the 3D location of each stipe point (in camera coordinates) using the equations: xc = (tan(a) * b * x) / (f + tan(a) * x) yc = (tan(a) * b * y) / (f + tan(a) * x) xc = (tan(a) * b * f) / (f + tan(a) * x) where b , the distance between the projector and the camera ;
  4. Convert the camera coordinates into world coordinates using the calibration info
  5. For each position of the turntable , rotate the acquired coordinates about the y axis:

xw' = zw * Sin(rotation) + xw * Cos(rotation) yw' = yw zw' = zw * Cos(rotation) - xw * Sin(rotation)

Is there something wrong with the steps I am following ? If not, I assume that the error is the conversion of camera to world coordinates.Can anyone help me with that?

Thanks

Reply to
George Vakras
Loading thread data ...

George Vakras avait écrit le 22/08/2004 :

Hi :-) i've made it :-)

formatting link
've a V2.5) Contact me on msn: sebastien_tricoireAThotmail.com

Reply to
3dsman
3dsman wrote ;

Thank you Sebeastian. I've been looking for something like this for a while. I've seen other software, but since they used UNIX or other systems I was unfamiliar with, I was unable to use them. Commercial software for this is much to high priced for me. Complete scanner systems are outrageously expensive for the low cost of the hardware to make the system.

I've viewed your French web page using Altavista's translation engine, and I think I understand what is there. I see that the description of the equipment is on the download page. If you make that page viewable on your web page, it would be possible to translate that as well.

I think an alternative to using a 35mm slide is to print onto a letter-size transparency and then use an overhead projector to project the lines. A more complex system would be to purchase a number of cheap laster pointers, and place cylindrical lenses (from glass stir-rods) on them to convert them into line generators. Finally mount those laser pointers in a row, so they are all aiming the same direction.

If you feel up to the programming task, it could be expanded to include other scanning set-ups that make the scanning easier. I've seen systems that uses a record player turntable to spin an object, and a single laser pointer as a line generator. A cheap USB camera to make a move of the object as it rotates. If the number degrees that the object spins per image is known, the software can reconstruct the lines in 3d. One advantage of this system is that there is only one line per image. With the bright red line from the laser, it becomes possible to automatically find the line.

I feel you are very justified to start charging for your program, especially if you were to add any ability to automatically find the scan lines.

Joe Dunfee

Reply to
Smiley

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.