plt.imshow()给出TypeError(“图像数据无法转换为float”)

时间:2019-03-14 05:57:47

标签: python tensorflow matplotlib

我是python的新手。尝试使用下面的代码绘制图像时-

Comment.post

我收到以下错误-

import tensorflow as tf;
import os, sys;
import skimage;
from skimage.color import rgb2gray
import matplotlib.pyplot as plt;
import random


def load_data(data_directory) :
    directories = [d for d in os.listdir(data_directory) if os.path.isdir(os.path.join(data_directory,d))]

    labels =[]
    images =[]

    for d in directories:
        label_directory = os.path.join(data_directory,d)
        file_names = [os.path.join(label_directory, f)
                      for f in os.listdir(label_directory)
                      if f.endswith(".ppm")]
        for f in file_names:
            images.append(skimage.data)
            labels.append(int(d))
    return images, labels

ROOT_PATH = "C:/Users/Administrator/Downloads/"

train_data_directory= os.path.join(ROOT_PATH, "BelgiumTSC_Training/Training")
test_data_directory = os.path.join(ROOT_PATH, "BelgiumTSC_Testing/Testing")
images, labels = load_data(train_data_directory)
traffic_signs = [300, 2250, 3650, 4000]
for i in range(len(traffic_signs)):
    plt.subplot(1, 4, i+1)
    plt.axis('off')
    plt.imshow(images[traffic_signs[i]])
    plt.subplt_adjust(wspace=0.5)
    plt.show()

TypeError:图像数据无法转换为浮点数

有人可以解释我要去哪里了。我正在按照来自https://www.datacamp.com/community/tutorials/tensorflow-tutorial#tensors

的教程

1 个答案:

答案 0 :(得分:0)

在行load_data中的方法images.append(skimage.data)中,您实际上并未加载任何图像,只需将python模块skimage.data附加到图像,这就是为什么它无法显示任何内容的原因,因为您的images没有隐瞒任何图片。 您可能需要images.append(skimage.data.load(f))