14.2 imageop ---
Manipule des données brutes d'images
Le module imageop contient des opérations utiles sur les images.
Il opère sur des images consistant en pixels de 8 ou 32 bits stockés
dans des chaînes de caractères Python. C'est le même format que celui
utilisé par gl.lrectwrite() et par le module
imgfile.
Ce module définit les variables et les fonctions suivantes :
error- Cette exception est déclenchée sur toutes les erreurs, telles qu'un nombre
inconnu de bits par pixel, etc.
crop(image, taillepix, largeur, hauteur, x0, y0, x1, y1)
- Retourne la partie sélectionnée de image, de largeur largeur
et de hauteur hauteur et constituée de pixels de taillepix octets.
x0, y0, x1 et y1 sont similaires aux paramètres
de gl.lrectread(), c'est-à-dire que la frontière est
incluse dans la nouvelle image. Les nouvelles frontières ne sont pas
nécessairement à l'intérieur de l'image. Les pixels qui tombent en-dehors
de l'ancienne image seront mis à zéro. Si x0 est supérieur à
x1 la nouvelle image est inversée. Cela vaut aussi pour les
coordonnées en y.
scale(image, taillepix, largeur, hauteur, nouvellelargeur, nouvellehauteur)
- Retourne image redimensionné à la taille nouvellelargeur
sur nouvellehauteur. Aucune interpolation n'est effectuée, le
redimensionnement est fait tout bêtement en dupliquant ou en enlevant le pixel.
Donc, les images générées par ordinateur ou les images peu nettes n'auront pas
belle allure après redimensionnement.
tovideo(image, taillepix, largeur, hauteur)
- Applique un filtre passe-bas vertical sur l'image. Chaque pixel résultant
est calculé comme la moyenne de deux pixels source alignés verticalement.
Cette routine sert surtout à prévenir un tremblement excessif si l'image
est affichée sur un dispositif vidéo qui utilise l'entrelacement,
d'où son nom.
grey2mono(image, largeur, hauteur, seuil)
- Convertit une image en nuances de gris sur 8 bits en image sur 1 bit en appliquant
un seuil sur tous les pixels. L'image résultante est très compressée
et n'est probablement utile que comme argument de mono2grey().
dither2mono(image, largeur, hauteur)
- Convertit une image en nuances de gris sur 8 bits en image monochrome
sur 1 bit en utilisant un (bête) algorithme de lissage.
mono2grey(image, largeur, hauteur, p0, p1)
- Convertit une image monochrome sur 1 bit en une image en nuances de gris
ou en couleurs sur 8 bits. Tous les pixels à zéro en entrée prennent la
valeur p0 en sortie et toutes les valeurs à un prennent la valeur
p1 en sortie. Pour convertir une image monochrome noir et blanc
en nuances de gris, passer les valeurs
0 et 255 respectivement.
grey2grey4(image, largeur, hauteur)
- Convertit une image en nuances de gris sur 8 bits en une image en
nuances de gris sur 4 bits sans lissage.
grey2grey2(image, largeur, hauteur)
- Convertit une image en nuances de gris sur 8 bits en une image en
nuances de gris sur 2 bits sans lissage.
dither2grey2(image, largeur, hauteur)
- Convertit une image en nuances de gris sur 8 bits en une image en
nuances de gris sur 2 bits avec lissage. Comme pour
dither2mono(), l'algorithme de lissage est
actuellement très simple.
grey42grey(image, largeur, hauteur)
- Convertit une image en nuances de gris sur 4 bits en une image en
nuances de gris sur 2 bits.
grey22grey(image, width, height)
- Convertit une image en nuances de gris sur 2 bits en une image en
nuances de gris sur 8 bits.