Superposer deux images sans le module PIL

Aymn -  
jee pee Messages postés 41518 Date d'inscription   Statut Modérateur Dernière intervention   -

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

A voir également:

3 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 

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
Aymn
 

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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Aymn
 

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 41518 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 

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
Aymn
 

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
 

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 41518 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 

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
Aymn
 

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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Aymn
 

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 33769 Date d'inscription   Statut Modérateur Dernière intervention   7 879 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 

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 41518 Date d'inscription   Statut Modérateur Dernière intervention   9 720 > mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention  
 

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