Numérisation

La numérisation d'images sous Linux s'articule autour de SANE (Scanner Access Now Easy). Deux outils de numérisation basés sur sane sont présentés ici

L'utilisation de webcams usb au standard v4l et de scanners usb HP sont pris en exemple. L'installation d'un scanner HP relié à ethernet est décrite ici.

1 - Scanimage

1.1 - Installation du logiciel

scanimage est une commande du paquet sane-utils. L'installation du paquet s'effectue à partir des dépôts :

# aptitude install sane-utils  # numérisation en ligne de commande

1.2 - Installation du périphérique

L'utilisation d'un périphérique nécessite la présence de son interface / driver. Plusieurs cas peuvent se présenter :

1.2.1 libsane

libsane et libsane-extra sont les deux bibliothèques principales de sane. Elles sont installées par défaut avec sane-utils et supportent un grand nombre de marques de périphériques de numérisation. Dans ce cas, il suffit de connecter le périphérique pour qu'il soit automatiquement reconnu. libsane -L fournit la liste des périphériques connectés et reconnus :

$ scanimage -L
device `v4l:/dev/video0' is a Noname ASUS USB2.0 Webcam virtual device

Dans le cas présent, une webcam au standard v4l (video for linux) a été reconnue.

$ dpkg -L libsane |grep -i v4l
/usr/lib/x86_64-linux-gnu/sane/libsane-v4l.la
/usr/lib/x86_64-linux-gnu/sane/libsane-v4l.so.1.0.24
/usr/lib/x86_64-linux-gnu/sane/libsane-v4l.so.1

$ apt-file search libsane |grep -i Ricoh
libsane: /usr/lib/x86_64-linux-gnu/sane/libsane-ricoh.la
libsane: /usr/lib/x86_64-linux-gnu/sane/libsane-ricoh.so.1
libsane: /usr/lib/x86_64-linux-gnu/sane/libsane-ricoh.so.1.0.24
libsane-common: /etc/sane.d/ricoh.conf
libsane-common: /usr/share/man/man5/sane-ricoh.5.gz
libsane-dev: /usr/lib/x86_64-linux-gnu/sane/libsane-ricoh.a
libsane-dev: /usr/lib/x86_64-linux-gnu/sane/libsane-ricoh.so

1.2.2 Scanner HP à interface usb

Les scanners HP sont généralement supportés par la bibliothèque libsane-hpaio. Pour l'installer :

# aptitude install libsane-hpaio

Connecter le scanner et vérifier sa prise en compte :

$ scanimage -L
device `hpaio:/usb/Officejet_6700?serial=CN457DS2T605RQ' is a Hewlett-Packard Officejet_6700 all-in-one

1.2.3 Scanner HP à interface réseau Ethernet

Voir ce document.

Dans ce cas, la commande scanimage -L donne :

$ scanimage -L
device `hpaio:/net/Officejet_6700?ip=192.168.1.39' is a Hewlett-Packard Officejet_6700 all-in-one

1.3 - Utilisation

1.3.1 Liste, tests et options

Dans le cas ci-dessous : une webcam et une imprimante HP connectée en USB :

$ scanimage -L
device `hpaio:/usb/Officejet_6700?serial=CN457DS2T605RQ' is a Hewlett-Packard Officejet_6700 all-in-one
device `v4l:/dev/video0' is a Noname ASUS USB2.0 Webcam virtual device

Pour adresser un périphérique dans une commande, utiliser l'option -d suivi du nom du périphérique tel qu'il apparaît dans la commande scanimage -L. Exemples :

$ scanimage -d v4l:/dev/video0 --mode=color --format=tiff >test.tif

$ scanimage -d hpaio:/usb/Officejet_6700?serial=CN457DS2T605RQ --format=tiff > image.tif

$ scanimage -d hpaio:/net/Officejet_6700?ip=192.168.1.39 --format=tiff > image.tif

L'option -T permet de tester un périphérique. PASS est affiché après chaque test réussi.

Dans le cas testé, l'option --mode=color doit-être présente pour que la commandes soit acceptée

$ scanimage -T -d v4l:/dev/video0 --mode=color
scanimage: scanning image of size 640x480 pixels at 24 bits/pixel
scanimage: acquiring RGB frame, 8 bits/sample
scanimage: reading one scanline, 1920 bytes... PASS
scanimage: reading one byte... PASS
scanimage: stepped read, 2 bytes... PASS
scanimage: stepped read, 4 bytes... PASS
scanimage: stepped read, 8 bytes... PASS
scanimage: stepped read, 16 bytes... PASS
$ scanimage -T -d hpaio:/usb/Officejet_6700?serial=CN457DS2T605RQ
scanimage: scanning image of size 637x877 pixels at 1 bits/pixel
scanimage: acquiring gray frame, 1 bits/sample
scanimage: reading one scanline, 80 bytes... PASS
scanimage: reading one byte... PASS
scanimage: stepped read, 2 bytes... PASS
scanimage: stepped read, 4 bytes... PASS
$ scanimage -T -d hpaio:/net/Officejet_6700?ip=192.168.1.39
L'option -A fournit la liste des options de numérisation du périphérique désigné.
$ scanimage -A -d v4l:/dev/video0
scnsc
All options specific to device `v4l:/dev/video0':
Scan Mode:
--mode Gray|Color [Gray]
Selects the scan mode (e.g., lineart, monochrome, or color).
--channel Camera 1 [inactive]
Selects the channel of the v4l device (e.g. television or video-in.)
Geometry:
-l 0..607pel (in steps of 1) [inactive]
Top-left x position of scan area.
-t 0..391pel (in steps of 1) [inactive]
Top-left y position of scan area.
-x 160..767pel (in steps of 1) [inactive]
Width of scan-area.
-y 120..511pel (in steps of 1) [inactive]
Height of scan-area.
Enhancement:
--brightness 0..255 [128]
Controls the brightness of the acquired image.
--hue 0..255 [128]
Controls the "hue" (blue-level) of the acquired image.
--color 0..255 [199]
Sets the picture's color.
--contrast 0..255 [43]
Controls the contrast of the acquired image.
--white-level 0..255 [128]
Selects what radiance level should be considered "white".
$ scanimage -A -d hpaio:/net/Officejet_6700?ip=192.168.1.39

