Converting a masked 2d grayscale image to an object I want to achieve the following:



At the moment I can do it, by using Shapeway's 2D to 3D image converter, download the result as X3DB, then use NetFabb Basic to convert it to STL, which I can then import to Blender. This process although works, I would like to do the whole process using Blender in order to not rely on web tools and to have more control on the result.

I've been trying to mix landscape topography with extruded curves the following ways:

Option A.


Create an SVG outline of the image
Import the SVG, and convert it to a mesh
Use the displacement modifier to modify the mesh using the original grayscale image


Option B.


Create an SVG outline of the image
Import the SVG, and convert it to a mesh
Create a plane, use subdivide to add more vertices
Do a boolean cut to change the shape of the plane to the outline of the image
Add a displacement modifier to modify the resulting mesh


In neither case did I get anything useful, the usual results are:


A mesh with tons of huge spikes (which of course doesn't resemble what I want)
A mesh with only a few spikes (which still doens't look anything like what I want)
The mesh dissappears completely
Blender crashes


Any ideas?

Edit:


I already have the SVG version of the outline. I can also generate an SVG version of the grayscale image as well, but I don't think that's necessary. I'm using Illustrator btw.
I don't need an automated way (yet, hopefully I can script it once I know how to do it manually), my problem is that I can't even get the mesh created manually in any way.
As this is for 3D printing both the outline and the topology are important (the depths of the ridges are not always equal everywhere. Also a generic solution would help me in generating other types of pendants and would also allow me to add smaller details).

Here is the end result I would like to accomplish from another angle for reference (this is based on the mesh generated by the shapeways' tool, and it also contains a mirroring):
I used your image as height map and got this result:

Work in progress:



Take a plane and scale it up, subdivide it ~1000 times.
Add a displacement modifier with the image as texture.
To smooth out the result, add a subdivision surface modifier before and after the displacement modifier.
Apply the modifiers.
Go into edit mode (be careful with your modifiers, the first time Blender crashed at this step due to too many polygons) and select all the mesh. Go to "smooth vertex" and smooth it a lot (5 times with factor 1 on the screenshot; should have been more)
Add a decimate modifier to remove unnecessary geometry. Remove vertices based on the angle with the "planar" mode. I had to first decimate it with "collapse" because planar decimation takes a lot more of time to calculate. Ratio 0.1 and 6° angle limit worked well.
Go into edit mode again, select all vertices on the bottom with height 0 and delete them.