User Tools

Site Tools


greenshot

Greenshot

Greenshot est un outil fantastique.

Les dernières version permettent de faire passer la sélection à l'écran dans un OCR et de récupérer le résultat dans le clipboard. Cependant, le seul OCR supporté est “MODI” (Micorsoft Office Document Imaging). MODI (sic) était fourni avec Office 2003 et Office 2007. Ce n'est plus le cas avec la mouture 2010 (http://support.microsoft.com/kb/982760).

Dans ce cas, greenshot n'est plus capable de reconnaitre directement le texte. Les dévs ne comptent pas implémenter le support d'un autre OCR pour l'instant. Il faut donc ruser en passant par exemple par tesseract.

Installer tesseract

Sur une session sans droits admin, télécharger la version portable. Dézipper l'archive. Puis télécharger l'archive de dépendance. Reporter les quelques fichiers dépendance dans les répertoires correspondants de votre installation de tesseract.

Il faut également télécharger des packages de langues pour avoir autre chose que de l'anglais. Les décompresser dans le répertoire tesserdata.

Configurer Greenshot

Il faut ensuite créer un script batch qui récupèrera l'image et la donnera à manger à tesseract script inspiré de cette issue :

@ECHO OFF
REM OCR 20121128
REM batch resize images 20121014
IF (%1)==() GOTO HELP
SET LANG=%~2
IF (%2)==() SET LANG=fra
 
SET TMPFILE=%TMP%\ocr.tiff
 
setlocal EnableDelayedExpansion
@ECHO OCRing %~1 (%LANG%) ^=^=^> ocr.txt
@C:\Donnees_Locales\Tools\ImageMagick-6.8.7-0\convert -resize "400%%" -type Grayscale +compress "%~1" %TMPFILE%
@C:\Donnees_Locales\Tools\Tesseract-OCR\tesseract %TMPFILE% %TMP%\ocr -l %LANG%
@"C:\Program Files (x86)\Notepad++\notepad++.exe" %TMP%\ocr.txt
GOTO EOF

:HELP
@ECHO:
@ECHO OCR image
@ECHO:
@ECHO Usage^: ocr x.jpg [fra^|eng]
@ECHO: default fra
@ECHO:

:EOF

NB : tesseract est un peu difficile et il convient de filtrer un peu l'image en la grossissant 4x et en enlevant les couleurs.

J'ai voulu répliquer le comportement de greenshot avec MODI en envoyant le contenu ainsi récupéré dans le clipboard, cependant ça ne marche pas sur du texte français avec des accents : tesseract semble mélanger les encodages dans le fichier en sortie. Or, CMD.exe et du coup clip.exe n'aiment pas trop ce mélange et foutent en l'air l'encodage des caractères non ascii (j'ai essayé 10 000 astuces avec type ou même un programme externe pour charger le clipboard, ça ne change rien).

Du coup le plus simple c'est d'ouvrir le fichier avec Notepad++ : le fichier est décodé en “ANSI as UTF-8” (le décodeur pour la bouillabaisse de tesseract :). Ensuite le copier/collé depuis Notepad++ marche bien.

greenshot.txt · Last modified: 2013/10/16 17:42 by ginko