All options specific to device `hpaio:/net/Officejet_6700?ip=192.168.1.39':
Scan mode:
--mode Lineart|Gray|Color [Lineart]
Selects the scan mode (e.g., lineart, monochrome, or color).
--resolution 75|100|200|300|600dpi [75]
Sets the resolution of the scanned image.
--source Flatbed|ADF [Flatbed]
Selects the scan source (such as a document-feeder).
Advanced:
--brightness 0..2000 [1000]
Controls the brightness of the acquired image.
--contrast 0..2000 [1000]
Controls the contrast of the acquired image.
--compression JPEG [JPEG]
Selects the scanner compression method for faster scans, possibly at
the expense of image quality.
--jpeg-quality 0..100 [inactive]
Sets the scanner JPEG compression factor. Larger numbers mean better
compression, and smaller numbers mean better image quality.
Geometry:
-l 0..215.9mm [0]
Top-left x position of scan area.
-t 0..297.011mm [0]
Top-left y position of scan area.
-x 0..215.9mm [215.9]
Width of scan-area.
-y 0..297.011mm [297.011]
Height of scan-area.

1.3.2 Format d'image et nom de fichier

Le format de numérisation par défaut de scanimage est pnm. Les extensions de fichier correspondantes sont :

Le format tiff (extension tif) est disponible avec l'option : --format=tiff.

Les commandes qui numérisent un seul document à la fois demandent de préciser le nom du fichier résultant. Ce nom est libre.

1.3.3 Exemples de commandes webcam

Seule la numérisation couleur semble possible et l'option correspondante doit obligatoirement être spécifiée.

S scanimage -d v4l:/dev/video0 --mode=color --format=tiff >test.tif
$ scanimage -d v4l:/dev/video0 --mode=color --format=tiff --batch --batch-count=3
Scanning 3 pages, incrementing by 1, numbering from 1
Scanning page 1
Scanned page 1. (scanner status = 5)
Scanning page 2
Scanned page 2. (scanner status = 5)
Scanning page 3
Scanned page 3. (scanner status = 5)
$ scanimage -d v4l:/dev/video0 --mode=color --batch --batch-prompt
Scanning -1 pages, incrementing by 1, numbering from 1
Place document no. 1 on the scanner.
Press <RETURN> to continue.
Press Ctrl + D to terminate.

Scanning page 1
Scanned page 1. (scanner status = 5)
Place document no. 2 on the scanner.
Press <RETURN> to continue.
Press Ctrl + D to terminate.
Batch terminated, 1 pages scanned

1.3.4 Exemples de commandes scanner

S scanimage -d hpaio:/net/Officejet_6700?ip=192.168.1.39 --mode=color --format=tiff>test.tif
$ scanimage -d hpaio:/net/Officejet_6700?ip=192.168.1.39 --source=ADF --format=tiff --mode=color >test # un document numérisé depuis le chargeur
$ scanimage -d hpaio:/net/Officejet_6700?ip=192.168.1.39 --source=ADF --batch # autant de fichiers que de documents dans le chargeur

Scanning -1 pages, incrementing by 1, numbering from 1
Scanning page 1
Scanned page 1. (scanner status = 5)
Scanning page 2
Scanned page 2. (scanner status = 5)
Scanning page 3
Scanned page 3. (scanner status = 5)
Scanning page 4
Scanned page 4. (scanner status = 5)
Scanning page 5
scanimage: sane_start: Document feeder out of documents
$ scanimage -d hpaio:/usb/Officejet_6700?serial=CN457DS2T605RQ --batch --batch-prompt --mode=color --source=ADF --format=tiff

2 simple-scan

2.1 Installation du logiciel

Installer simple-scan à partir des dépôts :

# aptitude install simple-scan # numérisation en interface

2.2 Installation des périphériques

Installer les périphériques comme indiqué ci-dessus pour la commande scanimage

2.3 Utilisation

Lancer l'application à partir du menu dans la catégorie "Infographie". Les différentes commandes et options sont accessibles depuis la barre de menu en haut de la fenêtre. Elles permettent en particulier de sélectionner :