2017-05-06 1 views
0

J'essaie d'afficher une image en python et je ne suis pas sûr à 100% pourquoi imshow() renvoie une erreur.Les données d'image ne peuvent pas être converties en float - python

La trace d'erreur est: retraçage (appel le plus récent en dernier):

File "knn.py", line 65, in <module> 
    digit_axes.imshow(paths[0],cmap = cm.Greys_r) 
    File "/usr/local/lib/python2.7/site-packages/matplotlib/__init__.py", line 1892, in inner 
    return func(ax, *args, **kwargs) 
    File "/usr/local/lib/python2.7/site-packages/matplotlib/axes/_axes.py", line 5118, in imshow 
    im.set_data(X) 
    File "/usr/local/lib/python2.7/site-packages/matplotlib/image.py", line 545, in set_data 
    raise TypeError("Image data can not convert to float") 
TypeError: Image data can not convert to float 

Le code est le suivant:

paths = [] 
paths.append('./images/image1.png') 

digit_axes = main_figure.add_subplot(211) 

digit_axes.get_xaxis().set_visible(False) 
digit_axes.get_yaxis().set_visible(False) 
digit_axes.set_title('Image') 

digit_axes.imshow(paths[0],cmap = cm.Greys_r) 

Répondre

0

Je pense avoir trouvé la solution à l'aide imread()

img = imread(paths[0]) 
digit_axes.imshow(img,cmap = cm.Greys_r)