Partage
  • Partager sur Facebook
  • Partager sur Twitter

Undefined variable from import: SRGB

    15 mai 2021 à 7:21:46

    Bonjour,

    Je viens solliciter votre aide car là je suis un peu désespéré et je n'arrive pas à trouver une issue à mon problème..

    Voici le code que j'utilise :

    import glob
    import json
    import warnings
    import copy
    import os
    from collections import OrderedDict
    from functools import partial
    from tqdm import tqdm
    import colorspacious
    import numpy as np
    from skimage import draw, img_as_float
    from skimage.io import imread, imsave
    from skimage.transform import resize
    from skimage.color import gray2rgb
    from skimage.util import crop
    from scipy.spatial import cKDTree
    from scipy.cluster import vq
    import matplotlib.pyplot as plt
    
    
    options = {'imread': {},
               'perceptual': {"name": "J'a'b'",
                              "ciecam02_space": colorspacious.CIECAM02Space.sRGB,
                              "luoetal2006_space": colorspacious.CAM02UCS},
               'rgb': 'sRGB1'}


    Code complet ici : https://github.com/danielballan/photomosaic/blob/master/photomosaic/photomosaic.py

    Et voici la (seule) erreur que j'obtiens à la ligne 23 :

    Undefined variable from import: SRGB

    Tous mes packages, librairies et scripts sont pourtant bien installés, mais malgré ça l'erreur subsiste toujours (j'ai essayé aussi en remplaçant .sRGB par .SRGB mais rien..).

    J'utilise Python 3.9, pour colorspacious 1.1.2 et enfin numpy 1.20.3. Je suis sur Eclispe (pydev).

    Merci de votre aide

    -
    Edité par Altérys 15 mai 2021 à 7:23:52

    • Partager sur Facebook
    • Partager sur Twitter
      15 mai 2021 à 7:54:40

      Gardes le code minimal tel que décrit jusqu'à la ligne 23.
      Mets en commentaire les package ou modules où tu es certain que le symbole n'existe pas.
      Essaies jusqu'à ce qu'il ne reste qu'un seul module.
      Fais un help de ce module:
      help(nom_du_module)
      tu devrais trouver la doc dans le module.
      Dans les recherches, je trouve "sRGB"t

      • Partager sur Facebook
      • Partager sur Twitter

      Le Tout est souvent plus grand que la somme de ses parties.

        15 mai 2021 à 8:11:12

        Bonjour, merci de votre réponse mais je ne comprends pas trop l'intérêt de cette manip.

        En faisant help(colorspacious) ça me renvoit le chemin vers le __init__.py du package colorspacious, mais ça ne règle pas vraiment le problème.

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          15 mai 2021 à 9:31:19

          Salut,

          Et en installant ciecam02

          Edit: ou en installant directement photomosaic

          pip install photomosaic

          http://danielballan.github.io/photomosaic/docs/

          -
          Edité par Anonyme 15 mai 2021 à 9:46:19

          • Partager sur Facebook
          • Partager sur Twitter
            15 mai 2021 à 21:15:13

            @Diablo76

            C'est ce que j'ai fait, j'ai commencé par pip install photomosaic.

            J'ai essayé également sur un autre PC et j'obtiens la même erreur à la même ligne..

            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              16 mai 2021 à 6:51:16

              Altérys a écrit:

              @Diablo76

              C'est ce que j'ai fait, j'ai commencé par pip install photomosaic.

              J'ai essayé également sur un autre PC et j'obtiens la même erreur à la même ligne..


              Alors, je n'ai pas ce problème, ensuite je l'utilise comme une lib, ici avec un exemple tiré de la doc :

              import photomosaic
              import matplotlib.pyplot as plt
              from skimage import data
              
              image = data.chelsea()
              photomosaic.rainbow_of_squares('pool/')
              pool = photomosaic.make_pool('pool/*.png')
              mos = photomosaic.basic_mosaic(image, pool, (30, 30))
              
              plt.imshow(mos)
              plt.waitforbuttonpress()



              • Partager sur Facebook
              • Partager sur Twitter
                16 mai 2021 à 22:00:28

                Et lorsque vous ouvrez le fichier photomosaic.py sur votre IDE, pas d'erreur "Undefined variable from import: SRGB"?

                Car si j'appelle en tant que lib avec l'import, l'erreur ne s'affichera forcément pas..

                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  17 mai 2021 à 8:08:25

                  Alors oui, avec VSC j'ai l'équivalent :

                  Cannot access member "sRGB" Member "sRGB" is unknown

                  Mais c'est juste un warning du linter qui ne trouve pas cet élément, car il est surement créé dynamiquement.
                  De plus si je reprends ton code ci-dessus j'ai bien une valeur malgré le warning :

                  import colorspacious
                  
                  print(colorspacious.CIECAM02Space.sRGB)



                  • Partager sur Facebook
                  • Partager sur Twitter
                    17 mai 2021 à 13:08:54

                    ton code refuse de s'exécuter ou bien il passe outre cet avertissement ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      17 mai 2021 à 22:28:20

                      Ok ça me rassure, mon code s'exécute mais j'avoue que ce warning me laissait perplexe.

                      Merci de votre aide

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Undefined variable from import: SRGB

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown