Quelles options de ROC existent au-delà de Tesseract? [fermé]

j'ai utilisé Tesseract un peu et ses résultats laissent beaucoup à désirer. Je détecte actuellement de très petites images (35x15, sans bordure, mais j'ai essayé d'en ajouter une avec imagemagick sans avantage ocr); elles vont de 2 caractères à 5 et sont une police assez fiable, cependant les caractères sont suffisamment variables pour que l'utilisation d'un checksum de taille d'image ou tel ne va pas fonctionner.

quelles options existent pour la roc en plus de coller avec Tesseract ou de faire une personnalisation complète la formation de celui-ci? en outre, il serait très utile si cela était compatible avec L'hébergement de style Heroku (au moins où je peux compiler les bacs et les pousser plus loin).

27
demandé sur Millie Smith 2012-03-13 23:31:33

2 réponses

j'ai utilisé avec succès GOCR dans le passé pour la petite image OCR. Je dirais que la précision était d'environ 85%, après avoir obtenu les options de l'échelle de gris correctement définies, sur des polices assez régulières. Il échoue lamentablement lorsque les polices deviennent compliquées et ont des problèmes avec les mises en page multilignes.

voir Également Ocropus, qui est maintenu par Google. C'est lié à Tesseract, mais d'après ce que j'ai compris, son moteur ROC est différent. Avec seulement les modèles par défaut inclus, il atteint près de 99% de précision sur les images de haute qualité, gère la mise en page assez bien et fournit la sortie HTML avec des informations concernant le formatage et les lignes. Cependant, dans mon expérience, sa précision est très faible lorsque la qualité d'image n'est pas assez bon. Cela dit, la formation est relativement simple et vous voudrez peut-être essayer.

les deux sont facilement appelables depuis la ligne de commande. L'utilisation du GOCR est très simple; il suffit de taper gocr -h et vous devraient disposer de toutes les informations dont vous avez besoin. Ocropus est un peu plus délicat; voici un exemple d'usage, dans Ruby:

require 'fileutils'
tmp = 'directory'
file = 'file.png'

`ocropus book2pages #{tmp}/out #{file}`
`ocropus pages2lines #{tmp}/out`
`ocropus lines2fsts #{tmp}/out`
`ocropus buildhtml #{tmp}/out > #{tmp}/output.html`

text = File.read("#{tmp}/output.html")
FileUtils.rm_rf(tmp)
17
répondu user2398029 2012-03-13 19:44:22

nous utilisons OCR XTR Lite de Vividata à mon bureau. Il utilise le moteur ScanSoft et est très précis, mais n'est pas une solution gratuite. Actuellement, il est en cours de script à partir de bash et je traite de 75.000 à 150.000 pages par jour avec elle. La précision est presque parfaite et il auto-rotation les images pour déterminer l'orientation OCR.

5
répondu Brian Snipes 2012-03-14 14:13:37