【发布时间】:2019-12-02 09:38:45
【问题描述】:
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
import os
import cv2
from tqdm import tqdm
DATADIR ="C:/Users/Park/Project/TrainingData"
CATEGORIES = ["doll", "machine", "puzzle"]
for category in CATEGORIES:
path = os.path.join(DATADIR, category)
for img in os.listdir(path):
img_array = cv2.imread(os.path.join(path, img), cv2.IMREAD_COLOR)
print(" Image shape : ", img_array.shape)
plt.imshow(img_array)
plt.show()
每个文件夹包含 50 个 jpg 格式的图像文件。输出到第二个'machine'文件夹,'puzzle'文件夹不输出到第三个文件夹。如果更改文件夹名称的顺序,则无论图像数量如何都会显示图像。当我尝试输出第三个文件夹时,我得到一个“NoneType”对象没有属性“形状”错误。
【问题讨论】:
-
要调试,在读取图像后,检查:
if img_array is None: print(img),然后尝试在文件资源管理器中找到确切的路径和文件,如果它不存在,你有你的错误。 -
我应该把你提到的那句话放在哪里? *phrase = 如果 img_array 为无:print(img)
-
用imread读取图片后
-
我在执行以下操作时遇到同样的错误:img_array = cv2.imread(os.path.join(path, img), cv2.IMREAD_COLOR) 如果 img_array 为 None:print(img) print (" 图像形状 :", img_array.shape) plt.imshow(img_array) plt.show()
标签: python tensorflow operating-system cv2