Pouvez vous m'expliquer les étapes de cette fonction s'il vous plait, j'y comprend rien.
Merci
Pouvez vous m'expliquer les étapes de cette fonction s'il vous plait, j'y comprend rien.
Merci
Salut,
Pour lire du code, il faut avoir une idée de l'algorithme qu'il est supposé implémenté. Et dans ce cas particulier, un peu de recherche sur Internet devrait vous expliquer ce qu'on veut faire et comment. Et connaissant les étapes à réaliser, le code sera bien plus facile à lire.
- W
La fonction photomaton2 reçoit en arguments un image et un nombre de transformations successives
du photomaton à effectuer et qui renvoie l’image transformée.
Salut,
Une fonction "photomaton" naîve ressemblerait à:
Et l'appliquer n fois, s'écrirait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 def photomaton(img): p, q = img.shape[:2] img2 = np.empty_like(img) for x in range(p): for y in range(q): img2[photomat(x, p), photomat(y, q)] = img[x, y] return img2
Le code de photomaton2 est juste une optimisation qui va éviter d'exécuter n fois:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 def photomaton1(im, n): for _ in range(n): im = photomaton(im) return im
en ne le faisant qu'une seule fois:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for x in range(p): for y in range(q): img2[photomat(x, p), photomat(y, q)] = img[x, y] return img2
après avoir calculé l'image des abscisses/coordonnées une fois pour toutes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for x in range(p): for y in range(q): img2[ligne[x],colonne[y]) = img[x, y]
- W
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager