powerpoint 2003 - Site de jacques bretin

publicité
Algorithmes
sur les
images
dans Excel
Codage de l’image
La couleur des pixels est obtenue par la
somme de 3 couches de couleurs primaires:
Une image est constituée de « pixels »:
il y en a ici 600400 = 240 000.
Ce sont des petits carrés colorés de
manière uniforme.
Codage de l’image
Codage de la couleur:
Sur l’exemple choisi, chacune des 3 couleurs est codée sur « 8 bits »,
c’est-à-dire par un nombre à 8 chiffres en base 2 (de 0 à 11111111 (=255) )
La somme de ces 3
couleurs primaires
produit toutes les
couleurs désirées…
Le mélange de rouge 130, vert 210 et bleu
225 donne la couleur cyan qui est codée
14799490 = 130+210256+2252562.
Ainsi chaque couleur est codée sur 24 bits,
par un nombre entier entre 0 et 2563-1.
Chacun des 240 000 pixels est associé à un
nombre entier de 24 bits.
Cette image est donc une suite de 240 000
nombres entiers de 24 bits, soit au total
240 000  24 = 5 760 000 bits
=720 000 octets (1octet=8bits)≈720 ko≈0,7Mo
Codage de l’image
Traitement de l’image
Les logiciels de traitement d’images permettent de modifier
l’image de façons diverses et nombreuses:
Transformation 1 : couleur  niveaux de gris
Pour chaque pixel, on fait la moyenne des 3 composantes RVB:
(r,v,b)( E[r+v+b)/3], E[(r+v+b)/3], E[(r+v+b)/3])
Traitement de l’image
Transformation 2: luminosité: plus clair / plus foncé
Pour chaque pixel, on augmente ou diminue les 3 composantes RVB d’une
valeur arbitraire:
(r,v,b)( min(r+20;255), min(v+20;255), min(b+20;255)) (+clair)
Traitement de l’image
Transformation 3: plus ou moins contrasté
Pour chaque pixel, on applique la fonction f (courbe ci-dessous) à
chacune des composantes: (r,v,b)( f(r), f(v), f(b))
Traitement de l’image
Transformation 4: négatif
Pour chaque pixel, on applique la fonction f (courbe ci-dessous) à
chacune des composantes: (r,v,b)( f(r), f(v), f(b)) avec f(x)=255-x
Traitement de l’image
Transformation
5: noir & blanc, seuil à la médiane
Seuil à la moyenne
Pour chaque pixel, on applique la fonction f (courbe ci-dessous) à
chacune des composantes: (r,v,b)( f(r), f(v), f(b))
avec f(x)=0 si xmédiane, f(x)=255 si x>médiane
Première étape: Transfert d’une image dans Excel
Un logiciel gratuit présent sur internet (BMP
TO XLS) permet de transférer une image dans
une feuille Excel: un pixel correspond à une
cellule qui est coloriée (couleur de
remplissage) selon la couleur du pixel. Régler :
colonne = 0,08 et hauteur = 1
Algorithmes sur Excel
Deuxième étape:
Récupération du code couleur de chaque pixel
Algorithmes sur Excel
L’image se situe dans la feuille nommée « image » dans L1C1:L350C200.
C’est une image 200350 pixels.
Un algorithme créé en Visual basic dans le développeur de Excel va ramener le code
couleur dans L1C1:L350C200 de la feuille nommée « codecouleur »:
Troisième étape:
Création de l’image en teintes de gris
Algorithmes sur Excel
Une fonction Visual basic va transformer le code couleur en code gris dans le bloc de
cellules L1C1:L350C200 de la feuille nommée «codenb»:
Un algorithme va
créer l’image en
teintes de gris dans
la feuille « image »
dans le bloc de
cellules :
L1C202:L350C401
Statistiques sur l’image en teintes de gris
Algorithmes sur Excel
Algorithmes sur Excel
Transformation: plus clair
Un algorithme créé en Visual basic va modifier le code teinte de gris et recopier dans
la feuille « nbmodifie ») de la façon suivante:
xx+30 si x225 et x255 si x>225
Algorithmes sur Excel
Transformation: plus sombre
Un algorithme créé en Visual basic va modifier le code teinte de gris ainsi:
xx-30 si x30 et x0 si x<30
Algorithmes sur Excel
Transformation: moins de contraste
Un algorithme créé en Visual basic va modifier le code teinte de gris ainsi:
xE(0,7x+39) cela réduit la plage des gris de 30% et laisse invariant 128.
Algorithmes sur Excel
Transformation: plus de contraste
Un algorithme créé en Visual basic va modifier le code teinte de gris ainsi:
xE(1,3x-38) si 30<x<226, x0 si x<31 et x255 si x>225
Algorithmes sur Excel
Transformation: Négatif
Un algorithme créé en Visual basic va modifier le code ainsi:
x255-x
Algorithmes sur Excel
Transformation: Seuil
Un algorithme créé en Visual basic va modifier le code ainsi:
x  0 si x < seuil et x  255 si x  seuil
Algorithmes sur Excel
FRACTALES sur Excel
L’ensemble de Mandelbrot:
Algorithmes sur Excel
Dans le plan complexe, on considère la suite (zn) définie par zn+1 = zn²+ c et z0 = 0.
L’ensemble de Mandelbrot est l’ensemble des c pour lesquels la suite converge (en module).
S’il existe n pour lequel ∣ zn ∣>2, la suite diverge.
Il est nécessaire que ∣c∣< 2 pour que la suite converge.
On cherche pour chaque point d’un
maillage d’une partie du plan, l’entier
n(<255) à partir duquel
∣ zn ∣>2.
La couleur du point sera 255-n
(composante rouge).
Ainsi un point noir sera un c pour lequel la
suite semble converger et plus un point est
clair, plus la suite diverge vite…
Image créée sur Excel
L’image est créée
dans la feuille
nommée « image »
dans le bloc de
cellules
L1C1:L522C522, pour
le maillage:
-0,4<x<0,2, 0,5<y<1,1
pas de 0,6/522
Ensembles de Julia:
Algorithmes sur Excel
Dans le plan complexe, on considère la suite (zn) définie par zn+1 = zn²+ c et z0 = b.
L’ensemble de Julia est, pour un c donné à la frontière de l’ensemble de Mandelbrot,
l’ensemble des b pour lesquels la suite converge (en module).
On cherche pour chaque point b d’un
maillage d’une partie du plan, l’entier
n(<255) à partir duquel ∣ zn ∣>2.
Ici, on a c=0,284 – 0,0122 i.
La couleur du point sera n.
Ainsi un point noir sera un b pour lequel la
suite diverge et plus un point est clair, plus
la suite converge vite…
L’image est créée
dans la feuille
nommée « image »
dans le bloc de
cellules
L1C1:L521C521, pour
le maillage:
-1,3<x<1, 3
-1,3<y<1,3
pas de 0,005
Algorithmes sur Excel
Ensembles de Julia:
d’autres ensembles:
C=-0,414-0,612i
Et voilà
Diaporama disponible à:
http://bretin.jacques.free.fr/algorithmes/
Téléchargement