Click here to Skip to main content
15,886,873 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
What I want to do is create a 3D object from multiple 2D images. I have 300 images of a single diamond. All those images are taken from different sides of the diamond. I want to combine all those images to create a 3D object. I want to create this 3D object inside C++. This is the link to my diamond images zip file: https://we.tl/t-IvroqOEopF.

What I have tried:

What I have done is that I first process all the images and detect the diamond and then make a yellow border around it and calculate the points of that border to become a 3D object but the 3D object does not become.
Posted
Updated 8-Sep-23 11:00am
v2

You need to continue with your process. What you have to do is associate each image with an angle and process the image as you did. That will determine the right and left side points at a given angle. If the image was looking at the zero angle then left side would be points at -90 degrees and the right side would be the points at 90 degrees. This gives a shape profile at those two angles. More images will give more angles of points. An image at 20 degrees will give points at 110 and -70 degrees, and so on. You can think of these as essentially cylindrical coordinates that can later be transformed into cartesian coordinates.

Does this make sense?
 
Share this answer
 
An algorithm that solves this problem is Marching cubes:

Marching cubes - Wikipedia[^]
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900