Based on Danny link (http://www.textureshock.com/tutorial2.htm), adding step by step tutorial:
The first thing I'm going to do is to load a normal map to edit, and save a copy. All of our normal maps have an N suffix in the title, so I'm going to save this map with a B suffix instead. C for color map, N for normal map, B for bump map. I don't want to overwrite my original file.
It will probably appear pretty odd. Don't worry about this, it's perfectly normal. This particular normal map is for cracked ground.
Next, I'm going to add a layer to this image. This layer should go UNDER the layer with the actual normal map.
Now, I'm going to fill the entire layer that I just created underneath the normal map with black. The result should be similar to that at the right. You'll notice that this immediately makes the texture more recognizable.
I only have two things left to do at this point. First, I'm going to flatten my layers together. Since bump maps are all grayscale, it doesn't make sense to use layers in the final image at all.
The second thing I need to do is to desaturate the image. Desaturating an image turns it black and white. Your program may have an option to make the image grayscale. You'll wind up with much the same result whichever way you choose to go.
And that's it! We now have an accurate bump map to use. The bright areas are high, the black areas are low. It can be saved in any format that is convenient.