Transformation Bijective d'Image

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
ngahybe
Messages: 1
Enregistré le: 01 Mai 2017, 21:02

Transformation Bijective d'Image

par ngahybe » 01 Mai 2017, 21:05

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 256x256, 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 ..
Exemple:


Situatin initiale :
ABCDE
FGHIJ
KLMNO
PQRST
UVWXY

Situation finale
FABCD
KLGHE
PQMIJ
URSNO
VWXYT

Si quelqu'un pourrait bien m'aider s'il vous plaît ?
Merci beaucoup



pascal16
Membre Légendaire
Messages: 6663
Enregistré le: 01 Mar 2017, 13:58
Localisation: Angoulème : Ville de la BD et du FFA. gare TGV

Re: Transformation Bijective d'Image

par pascal16 » 01 Mai 2017, 22:34

c'est plutôt une suite de vérifications,

tu peux passer par les "diagonales".

i et j les indices ligne/colonne d'une matrice n*n
pour i entre 1 et E(n/2), on est en 'haut' de la matrice
. pour j entre 1 et i, on monte d'une case
. pour j entre i+1 et n-i, on va à droite
. pour j entre n-i et n, on descend d'une case
... j'ai pas testé, c'est juste comme ça que je ferais
On peut le faire aussi avec 2 boucles imbriquées sur i et j et mettre des 'if'.

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 129 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite