Is it possible to generate an image based on edges and corners?
As Ideasman42 hinted, it is possible to invert the normals and bake AO to get what you want. However, this doesn't work at all times.

It works like this. Normally when baking AO you want holes and dents in your mesh to be darker. Not the same amount of light reaches those areas. This can also be used for dirt. If we instead want to mark the protruding edges we can invert the normals. A protruding edge is converted into a dent (sort of). It will render darker when baking AO.

One tweak must be done. If you bake a cube 2 units wide it will be baked totally black. Rays for the inside of the cube (because the normals are inverted) will hit the opposite side of the cube. The Ray length must be set very short. Here are the settings for this:



A downside of this method is that it works porly with self intersecting geometry. Rays from the inside will hit the self intersecting pieces and render dark where you don't want them.

Vertex colours strike me as the superior method in most cases.

Comparison

Made a simple test to compare them both:

For the vertex paint method I hade to subdivide some to get the desired effect.



With baking AO I hade to save the image and edit it externaly (inversion and contrast).