Question

je fais en utilisant OCR Tesseract sur un processeur quad-core. Pour une meilleure vitesse, je veux lire 4 mots à la fois, en utilisant 4 threads. Est-il sûr d'appeler Tesseract de plusieurs threads simultanément?

Note:. Chaque thread va travailler sur une autre image, non partagée

Note:. Garder avec des serrures est pas correct en raison de la vitesse

Était-ce utile?

La solution

Je ne pense pas Tesseract est actuellement parallélisables (voir ce fil ), bien que l'un des principaux objectifs de v3.0 est de rendre plus thread-safe.

Cependant, vous pouvez toujours paralléliser en exécutant n en même temps processus de Tesseract. Si vous voulez paralléliser le d'une seule après ROC image, il serait à vous de le diviser et nourrir chaque partie à chacun de ces n processus (essentiellement un MapReduce).

Autres conseils

De les notes de version , Tesseract est (la plupart du temps, et le degré que vous décriviez besoin) thread-safe à partir de 3,01 (21 octobre 2011)

Réentrance! Déplacé toutes critiques et globals aux membres de statics la classe appropriée. Tesseract est maintenant thread-safe (multiple instances peuvent être utilisées en parallèle dans plusieurs threads.) avec le mineur sauf que certains paramètres de contrôle sont toujours globale et affectent tous threads.

Je l'ai utilisé avec succès sur plusieurs cœurs pour ce long (ou plus, de la branche dev).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top