My end goal is to create a 3D mesh which only contains prominent edges of the model. E.g. This image shows the prominent edges of the model. These edges are extracted from the rendered image of the model using Sobel edge detection.
I've tried extracting a depth map from blender along with the rendered image and finding the corresponding depth for each white pixel in the edge image shown above. However, since the edge image does not detect the true edges with 100% accuracy, the corresponding depth is sometimes taken from an adjacent pixel.
So I think I need to extract the edges directly from the model. Is there some way to automate this process? If not, what would be the best way to manually get the edges? Can I trace over the model or should I just manually select all the edges myself?
Thanks for your help!
Blender includes an edge and line based NPR engine called Freestyle. The settings allow you to use edge and outline detection or specifically mark which edges to use for line work.