Superposer deux images sans le module PIL

Fermé
Aymn - Modifié le 22 nov. 2022 à 17:20
jee pee Messages postés 39589 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 19 avril 2024 - 22 nov. 2022 à 18:14

Bonjour,

Je suis en première année de licence maths/info et c’est nouveau pour moi l’info, donc j’ai un peu du mal à superposer deux images en python sans utiliser le module PIL. Si quelqu’un pourrait m’aider ce serait super, sinon merci quand même.
iPhone / Safari 16.0

3 réponses

yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
21 nov. 2022 à 11:07

bonjour,

Que signifie "superposer"?  Tu as pu le faire avec le module PIL?
https://www.commentcamarche.net/infos/25899-forum-ccm-mode-d-emploi-demander-de-l-aide-pour-un-exercice/

0

Je dois afficher une image qui est la superposition de deux images avec les bons réglages( ex: mettre des lunettes sur les yeux d'un chien), cependant notre professeur nous interdit d'utiliser le module PIL 

0
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471 > Aymn
21 nov. 2022 à 14:20

Avant de programmer, pose-toi la question de comment tu ferais cela à la main, avec deux photos et une paire de ciseaux.

0
jee pee Messages postés 39589 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 19 avril 2024 9 225
Modifié le 21 nov. 2022 à 11:11

Bonjour,

D'abord quel est le résultat attendu ? Si je superpose 2 photos (de même taille), celle du dessus cachant l'autre, c'est comme n'en afficher qu'une seule. Ou alors il faut faire un traitement entre les 2 photos ?

Sans PIL, OK, mais on peut utiliser une autre bibliothèque de traitement d'image ?


0

Non, elles ne sont pas de même taille, il y en a une plus petite que l'autre, je dois créer une fonction qui traitent ces deux images (j'ai une image de petit chien et je dois lui mettre des lunettes sur les yeux).

0
Aymn > Aymn
21 nov. 2022 à 14:14

Je ne peux pas importer d'autres modules, nous ne pouvons qu'utiliser les modules de base tq import maths, etc.

0
jee pee Messages postés 39589 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 19 avril 2024 9 225
21 nov. 2022 à 16:05

Tu as les 2 images pour nous les montrer et pour voir en quel format elles sont (png, jpeg, ...) ? Car s'il faut lire le fichier caractère/caractère, il va falloir trouver la taille de l'entête du fichier qui donne ses caractéristiques. Et peut être s'en servir, pour déterminer la largeur X hauteur de l'image.

L'image des lunettes possède un fond transparent ? Car à la main, avec un logiciel graphique, on rend le fond transparent et on colle la seconde image sur la première.


0

Oui, j'ai déjà créé une fonction qui copie l'image, mais je ne peux pas envoyer l'image sur ce forum. Le fond de l'image a superposer sur l'image principale est bien sur transparent.

0
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471 > Aymn
Modifié le 22 nov. 2022 à 17:18

Tu ne souhaites pas nous envoyer l'image, ou tu ignores comment faire?

L'utilisateur de ton programme va choisir où mettre les lunettes sur l'image du chien?  Comment va-t-il faire cela?

0
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748 > yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024
22 nov. 2022 à 17:30

Sans créer de profil CCM, tu ne peux pas partager d'image sur le forum. Je t'invite donc à en créer un ou à partager tes fichiers via cjoint.

Il faudrait au moins préciser les points suivants :

  • Quel est le format des deux images et leur taille respective ?
  • As-tu une primitive te permettant de récupérer la valeur d'un pixel et de tester s'il est transparent ?
  • Quel est le format de l'image résultat attendu et sa taille ?

S'il s'agit de fichiers bitmap, on peut s'en sortir en repartant des spécifications d'un fichier bitmap. Mais très honnêtement, pour un exercice de L1, je suis un peu sceptique sur le fait qu'on t'interdise d'utiliser PIL.

Ensuite, en admettant que les deux images d'entrées et celle de sortie soient de même taille, il suffit d'itérer sur les deux images pour chaque coordonnées (x, y), puis de reporter le pixel de l'image du dessus si le pixel est non transparent, et de l'image du dessous sinon. Si les images ne sont pas de mêmes tailles, il faut appliquer un facteur d'échelle ce qui complique encore l'exercice.

Ça vaudrait le coup de demander des précisions à ton enseignant...

0
jee pee Messages postés 39589 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 19 avril 2024 9 225 > mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024
Modifié le 22 nov. 2022 à 18:15

bonjour,

je viens de tester, en non inscrit on peut mettre une image et du code, c'est le lien cliquable qui n'est pas possible
 

les images ne sont pas de même taille, comme je n'imagine pas qu'il faille trouver la position des yeux pour placer les lunettes, il reste à demander en entrée un position LxH pour positionner la seconde image sur la première.
 

bitmap, ou pbm/pgm/ppm, image dans un fichier texte ascii

0