Bonjour à tous !
Je travaille sur une transformation bijective d'image, qu'on appelle la Transformation Concentrique; dans cette transformation, il faut concevoir l'image comme une succession de rectangles emboîtés. Les pixels se déplacent sur ces rectangles dans le sens horaire.
J'ai des fonction mathématiques pour déplacer les pixels dans le sens horaire - c'est à dire, vers la droite, vers le bas, vers la gauche ou bien vers le haut - mais je n'arrive pas à trouver un moyen pour mettre dans mes conditions, lors de la programmation, c'est-à-dire, quand savoir lorsqu'un pixel est le coté gauche, droit, bas ou haut du rectangle.
Par exemple, pour une image de dimension 4x4, on sait que pour le premier rectangle, a partir de l'extérieur, si on donnait des coordonnées (x, y) aux pixels ( x pour numéro de la colonne, et y le numéro de la ligne ), on remarque que sur la première ligne, tous les pixels ont une valeur de y = 0, le coté droit x = 255, le coté gauche x = 0, le coté inférieur du rectangle y = 255. J'essaye de trouver une relation entre les cotés, mais je n'y arrive pas. J'ai essayé avec les modulos, par exemple si (y + 1) %256 = 0, alors c'est tel ou tel coté ... mais moi même je n'arrive pas à comprendre comment faire à partir de ça ..
Si quelqu'un pourrait bien m'aider s'il vous plaît ?
Merci beaucoup
Bonsoir,
en supposant que lignes et colonnes soit numérotées de 0 à n ( de 0 à 255 dans ton exemple)
on peut numéroter les « couronnes » de 0, la plus extérieure, à (n-1)/2, la plus intérieure. ( De 0 à127 dans 127 dans ton exemple).
Un point (i;j) est dans la couronne numéro inf(i , j , n-i , n-j)
C'est effectivement pour déterminer si (i, j) appartient a une couronne
Première couronne : 0 -> 255
Deuxième couronne : 1 -> 254
Troisième couronne : 2 -> 253
...
Il est certain que (i;j) appartient à une couronne.
Tu as maintenant une méthode pour déterminer la quelle.
Il me semble que ton problème est plutôt de parcourir une couronne.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :