Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| info:ocr [2014/02/19 15:17] – modification externe 127.0.0.1 | info:ocr [2024/05/16 02:51] (Version actuelle) – radeff | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Reconnaissance optique de caractères ====== | ====== Reconnaissance optique de caractères ====== | ||
| + | utiliser tesseract (cf infra) | ||
| ====== PDF > txt directement avec un script bash linux ====== | ====== PDF > txt directement avec un script bash linux ====== | ||
| + | requiert tesseract: | ||
| - | un grand merci à Frans de Jonge pour son excellent script: http:// | + | sudo apt-get install tesseract-ocr tesseract-ocr-fra |
| - | + | ||
| - | < | + | < |
| - | # | + | #!/usr/bin/bash |
| - | #ocrpdftotext | + | # pdf_ocr2txt |
| - | # Simplified implementation of http:// | + | ls *.pdf | while read i |
| - | # mod Frans de Jong http:// | + | do |
| - | # mod Fred Radeff, akademia.ch | + | echo " |
| - | # usage: ocrpdftotext PutYourFilename.pdf | + | convert -density |
| - | # Might consider doing something with getopts here, see http:// | + | echo "-----" |
| - | DPI=300 | + | echo "Generating txt file " $i.txt |
| - | # | + | tesseract $i.tif $i.txt -l fra |
| - | # | + | done |
| - | TESS_LANG=fra | + | |
| - | + | ||
| - | FILENAME=${@%.pdf} | + | |
| - | SCRIPT_NAME=`basename | + | |
| - | TMP_DIR=${SCRIPT_NAME}-tmp | + | |
| - | OUTPUT_FILENAME=${FILENAME}-output@DPI${DPI} | + | |
| - | + | ||
| - | mkdir ${TMP_DIR} | + | |
| - | cp ${@} ${TMP_DIR} | + | |
| - | cd ${TMP_DIR} | + | |
| - | + | ||
| - | convert -density | + | |
| - | tesseract | + | |
| - | + | ||
| - | mv ${OUTPUT_FILENAME}.txt .. | + | |
| - | rm * | + | |
| - | cd .. | + | |
| - | rmdir ${TMP_DIR} | + | |
| </ | </ | ||
| - | absolument génial, de l' | ||
| ===== tesseract ===== | ===== tesseract ===== | ||
| http:// | http:// | ||
| - | http://code.google.com/p/tesseract-ocr/ | + | |
| + | tesseract | ||
| + | |||
| + | < | ||
| + | echo " | ||
| + | echo " | ||
| + | ls *.pdf | ||
| + | read fichier | ||
| + | echo " | ||
| + | read npages | ||
| + | PAGES=$npages # set to the number of pages in the PDF | ||
| + | SOURCE=$fichier # set to the file name of the PDF | ||
| + | OUTPUT=$fichier.txt # set to the final output file | ||
| + | RESOLUTION=600 # set to the resolution the scanner used (the higher, the better) | ||
| - | marche nickel! | + | # |
| - | par contre pas en russe, je suis à la recherche... y'a visiblement du monde qui y bosse: | + | #touch $OUTPUT |
| + | for i in `seq 1 $PAGES`; do | ||
| + | convert -density $RESOLUTION -depth 8 $SOURCE\[$(($i - 1 ))\] page$i.png | ||
| + | ## tesseract page$i.tif >> $OUTPUT | ||
| + | tesseract page$i.png $OUTPUT$i -l fra | ||
| + | done</ | ||
| - | http:// | + | ==== Liens ==== |
| - | http://groups.google.com/group/tesseract-ocr-russian/files | + | * https:// |
| + | * http://www.tristancollins.me/computing/ocr-using-tesseract-on-multipage-pdfs/ | ||
| + | * https:// | ||
| - | voir aussi: | + | marche nickel! |
| + | ===== GUI ===== | ||
| - | http://code.google.com/ | + | Si on veut pas s' |
| + | sudo apt-get install gimagereader | ||
| + | {{: | ||
| - | ===== Old ===== | + | si on veut du russe il faudra installer le dictionnaire |
| + | sudo apt install hunspell-ru | ||
| + | et bien sûr le dico français si vous ne l'avez pas déjà | ||
| + | sudo apt install hunspell-fr | ||
| - | , ocrad et gocr tentent de rattraper le retard linuxien en matière d'OCR | + | ===== Russe ===== |
| - | apt-get install ocrad gocr | + | * https:// |
| + | * https:// | ||
| - | Faut avouer que c'est moins performant que les produits windaube... | + | mv rus.traineddata / |
| - | Un petit script pratique pour ocrad (que je préfère nettement à gocr, notamment | + | Ou encore |
| + | sudo apt-get install tesseract-ocr-rus | ||
| - | + | ==== exemple de script bash pour le russe ==== | |
| - | ocr.sh | + | < |
| - | < | + | #!/usr/bin/bash |
| - | #! /bin/bash | + | # ocr-ru: convert (optical character recognition) jpg russian voc to text/csv file |
| - | # ocr.sh | + | # usage: |
| - | # Usage: | + | # copyleft radeff.red - use it at your own risk! |
| - | # ocr.sh | + | ladate=$(date +' |
| - | # script bash pour convertir des fichiers images en *.pbm et les traiter ensuite automatiquement avec le | + | echo "ocr which russian image?" |
| - | # logiciel de reconnaissance optique de caractères | + | ls *.jpg |
| - | # Required: convert, ocrad | + | read i |
| - | # FR, fradeff@akademia.ch, www.unige.ch | + | convert $i $i.png |
| - | # History | + | tesseract $i.png $ladate -l rus |
| - | ############ | + | rm $i.png |
| - | # se placer dans le répertoire dans lequel on a stocké les pages scannées ou photographièes, | + | echo "conversion ok, edit " |
| - | mkdir pbm #cree un rep de travail | + | #delete empty lines |
| - | find . -name " | + | sed -i '/ |
| - | do | + | #delete line with only spaces |
| - | convert $i pbm/$i.pbm #les convertit dans un format accepte par ocrad via convert | + | sed -i '/^ *$/d' $ladate.txt |
| - | done | + | #delete end line with strange char from whatsapp |
| - | echo "Tous les fichiers images ont été convertis" | + | sed -i '/ |
| - | + | mv $ladate.txt $ladate.csv | |
| - | cd pbm #va dans le rep de travail | + | geany $ladate".csv"& |
| - | find . | while read i | + | |
| - | do | + | |
| - | ocrad $i >> result.txt #fait l'OCR | + | |
| - | done | + | |
| - | + | ||
| - | echo "Voici le résultat:" | + | |
| - | more result.txt | + | |
| </ | </ | ||
| - | |||