IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Faire une Image anaglyptique


Sujet :

Python

  1. #21
    Membre expérimenté Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Points : 1 481
    Points
    1 481
    Par défaut
    Où vois tu sur le "poster" que j'ai posté, une image qui a 2 fois plus de colonnes que les images de départ ?
    "La simplicité ne précède pas la complexité, elle la suit." - Alan J. Perlis
    DVP ? Pensez aux cours et tutos, ainsi qu'à la FAQ !

  2. #22
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2012
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    J'ai compris le principe pour la création de l'image, il n'y a pas de problèmes. Je ne vois simplement pas comment le "transcrire" en python. La seule chose qui me bloque c'est la fusion des 2 images.

    Ps: j'ai aussi essayé avec n=(2*l)*h et j'ai le même soucis.

    Si quelqu'un a une aide à me proposer pour la fusion, je prend !

  3. #23
    Membre expérimenté Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Points : 1 481
    Points
    1 481
    Par défaut
    Citation Envoyé par VinsS
    De toutes manières cela ne crée aucun décalage, il n'apparaît pas deux images dans le résultat.
    C'est dans les images gauche et droite que les décalages ont été préalablement introduits :
    • soit artificiellement si on ne dispose que d'un seul cliché original (pour reproduire sommairement un phénomène physique)
    • soit physiquement, "naturellement", en ayant pris 2 clichés d'un même paysage mais avec 2 points de vue différents


    Citation Envoyé par Tixium
    J'ai compris le principe pour la création de l'image, il n'y a pas de problèmes
    Je suis presque sur du contraire. C'est pour cela que je traîne les pieds et te donne des indices au compte-goutte (encore que tout, absolument tout est dans l'image que j'ai postée, il n'y a aucun piège) ou te réorientes quand ça part de travers (le doublement de ?).

    Citation Envoyé par Tixium
    La seule chose qui me bloque c'est la fusion des 2 images.
    L'embêtant c'est que c'est aussi la principale ! Quand tu as ton image gauche et ton image droite, ce n'est plus qu'une affaire de fusion. Il ne te reste donc plus qu'à traiter ... 90% du problème.

    Citation Envoyé par Tixium
    j'ai aussi essayé avec n=(2*l)*h et j'ai le même soucis
    C'est ce genre de choses qui me fait dire que tu n'as pas compris le principe. Tu tatonnes en Python en essayant différents "trucs" mais c'est le principe de base que tu n'as pas compris. Tu aurais le même souci dans tout autre langage. Ce n'est pas un problème d'implémentation et ce n'est pas au moment de coder qu'il faut résoudre ça. D'où mon "proverbe chinois" inventé pour l'occasion.

    Donc, qu'as-tu compris du principe de base ? Comment un pixel de l'image résultat (anaglyphe) est-il construit ?


    Une fois que c'est compris, avec PIL, en partant de tes 2 images G.jpg et D.jpg (le passage par les images rouge et bleue n'est pas utile), sans aucune boucle, tu fais tout ça en ... (je compte) ... 7 instructions : import (1), ouverture de tes images origine (2 et 3), lecture des "choses nécessaires" dans les images origine (4 et 5), création de l'anaglyphe (6) et sauvegarde (7)
    "La simplicité ne précède pas la complexité, elle la suit." - Alan J. Perlis
    DVP ? Pensez aux cours et tutos, ainsi qu'à la FAQ !

  4. #24
    Membre expérimenté Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Points : 1 481
    Points
    1 481
    Par défaut
    Bientôt Noël alors voilà les 7 lignes annoncées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> from PIL import Image
    >>> image_G = Image.open('G.jpg')
    >>> image_D = Image.open('D.jpg')
    >>> red = image_G.split()[0]
    >>> green, blue = image_D.split()[1:]
    >>> anaglyphe = Image.merge("RGB",(red, green, blue))
    >>> anaglyphe.save('anaglyphe.jpg')
    qui font la même chose que (dans un style plus proche des codes postés) ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    from PIL import Image
     
    image_G = Image.open('G.jpg')
    image_D = Image.open('D.jpg')
     
    pixels_gauche = image_G.getdata()
    pixels_droite = image_D.getdata()
     
    pixels = list()
    for i in range(len(pixels_gauche)):
        r = pixels_gauche[i][0]
        g = pixels_droite[i][1]
        b = pixels_droite[i][2]
        pixels.append((r,g,b))
     
    anaglyphe = Image.new("RGB",image_G.size)
    anaglyphe.putdata(pixels)
    anaglyphe.save('anaglyphe.jpg')
    Aucun doublement de quoi que ce soit mais, avec des images gauche et droite de même taille et phasées, récupération du plan rouge dans l'image gauche et des plans bleu et vert dans l'image droite.
    "La simplicité ne précède pas la complexité, elle la suit." - Alan J. Perlis
    DVP ? Pensez aux cours et tutos, ainsi qu'à la FAQ !

Discussions similaires

  1. Faire une image qui se déplace
    Par aurelien94 dans le forum 2D
    Réponses: 15
    Dernier message: 18/10/2006, 00h52
  2. [ImageMagick] Cherche à faire une image avec texte et image
    Par dnipro dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 18/05/2006, 14h08
  3. Superposition de composant pour faire une image
    Par spikto dans le forum Composants VCL
    Réponses: 14
    Dernier message: 31/12/2005, 15h18
  4. Comment faire une image de partition partagée avec qmenu ?
    Par narmataru dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 19/12/2005, 09h51
  5. Faire une image de son disque dur, puis restaurer cette imag
    Par cartonis dans le forum Autres Logiciels
    Réponses: 27
    Dernier message: 18/08/2005, 16h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo