cydi
cydi

Reputation: 67

C# 3D Image Processing

If we're to capture an image of a body using four (4) WebCam with a 16 megapixel ( 1 in then front, 1 in the back and 2 sides(left and right)). Is it possible to make a 3D out of it using image processing?

Upvotes: 0

Views: 1313

Answers (2)

hiroki
hiroki

Reputation: 401

No, you wouldn't be able to construct 3d data out of the camera configurations with viewing angles separated by 90 degrees. The acquired images won't have overlapped regions so no corresponding points are available. It would make sense if you have two cameras (stereo pair) for each front/back/sides. Or, if you can rotate the object in the center, you can have just one stereo pair and integrate all the 3D data in one global space.

Upvotes: 1

Spektre
Spektre

Reputation: 51903

yes you can obtain the 3D data just google 3D reconstruction using stereoscopy.

  1. You need to know some properties of your cameras

    like position and orientation in 3D space, FOV view angles. To obtain these you need to calibrate the cameras. Usually some markers are added to the view to make this process more easy/precise.

  2. Create list of all significant points (SIFT/SURF)

  3. Match them between images (RANSAC)
  4. Triangulate found matched pairs/triplets/quadlets to get their 3D coordinates

    The pixel position inside image and camera position/orientation/FOV gives you ray start point and direction of the light beam from your 3D point. So if you got at least 2 rays for the same point their intersection will get you the 3D coordinates. Do not forget to transform all the rays to common coordinate system before computing the intersection.

    img

Upvotes: 0

Related Questions