I think the easiest would be to use kooka or xsane, scan an image and do OCR....

+

I think the easiest would be to use kooka or xsane, scan an image and do OCR or importing an existing image into kooka and do OCR.

Revision as of 23:29, 13 April 2007

While researching your family tree, you will use books or administrative documents. You may avoid long and annoying work or transcribing texts into GRAMPS by using optical character recognition (OCR).

Here we show you how to work on your picture or scan of a document to change it into typed text.

How this work ?

You picture needs to have a strong contrast (black text, white backgrount), and have a good resolution.

The OCR programs scans the picture and uses a glyphs libraries to detect the characters. Those that are recognised are transformed in the corresponding character.

Dictionnaries will be used to minimize errors. These compare the resulting words with existing words to determine the outcome and guess not fully recognized words.

Some programs recognize bold, italic or custom fonts size.

Using OCR with GRAMPS

There is not a lot of OCR open sources programs, and those that exist mostly use the same backend. For Intelligent Word Recognition (IWR) or Intelligent Character Recognition (ICR), used for written certificates, they are even rarer.

You can use some of the programs alongside GRAMPS. For the backend tools, only command line tools are available (use -h for the options), but fortunately some GUI's have been made too:

Tesseract may be a good solution for english reader but it currently only recognizes US-ASCII characters ...

GOCR/JOCR is used by xsane and kooka. It can generate custom database characters from a picture with the command:

mkdir db
gocr -p db -m 130 -m 256 certificate.png

This will ask you of each new letter it recognizes what the value is (a,b,...), and will generate a new index (db.list) + portable-bitmap (pbm) for your letters. Each key entry on db.list is one of the .pbm files and is connected to your custom value (a, b, c ...)