OCR

From Gramps
Revision as of 09:07, 21 March 2017 by Romjerome (talk | contribs) (Example and related information)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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 does this work?

  • You picture needs to have a strong contrast (black text, white background), and a good resolution.
  • The OCR program scans the picture and uses glyph libraries to detect the characters. Those that are recognised are transformed into the corresponding character.
  • Dictionaries will be used to minimize errors. These compare the resulting words with existing words to determine the outcome and guess the words that were not fully recognized.
  • 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:

  • Conjecture is an OCR third party tool who incorporate both open sources programs code bases.
  • The Gamera Project is a framework for the creation of custom OCR applications. It supports the training of custom character shapes.
  • 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.pnm
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 ...)
This is however not very successfull on written text.
  • With Ocrad, you need to use pgm file format.
  • People using KDE will probably know Kooka the standard KDE scanning tool with builtin OCR (using GOCR, Ocrad, which are OSS, or the commercial KADMOS).
  • OCRFeeder is a document layout analysis and optical character recognition system.
  • The OCRopus engine is based on two research projects: a high-performance handwriting recognizer developed in the mid-90's and deployed by the US Census bureau, and novel high-performance layout analysis methods. See, also hOCR format and hOCR tools.
  • Tesseract may be a good solution. Version 2.00 and later support English, French, Italian, German, Spanish, Dutch.
  • YAGF is a tesseract and cuneiform wrapper and helper.

Example and related information

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.

  • bookliberator is a set of free software and hardware to digitize books: it lets you photograph all the pages in a book without harming the book. The resulting images can be processed with free, open source software to make user-friendly files in a variety of formats.
  • decapodproject is a project focused on building a low-cost digitization solution that will allow for rare materials, materials held in collections without large budgets, and other scholarly content to be digitized into a high-quality PDF format. This project will work to incorporate the hardware and software necessary to accomplish this goal.