Bonjour Tom;
Eh bien, content d'avoir pu t'aider.
En général c'est toi qui nous aide !
Juste retour !!!
Un petit correctif par rapport aux coordonnées utilisées dans la fonction scroll :
Si l'on considère que l'élément central de la matrice (élément de référence)
a pour coordonnées x=0 et y=0
les coordonnées des autres pixel sont déduites à partir des coordonnées de ce point 0.
soit:
-y
-x
0 +x
+y
Ce qui donne la matrice de coordonnées suivantes pour une matrice 5*5.
Les coordonnées de chaque point étant représentées par
valeur de x,valeur de y
Code : Tout sélectionner
A B C D E
1 -2,-2 -1,-2 0,-2 1,-2 2,-2
2 -2,-1 -1,-1 0,-1 1,-1 2,-1
3 -2,0 -1,0 0,0 1,0 2,0
4 -2,1 -1,1 0,1 1,1 2,1
5 -2,2 -1,2 0,2 1,2 2,2
On voit que pour superposer le pixel de la colonne A ligne 1
au pixel de coordonnées
0,0 colonne C ligne 3,
il faut décaler de +2 en horizontal (x)
et +2 en vertical (y).
Soit la formule : scroll(I1,2,2)
De même pour le pixel situé en B4,
il faut décaler de +1 en horizontal (x)
et -1 en vertical (y).
Soit la formule : scroll(I1,1,-1)
En fait j'avais directement utilisé les valeurs des coordonnées
dans les formules de scroll que je t'avais communiqué
ce qui inversait complètement les scrolls
A partir de la matrice précédente, on peut déduire les valeurs à utiliser dans les formules
de scroll en fonction des positions des pixels.
à savoir :
Code : Tout sélectionner
A B C D E
1 2,2 1,2 0,2 -1,2 -2,2
2 2,1 1,1 0,1 -1,1 -2,1
3 2,0 1,0 0,0 -1,0 -2,0
4 2,-1 1,-1 0,-1 -1,-1 -2,-1
5 2,-2 1,-2 0,-2 -1,-2 -2,-2
si l'on superpose les deux matrices
et que l'on aditionne les valeurs
cellule par cellule,
on s'apercoit que les résultat de chaque cellule est
0,0si ce n'est pas le cas c'est que j'ai fait une erreur de valeur quelque part.
Avantages et inconvénients de l'utilisation du module arithmétique :
AVANTAGES
- avoir une matrice qui n'est pas limitée à 5*5.
on peut penser à des matrices 7*7, 9*9 ...
A voir après si c'est utile.
- Le point de référence
0,0 n'est pas obligatoirement central.
- on peut envisager des matrices totalement assymétriques :
Code : Tout sélectionner
A B C D
1 2,2 1,2 0,2 -1,2
2 2,1 1,1 0,1 -1,1
3 2,0 1,0 0,0 -1,0
A voir également si c'est utile
INCONVENIENTS
L'inconvénient que j'ai identifié est que le système risque
d'être gourmand en ressources.
En effet, on construit autant d'images intermédiaires que de pixels
dont la valeur est différente de 0.
Alors que je suppose que le filtre personalisé utilise
d'autres techniques permettant d'optimiser
la sollicitation des ressources.
Voila.
Nous avons par ce biais tranféré le fonctionnement du filtre personalisé
au module arithmétique.
Toutefois, pour ma part, j'aimerais comprendre
pourquoi telle ou telle matrice donne tel résultat (beaucoup de tels la dedans !)
Appliquer les matrices de JCB est une chose,
mais pourquoi les valeurs positionnées
comme dans les exemples donnent ces résultats ?
Si tu as la réponse je suis preneur.
Sinon JCB peut peut-être nous éclairer.
Cordialement.
Dominique