Utilisateur:Miniwark

La bibliothèque libre.
Sauter à la navigation Sauter à la recherche

Pour ma page perso voir : Utilisateur Miniwark sur Wikipédia

Informations Babel sur l’utilisateur
fr-N Cet utilisateur a pour langue maternelle le français.
en-2 This user has intermediate knowledge of English.
es-1 Este usuario tiene un conocimiento básico del español.
el-0 Αυτός ο χρήστης δεν καταλαβαίνει τα Ελληνικά (ή με μεγάλη δυσκολία).
Utilisateurs par langue


Étapes pour créer un DjVu sous Linux depuis Gallica[modifier]

Résumé des étapes :

  1. Importer les images depuis Gallica
  2. Améliorer la qualité de la numérisation
  3. Générer le fichier DjVu
  4. Ajouter la couche OCR


1. Importer depuis une bibliothèque[modifier]

1.1 Importer depuis Gallica[modifier]

  1. Créer un dossier pour le livre à télécharger. Par exemple /Auteur/Titre
  2. modifier le script bash suivant pour importer les images en haute résolution depuis Gallica.
  3. Enregistrer le script dans le dossier crée. Par exemple /Auteur/Livre/Gallica.sh
  4. Lancer le script en ligne de commande depuis /Auteur/Titre
##!/bin/bash
#lastpage="dernière page à télécharger"
lastpage="608"
for i in $(seq 1 $lastpage); do
#p="http://gallica.bnf.fr/ark:/12148/identifiant du livre/f$i.highres"
p="http://gallica.bnf.fr/ark:/12148/bpt6k5510856m/f$i.highres"
# changer .png en .jpg pour les images en couleur
wget -U DummyBrowser/0.1 $p -O page_`printf %04d $i`.png;
done

Il faut modifier : le nombre de page et l'ID Gallica et éventuellement l’extension des images.

Script d'origine : Wikisource:Gallica#Utilisation_d’un_script

La plupart des images de Gallica sont au format PNG, mais certains livres en couleur, voir certaines pages uniquement sont en JPEG. Après l'import il convient donc de vérifier si les images on bien toutes un aperçu dans le gestionnaire de fichier. Si les images n'ont pas d’aperçu il est probable que :

  1. l'image ne se soit pas téléchargée (récupérer alors les images manquantes)
  2. les images sont en format JPG (changer l’extension)

Une fois le script lancé vous devez avoir une série d'images du genre page_000X.png dans votre dossier /Auteur/Titre.

1.2 Importer depuis Hathitrust[modifier]

La procédure par script est pratiquement identique à celle de Gallica.

##!/bin/bash
#book="ID du livre à télécharger"
book="mdp.39015004271204"
#lastpage="dernière page à télécharger"
lastpage="616"
for i in $(seq 1 $lastpage); do
p="http://babel.hathitrust.org/cgi/imgsrv/image?id=$book;seq=$i"
wget -U DummyBrowser/0.1 $p -O page_`printf %04d $i`.jp2;
sleep 2
done

Hatitrust utilise le format .jp2. Le script inclus une attente de 2 secondes après chaque téléchargement, pour limiter le risque de blocage de l'import.

Il faut ensuite convertir les fichier .jp2 en un autre format car ScanTaillor ne les supporte pas. pas exemple pour tout transformer en .jpg

mogrify -format jpg *.jp2

2. Améliorer la qualité de la numérisation[modifier]

Afin, de supprimer les artefacts de numérisation et en particulier, les bords de livre, les rotations et les watermarks de Gallica/Google, il est préférable de faire un traitement des images obtenues à l'aide de Scan Tailor. Attention ! Éviter cette étape si la taille des polices est petites car le travail risque de dégrader l'OCR final.

  1. Lors de l'import si les DPIs ne correspondent pas choisir 600x600 pour toutes les tailles d'images
  2. vérifier minutieusement les sélection de contenu pour toutes les pages (sélection trop grandes ou contenu manquant)
  3. mettre en en place les marges en essayant d'obtenir une marge à peu près équivalente au livre source
  4. centrer les pages, sauf en débuts et fin de chapitre (souvent alignés en bas et en haut respectivement dans les livres).
  5. ajouter éventuellement des masques blancs
  6. éviter le dewarping au maximum, sauf pour les pages très déformées (et uniquement en manuel). Cela d'autant plus que la police est petite (OCR souvent plus difficile)

Pour la sortie finale choisir :

  1. 600 dpi
  2. couleur / niveau de gris de préférence (surtout si la police est petite et/ou si le livre contient des illustrations)
  3. marges blanches
  4. ne pas activer "réglage de l'éclairage"

Une fois le traitement terminé Scan Taillor crée autant de nouvelles images qu'au départ au format TIFF dans un sous-dossier /Auteur/Titre/out.

3. Générer le fichier DjVu[modifier]

3.1 Solution 1 : script (recommandée)[modifier]

Placer ce script dans le dossier /Auteur/Titre/out puis l’exécuter

#!/bin/bash
# convert a bunch of tiff grey scale files to a djvu file with c44

for i in *.tif; 
do 
  j=`basename $i .tif`
  # convert each tif file to pgm (grey scale)
  convert $i $j.pgm
  # convert the pgm file to djvu
  c44 -slice 74,87,97 $j.pgm
  echo "convert $i to $j.djvu done"
done;
# add the djvu page to the final djvu file
djvm -c ../book.djvu *.djvu

Ce script convertit les fichiers TIFF en fichiers PGM puis crée un fichier DjVu à partir des images en couleur / niveau de gris générée précédemment à l'aide de Scan Taillor en utilisant c44. (ce script ne convient pas pour les images en noir et blanc)

Cela créera un fichier book.djvu dans /Auteur/Titre/.

Script d'origine : s:en:Help:DjVu files#Method 1 - page at a time with DjVuLibre

3.2 Solution 2 : djvubind[modifier]

La deuxième solution, si les images sont de bonne qualitée, est d'utiliser djvubind. L'avantage c’est que djvubind crée directement le fichier DjVu final tout en réalisant l'OCR (à l'aide de Tesseract ou Cuneiform). Cependant djvubind utilise minidjvu qui à tendance à diminuer la qualité des textes surtout si la police d'origine est petite. Si il a trop d’erreur, d'OCR, utiliser la solution 1.

Si djvubind ne génère pas d'alertes OCR alors le travail est terminé.

Exemple de commande avec djvubind

djvubind -v --tesseract-option="-l fra" ~/Wikisource/Auteur/Titre/out

Cela créera un fichier book.djvu dans /Auteur/Titre/.


4. Ajouter la couche OCR[modifier]

À ce stade nous avons un fichier DjVu sans couche OCR et contenant des images en couleur ou niveau de gris (sauf si djvubind donne un résultat satisfaisant). Il faut à présent ajouter cet OCR à l'aide de Tesseract.

Pour cela récupérer et enregistrer le script Python depuis s:en:User:Inductiveload/Scripts/DJVU_OCR dans /Auteur/Titre/.

et lancer la commande :

python ocr-djvu-tesseract.py -i book.djvu -u -d -l fra

Compter environ 1 heure pour 100 pages d'attente.


Références[modifier]

  1. Aide:Créer_un_fichier_DjVu/Linux
  2. s:en:Help:DjVu_files#Linux
  3. Linux guide to book scanning