How to OCR engraved text?

I would suggest 2 libraries to get you going:

  1. Tesseract
  2. Emgu CV - comes with loads of examples look for the license plate detection one as a good place to start.

If you have the time to develop the detection yourself, I would do it roughly like this:

  1. Get 1000 images or so and either OCR them yourself or let the people on Amazon Mechanical Turk do it for you, it will cost virtually nothing. Now you have something to tune your algorithm on and measure how well you are doing.
  2. Like Ryan wrote, play with standard image filters, contrast, color, gauss, etc, manually or with something like http://www.roborealm.com/ . See if you can't find a combination that makes the text really stand out.
  3. Try the libraries again
  4. If the libs still don't work, try to use your knowledge of the picture to split it into separate digits. You know how many digits there should be and roughly how many pixels each should take. Use edge detection or something (perhaps standard OCR feature extraction, together with clustering will give you each digit as a cluster?) to find the digits and split them out separately.
  5. Do standard OCR feature extraction (don't be too creative - use existing libraries or at least read up on what the most common and simple are) on each digit and feed those features, together with the answer you got under 1) into a neural network or a SVM.
  6. Improve your feature set until the machine learning works.

Since you have only ten digits, which are fairly consistent between images, this should work.