Skip to content

LG95/Space-carving

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Each source file is a complete program. To run any of them, use 'python '. The PIL, visual and pyopengl libraries are required to run different sources.

This code was developed on Ubuntu 14.04.4 LTS and its default python verion (2.7.x) is the most compatible. Only render.py is not compatible with Pypy 4.0.1, which was used during development.

The programs were designed to cooperate with each on a Linux shell, by piping information from one to another. carve.py implements the space carving and returns the points corresponding to the object(s) found on the standard output, with a blank line separating different frams. It assumes the scene was recorded with 8 cameras, requiring the P matrix for each in a subfolder called calibration and names CameraI for I in [1, 8]. It then requires the silhouettes in a subfolder silhouettes each named SilhouetteI_J for I in [1, 8] and J a four digit number padded with zeros, with as each J corresponding to a single frame in the animation. A single commandline argument is required and indicates the distance between two points while carving, with lower numbers resulting in reconstructions of higer resolution. render.py reads points in the format generated by carve.py from the standard input and uses opengl to present the 3D scene animated. A single commandline argument is required and indicates the distance between two points, which is the diameters of the spheres. Lower numbers result in reconstructions of higer resolution. split.py takes the output from carve.py and places each frame into a sinle text file in a subfolder named frames.

About

An implementation of animation of a 3D scence reconstructed using space carving for Computer Graphics class.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages