Lucifer
Demo attached. It produces a normal map and a height map from your input image. You may need to play with the "smooth" parameter in the main function - I usually use 1 or 2.
The program prompts for input file name, normal map name and height map name (you'll need to include valid extenders such as bmp, jpg, png, dds, etc).
It also asks for a percentage for the vertical scale. This refers to how the height map is to be interpreted, i.e. the difference between the highest bump and lowest valley is a percentage of the image width. Percentages in the range 1 to 5 usually work well.
When it's finished processing and saving the images it'll use a shader to display a bump mapped cube.
I've included two test images for you to try.
This is just a rough version intended for my own use - but feel free to use it as you wish.