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

Calcul scientifique Python Discussion :

float matrice transformation


Sujet :

Calcul scientifique Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 48
    Par défaut float matrice transformation
    salut a vous tous!!!

    comment faire lorsque l'on a une suite de pixel "type float" pour les mettre sous forme de matrice afin de pouvoir crée l'image?

    j'ai crée un code permettant de transformer rgbtohsv et je n'ai besoin que de h.

    mon code fonctionne mais je ne sais pas comment convertir mes float sous forme de matrice!!!

    Code "python" : 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
    19
    20
    21
    22
    23
     
    import numpy
    import Image
    import colorsys as c
     
    image3=Image.open("/root/c.bmp")
    ri,gi,bi=image3.split()
     
    r=numpy.asarray(ri)
    g=numpy.asarray(gi)
    b=numpy.asarray(bi)
     
    for i in range(0,r.shape[0]):
    	for j in range(0,r.shape[1]):
    		#print i,j
    		r0=r[i,j]
    		g0=g[i,j]
    	 	b0=b[i,j]
    		#print r0,g0,b0
    		h,s,v=c.rgb_to_hsv(float(r0),float(g0),float(b0))
     
    		#print h
    		#trash=raw_input("jhj")

  2. #2
    Membre émérite
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Par défaut
    Tu devrais indenter ton code quand tu as une boucle... pour commencer.

    Ensuite, je ne voie pas ou est le probleme, vu que tu utilise numpy...

    Tu l'as deja fait (peut etre sans t'en rendre compte)

    Ps: Quand tu es dans le forum Python pas besoin de mettre le =python dans la balise code.

    Un indice : Et si tu créer trois tableau objet de numpy de la taille de ton image remplit de zero, et si tu les remplissait dans ta boucle avec les valeur de H,S, et V?

    C'est assez simple, mais pour ton bien je ne te donne pas la reponse, primo parceque je n'ai pas le temps, et secondo je nes pas numpy d'installer.

    Je pense que H,,S et V sont compris en 0 et 1 donc je pense que pour que ton resultat soit cohérent... de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Tab_H[i]=Int(255*h)
    [SIZE="2"]Dis moi qui tu suis, je te dirais qui je Hais!
    Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

    Mon premier Tutoriel


    A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...

  3. #3
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 48
    Par défaut
    ok merci

    indenter c'est quoi?

    h sont des floats
    j'utilise h=numpy.array(h)
    mais ca ne fonctionne pas

  4. #4
    Membre émérite
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Par défaut
    Indenter c'est appliquer une tabulation lorsque tu as une boucle. Va dans IDLE et fait ca dans un script que tu runneras:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for i in range(0,3):
    	print i
            print "Indentation ok"
    print "indentation Stop"
    Tape ca sans les... lorsque tu fais entrer a la fin de la declaration de ta boucle for normalement le curseur se centre...

    Tous ce qui est indenter est executer dans la boucle For, ou if ou while et la fin de cette boucle est marque par une absence d'indentation.


    Gros Conseil : Essaye d'avoir le livre de Gerard Swinnen (dispo sur ce site rubrique tutoriel) sous la main, et ouvert avec adobeReader. Des que tu bu sur un truc fait une recherche dans le livre : par exemple Boucle
    [SIZE="2"]Dis moi qui tu suis, je te dirais qui je Hais!
    Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

    Mon premier Tutoriel


    A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...

  5. #5
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 48
    Par défaut
    ok merci

Discussions similaires

  1. Transformation matrice / table
    Par spirou33 dans le forum Access
    Réponses: 6
    Dernier message: 25/10/2007, 16h28
  2. Lecture matrice 1536*1536*2 de float
    Par zoro_le_renard dans le forum Fortran
    Réponses: 4
    Dernier message: 01/09/2006, 19h00
  3. Transformer une matrice à une image
    Par stiko83 dans le forum C++
    Réponses: 24
    Dernier message: 01/08/2006, 23h11
  4. Réponses: 18
    Dernier message: 24/07/2006, 19h30
  5. Moteur 2D: Pb de calcul de Matrice de transformation
    Par themadmax dans le forum Algorithmes et structures de données
    Réponses: 14
    Dernier message: 29/06/2006, 11h22

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