问题
Input: 53490 3D points and for each point (xyz) and color (rgb) of a head
Output: 2D face image as viewed from a particular position / direction
Platform: Matlab C/C++
After study, I found the steps to be implemented
- Perspective Projection http://en.wikipedia.org/wiki/3D_projection
- Z-buffering http://en.wikipedia.org/wiki/Z-buffering
- Phong reflection model http://en.wikipedia.org/wiki/Phong_reflection_model
I implemented the above 3 steps in Matlab. But it takes 8 min for the execution. The 2D rendering is part of my project; I will be calling the 2D rendering part 5000 times later. I want the execution time under 1sec.
The bulk (99.9%) of time is taking for z-buffering. The implementation is done following the wiki link.
Can anyone help me to reduce the time in Matlab or suggest other platform?
Any tutorials/demo references to understand the above steps will be helpful.
Thanks in advance
回答1:
I don't recommend you doing this in matlab, because you may need to visualize a big volume. Try vtk, and you may need some programming.
Here is a simple one (3D project) from ImageJ: http://imagejdocu.tudor.lu/doku.php?id=gui:image:stacks
来源:https://stackoverflow.com/questions/14372739/perspective-projection-and-z-buffering-of-a-3d-head-to-form-a-face-image