Git Product home page Git Product logo

priyansh-15 / 3-d-image-build-from-multiple-images Goto Github PK

View Code? Open in Web Editor NEW
11.0 2.0 3.0 202 KB

This Project Initially takes 3 Image Views as Input ( Front View , Side View , Top View ) and generates a 3D model corresponding to it .

Home Page: https://priyansh15.medium.com/how-do-google-maps-actually-build-a-3d-environment-street-view-algorithm-explanation-1b64b7904c53

Python 100.00%
3d-models 3d-reconstruction opencv-python python3 scad 3d-environment google-maps opencv parent-child rotation

3-d-image-build-from-multiple-images's Introduction

Project Name : 3-D-Image-Build-from-Multiple-Images

Made By - Priyansh Sharma

You can find a detailed explanation of real life implementation of this project here in my Blog : https://priyansh15.medium.com/how-do-google-maps-actually-build-a-3d-environment-street-view-algorithm-explanation-1b64b7904c53

Project Demo Implementation Video :

3D.Image.Build.Demonstration.mp4

3D reconstruction from multiple images is the creation of three-dimensional models from a set of images. This Project Initially takes 3 Image Views as Input { Front View , Side View , Top View } and generates a 3D model corresponding to it .

The process include :

Contour detection :

A shape will have 2 contours created from the thickness of the figure, one of which envelopes it from the outer side and other from inside.

Point location :

Given any point, it is necessary to determine with the point lies inside or outside a particular contour.

This function return

  • +1 if point is outside contour,
  • -1 if point is inside and
  • 0 if point is on the contour

Shape Detection of 2D image :

This step involves the recognition of 2D shapes that need to be converted into 3D solids using suitable algorithms.

We will be using 6 shapes namely circle, triangle, square, rectangle, pentagon and hexagon as these are the basic building block of any 3D object.

So for example if given a solid 3D Cylinder and corresponding its Front , Side and top View Images .

image

The 'Dimensioning Function' will give the Information regarding each View Image like 'Shape' and 'Ratio'.

Then 'Convert Function' is used to generate SCAD File and its Corresponding Point Cloud Representation .

If The given 3D model is a combination of Complex shapes then A binary tree is created for each parent-child. Here, each shape node class object is a node in the binary tree, and each shape node is a child node of an empty node class object. The empty node class only holds the string of scad syntax, including the operation between the two children.

And depending on the properties of the shape detected we apply rotation and translation concept .

Translation

Rotation

Hence for Complex Shapes

Input :

Output :

References and Credits :

BOOK :

Automated 3D solid reconstruction from 2D CAD using OpenCV [Ajay B. Harisha, Abhishek R Prasadb]

GitHub :

Automated CAD model generator : https://github.com/bhajay/ACADGen

3-d-image-build-from-multiple-images's People

Contributors

priyansh-15 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

3-d-image-build-from-multiple-images's Issues

image not found

I am getting this error while running "d1 = Dimensioning(userId,"front",front_image)"

No module named 'rotate_translate'

File "/home/mike/3-D-Image-Build-from-Multiple-Images/3D_Build.py", line 17, in
from rotate_translate import node
ModuleNotFoundError:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.