Navigation |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Codage informatique des images |
|
|
Mercredi 14 novembre 2007
On sait que les mathématiques (le codage binaire notamment) servent à coder les lettres des textes : c’est ce qu’on appelle le codage ASCII, qui permet de transformer tout texte en système de 0 & 1 dans votre ordinateur. Nous y reviendrons peut-être, mais préférons aborder aujourd’hui le codage des images, illustrations à l’appui.
D’abord le codage des images en noir et blanc. Vous êtes-vous déjà demandés (à l’impression notamment, puisque toutes les imprimantes ne sont pas couleur), ce que signifiait la boîte de dialogue « Noir et blanc intégral » ou « Niveaux de gris » ? Les niveaux de gris (photo à gauche) correspondent à un codage des contrastes sur 256 niveaux, depuis le noir complet auquel on affecte le rang 0 jusqu’au blanc pur, auquel on affecte le rang 255 : ainsi le noir est codé 00000000, le blanc est codé 11111111 (c’est l’écriture de 255 en système binaire). De l’un à l’autre on a donc 256 niveaux de gris (soit 2 puissance , codés avec 8 chiffres qui sont soit 0 soit 1 : (xxxxxxxx). Le codage de ces 256 niveaux de gris se fait sur 8 bits, soit 1 octet. Le noir et blanc intégral (photo à droite) correspond à 2 niveaux, 0 (noir) ou 1 (blanc) : il est donc codé sur 1 bit, soit huit fois moins de place mémoire.
Ensuite le codage des images couleur. Ci-dessus on codait le gris sur 8 bits, cette fois-ci, on code sur 8 bits, c’est à dire de 0 à 255, chacune des trois couleurs « primaires » (en fait rouge, bleu et vert, non pas jaune : c’est comme cela en informatique, le jaune s’obtient par combinaison des trois autres). La boîte de dialogue ci-contre vous montre un R255, V0, B0, c’est à dire un rouge plein. Noir correspond toujours à 0 (R0, V0, B0) et blanc à 255 au cube (R255, V255, B255). Vous pouvez déplacer le curseur ou, mieux, inscrire les valeurs entre 0 et 255 dans les boîtes à droite : par exemple vous obtiendrez un beau jaune soleil à R255, V255, B0. On code donc sur 256 valeurs de 0 à 255 pour chacune des trois couleurs, soit une palette de 256*256*256, soit 16 777 216 couleurs, c’est ce qu’on appelle la visualisation 16 millions de couleurs, avec un codage sur 24 bits (8 bits pour chacune des trois couleurs primaires).
Comme pour le noir et blanc, il existe des modes dégradés où la palette de couleurs est restreinte : par exemple on code chaque couleur sur 6 niveaux (et non 256) de R0 à R5, etc., et l’on obtient 6*6*6 = 216 couleurs, qui sont codées avec un nombre de bits correspondant à la puissance de 2 immédiatement supérieure, soit 256 : c’est ce qu’on appelle la visualisation 256 couleurs. La boîte de dialogue ci-contre vous en donne un exemple.
Travaux pratiques :
Vous pouvez obtenir les boîtes de dialogue ci-dessus, très intéressantes, par exemple dans MS Powerpoint 97, cliquez sur le bouton de couleur des caractères de la barre d’outils, puis sur « Autres couleurs de polices ». L’onglet « Personnalisées » donne accès aux 16 millions de couleurs, l’onglet « Standard » donne accès à un 256 couleurs dégradé, soit 127 couleurs (nombre de petits hexagones + noir en bas à droite + 15 niveaux de gris entre les hexagone blanc et noir).
Si cela ne marche pas sur votre Powerpoint, ou si vous trouvez d’autres logiciels où ces palettes apparaissent, mettez-le s’il vous plaît en commentaires pour nos lecteurs.
|
|
|
|
|
|
|
nombre de visiteurs venus 742422 visiteurs (2550283 hits) Ici!
Tracked by Histats.com
$value) {
if ($param == 'client') {
google_append_url($google_ad_url, $param,
'ca-mb-' . $GLOBALS['google'][$param]);
} else if (strpos($param, 'color_') === 0) {
google_append_color($google_ad_url, $param);
} else if ((strpos($param, 'host') === 0)
|| (strpos($param, 'url') === 0)) {
google_append_url($google_ad_url, $param,
$google_scheme . $GLOBALS['google'][$param]);
} else {
google_append_globals($google_ad_url, $param);
}
}
google_append_url($google_ad_url, 'dt',
round(1000 * array_sum(explode(' ', microtime()))));
return $google_ad_url;
}
$google_ad_handle = @fopen(google_get_ad_url(), 'r');
if ($google_ad_handle) {
while (!feof($google_ad_handle)) {
echo fread($google_ad_handle, 8192);
}
fclose($google_ad_handle);
}
?>
|
|
|
|
|
|
|
|