Mon réseau

Mon réseau d’entreprise

23.1 L’image fixe

Précédent   Suivant

L’image fixe est constituée d’une seule image. Selon l’origine et l’utilisation, le format peut être adapté.

L’origine de l’image peut être une copie d’écran, une photographie ou une image scientifique.

L’utilisation peut être artistique, destinée à l’oeil humain ; médicale devant conserver tous les détails ; architecturale, avec des dimensions précises…

Nous nous intéresserons principalement ici à deux types de source : la copie d’écran et la photographie. Ces deux types d’images sont très différents : le premier est souvent constitué de grandes zones unies et des transitions très nettes, comme du texte ou des bordures. Le second, issu de la nature n’offre que rarement des transitions nettes et jamais de zones unies : une feuille d’arbre offre une palette de couleur, pas une unité. Pour le rendu, l’oeil humain ne sera pas sensible à quelques dégradations des couleurs d’une photographie, mais géné par un effet de flou sur les images d’ordinateur.

La figure 23.1 présente une comparaison d’une copie d’écran au format PNG et au format JPEG. Le fichier PNG contient 4Ko, le JPG 16Ko. Le format JPEG, dans cet exemple est moins agréable et plus lourd.

(image) (image)

Fig. 23.1 : Une copie d’écran en PNG et JPEG.

Sur cette figure, les différences ne sont pas très perceptibles. Sur la figure 23.2, les dégradation dues au JPEG sont très visibles.

(image)

Fig. 23.2 : Un zoom sur l’image en PNG et JPEG.

23.1.1 Une classification des formats

Les techniques de programmation et de traitement du signal évoluant rapidement, les formats évoluent aussi. Voici une classification succinte :

23.1.1.1 Les formats d’images matriciels
GIF

vieux format, plus que périmé, peu efficace, mais peut abuser pour produire de courtes animations.

PNG

Portable Network Graphics est une spécification du W3C qui utilise une compression sans perte.

WebP

est un format d’image avec ou sans perte qui est prévu pour remplacer PNG, JPEG et GIF.

HEIF

High Efficiency Image File Format est un format d’image développé par le groupe d’experts en images animées de de l’ISO.

23.1.1.2 Les formats d’images matriciels, avec perte

Les techniques de compression avec perte dégradent l’image, comme nous pouvons le remarquer dans la figure 23.2, Le groupe d’experts en photographie a défini le format JPEG qui est adapté aux photographies naturelles. Les dégradations sont peu ou pas perceptibles mais diminuent fortement la taille d’une image. Les appareils photos de qualité peuvent utiliser un format raw qui ne subi aucune compression. Cela permet aux photographes de travailler sur une image inaltérée pour la retoucher avant publication.

23.1.1.3 Les formats d’images vectoriels

Un forùat d’image vectoriel définit une image par sa méthode de construction. Le logiciel inkscape utilise le format SVG (Scalable Vector Graphics). Ce format utilise le standard XML (fichier en texte clair). La définition se fait à partir de primitives graphiques simples (comme les lignes, les rectangles, les cercles) définies par des points de contrôle. La taille du fichier augment avec la complexité de l’image mais ne change pas quelque soit la taille de l’image produite.

23.1.2 Les logiciels de traitement d’image

Nous présentons ici que quelques logiciels pour simplifier les fonctionnalités élémentaires.

Voici une petite liste de logiciels en ligne de commande :

  • Netpbm un couteau suisse de l’image.

  • ImageMagick un autre couteau suisse.

  • GraphicsMagick Un fork du précédent, autoproclamé meilleur. Les commandes sont les mêmes que précédement mais préfixées par gm pour éviter la confusion avec les précédentes : ainsi import foo.png devient gm import foo.png.

23.1.2.1 Trouvez la dimension d’une image

Les interfaces graphiques rassurantes masquent souvent la dimension réelle d’une image. Il est important de connaître celle-ci pour éviter d’agrandir une image en produisant un effet mosaique (comme dans la figure 23.2. Inversement, si l’image est trop grande, elle peut être réduite. Mais l’image enregistrée et transmise consomme plus de ressources que nécessaire.

Une façon simple consiste à utiliser la commande file qui identifie le type et les caractéristiques de l’image.

tdm.png:      PNG image data, 513 x 445, 8-bit/color RGBA
tormenta.jpg: JPEG image data... 257x205

23.1.2.2 Faites une copie d’écran

La commande xwinfinfo permet d’identifier une fenêtre.

copie d’écran interactive

en utilisant la commande import, suivie du nom de fichier dont le suffixe impose le format. En cliquant dans une fenêtre, celle-ci est copiée. En sélectionnant une zone à la souris, c’est la partie qui sera enregistrée :

gm import foo.png
copie d’une fenêtre à partir de son identifiant

en utilisant la commande xwininfo (ou une autre commande) pour identifier la fenêtre ou root pour l’écran complet :

xwininfo

xwininfo: Please select the window about which you
          would like information by clicking the
          mouse in that window.

xwininfo: Window id: 0x5200007 "MonReseau.pdf"
...
import -window 0x5200007 root.jpeg
capture d’une zone

en utilisant la fonctionnalité de découpe :

gm import -window root -crop 512x256-0+0 corner.png
23.1.2.3 Affichez une image

La commande display permet d’affichier une image. En cliquant, il est possible d’effectuer des modifications, comme la conversion de format, le redimensionnement, l’annotation…

Le logciel eog permet de gérer plusieurs images et de passer de l’une à l’autre et offre des fonctionnalités pour la taille et le zoom.

23.1.2.4 Changez le format

Les Magick permettent de gérer un grand nombre de formats. Il est donc possible de convertir une image d’un format à un autre pour palier l’incompatibilité du logiciel choisi.

convert foo.webp foo.png

23.1.2.5 Retaillez l’image

Pour avoir une partie de l’image, il faut couper celle-ci. C’est souvent plus facile avec un logiciel graphique. Mais avec de grandes images, ou pour avoir de la précision la ligne de commande peut être utile. Par exemple, tailler une image avec exactement la dimension de l’écran.

Pour un écran 1920x1080 (merci xrandr), en coupant à 200 pixels de la gauche et 220 pixel du haut :

convert -crop   1920x1080+200+220   DSC_0124.JPG bar.jpg

23.1.2.6 Changez la dimension de l’image

Agrandir l’image est souvent inutile et maladroit. Des logiciels de retouche photo, comme GIMP peuvent disposer d’algorithmes efficaces. Une façon simple consiste à transformer chaque pixel en un carré plus gros. L’image se pixellise alors. Pour les agrandissements qui ne multiplient pas la taille par un nombre entier, c’est plus compliqué.

Pour diminuer l’image, les algorithmes fonctionnent mieux si le rapport entre les deux dimensions est un nombre entier. Des détails vont forcément disparaître.

Pour convertir une image à 10% de la taille d’origine (10% des longueurs, soit 1% de la surface)

convert   -scale 10%   DSC_0124.JPG bar.jpg

Pour utiliser un sous multiple de la taille, la commande GNU/Linux factor permet de trouver les diviseurs d’un entier. Pour une image 5568x3712, on obtient :

=> factor 5568
5568: 2 2 2 2 2 2 3 29
=> factor 3712
3712: 2 2 2 2 2 2 2 29

Précédent   Suivant