Convert 2D image to 3D solid with texture (Python)
$100-400 USD
Bezahlt bei Lieferung
Hello Python 3D modeling/visualization experts!
I'd like you to write Python code to convert 2D pictures into 3D printabale STL and VRML(or X3D) files, by interpreting grayscale color value of pixel as height. My preferred 3D library is VTK with Python binding.
Required functionality
----------------------------
1. Read 2D image (PNG, JPEG, GIF, etc as long as PIL or matplotlib's imread support)
2. Convert image to grayscale
3. Create 3D surface mesh by interpreting grayscale color value of each pixcel in 2D image as z axis height (warp height map?)
4a. Create flat bottom surface at certain z (specified by elevation argument)
4b. Create 3D bottom surface beneath (specified by thickness argument) the top surface created in step 3 by projecting all the vertices downwards along normal vectors (Note: it's not a simple offset in z direction)
5. Connect the two surfaces to make water tight solid for 3D printing
6. Cut out solid where z is less than certain value (specified by z_mask argument) i.e. take CSG intersection
7. Export the resulting solid as STL file
8. Map colored 2D image as texture onto the top 3D surface (image read in step 1 or another texture image)
9. Setup lighting(s), camera, etc and take a screenshot of rendering
10. Export it as VRML2.0 (or X3D) file and package it up for 3D color print at Shapeways
For step 4&5, please refer to:
[url removed, login to view]
[url removed, login to view]
[url removed, login to view]
Basically I'd like you to replicate above surf2solid Matlab code for Python. Hopefully majority of functionality needed are readily available in existing Python libraries (VTK, Matplotlib, FreeCAD, etc).
For step 10, please refer to the guidance by Shapeways:
[url removed, login to view]
Other requirements
------------------
* Implement as an importable module with 'if __name__ == "__main__":' to take command line arguments for testing (no need for GUI)
* Take "resolution" argument with default 0.1 mm/pixel
* Use Python logging facility to output debug messages
* Add reasonable amount of comments in code so that I can maintain it later
* Try to follow PEP8 Style Guide for Python Code
* Frequent communication; One line status update once in two days; describing which part you are working on
* All the outcome of the project belong to the project owner
Sharing code by git would be nice. Private repo on GitHub or Bitbucket would be excellent.
Target environment
------------------
Windows 7 32bit and linux (Ubuntu 13.10 64bit on Pythonanywhere)
Python 2.7
Preferred libraries (use as needed)
----------------------------------
VTK 5.8.0
numpy 1.8.1
scipy 0.14.0
matplotlib 1.3.1
PIL 1.1.7
scikits-image 0.7.1
FreeCAD 0.14
You could use any other Python libraries as long as they are listed here (for Ptyhon2.7)
[url removed, login to view]
Please consult in advance if you'd like to use other Python libraries which is not listed in above list or if you'd like to use non-Python tools. All libraries/tools must be BSD-like license (i.e. ok for commercial use) and must be CLI (i.e. No GUI)
What I provide as the project owner
* Requirement (this document)
* Example files (attached)
* Feedback as the project progress
* Reward as agreed at the start of project
What you provide as a developer
* Technical advice on requirements
* Source code
Project time frame and milestone
I’d expect the project to be completed in about two weeks.
1st milestone: Requirements agreed and identified libraries to use (1/4 of reward)
2nd milestone: 1st version (proof of concept) submitted (1/4 of reward)
3rd milestone: 2nd version (functional) submitted (1/4 of reward)
4th milestone: Final version submitted and project completed (1/4 of reward)
Projekt-ID: #6472241
Über das Projekt
Vergeben an:
Good evening, I've been studying your project and I see that you are an excellent planner. This makes our collaboration easier. I am very interested in 3D modeling and visualization. I have worked for over 7 years Mehr
10 Freelancer bieten im Durchschnitt $3263 für diesen Job
First of all, thank you for your invitation. I'm aware I'm above your stipulated budget, but hopefully we can negotiate something. I've done lots of computer graphics (my master's degree was on computer graphics) an Mehr
Hi, We have gone through your requirement and we understand that you are looking for highly skilled, qualified, and experience Development team for your project. As our teams have work on several similar projects Mehr
Hi I have 10 years experience in image processing with openCV and VTK., DirectX Looking forward your project. skype: talk2gunav Thanks Guna
Dear Very interesting job for me. I have been worked for python cuda-convnet for 3 months this year which could be found in code.google.com. It is a image recognition system which implements convolution network and Mehr
i will do it thanks...................................................................................................................................