Arguably the one producing the best (most accurate) results is Tesseract. It is a technology initially developed by HP Labs between 1985 and 1995, then they open-sourced it in 2005.
Tesseract can recognize text in 7 different languages: English, German, French, Italian, Spanish, Brazilian Portuguese and Dutch. You can install more than one dictionary if needed.
It does not support layout analysis, so multi-column text, images, equations etc. should give you a garbled text output. Also, it only supports TIFF images as input.
Tesseract is currently a command-line-only tool (although they're working on an integration with OCROpus for a GUI). After successful installation, the command to use is tesseract<pathtotiffimage><outputfile> . Tesseract will automatically give the output file a .txt extension.
It is critical that the tiff image have a ".tif" extension and not a ".tiff" extension. The command line should look like this example:
$tesseract~/input.tifoutput
Where input.tif is the document to be converted located in your home folder and output is the document that Tesseract will create as output.txt . The .txt file extension will be added by Tesseract automatically.
Tesseract is not very flexible about the format of its input images. It will only accept TIFF images. According to user reports, compressed TIFF images are quite problematic, and the same goes for grey-scale and colour images. So you're better of with single-bit uncompressed TIFF images.
The process to prepare them with GIMP is very simple:
Often, scanned documents are stored as a raster image in a large PDF document. Using ImageMagick , the individual pages can then be extracted as TIFF files for processing using Tesseract. The following script can help automate this process:
#!/bin/sh
PAGES=100 # set to the number of pages in the PDF
SOURCE=book.pdf # set to the file name of the PDF
OUTPUT=book.txt # set to the final output file
RESOLUTION=600 # set to the resolution the scanner used (the higher, the better)
touch $OUTPUT
for i in `seq 1 $PAGES`; do
convert -monochrome -density $RESOLUTION $SOURCE/[$(($i - 1 ))/] page$i.tif
tesseract page$i.tif page$i
cat $OUTPUT page$i.txt > temp.txt
rm $OUTPUT
rm page$i.tif
rm page$i.txt
mv temp.txt $OUTPUT
done
After running this script, the OCR text should be contained in book.txt (or whatever you set $OUTPUT to be).
来自:
https://help.ubuntu.com/community/OCR