为什么我会得到' NoneType'对象是不可订阅的错误?

时间:2018-05-06 16:06:14

标签: python-3.x opencv matplotlib computer-vision

我在下面的代码段中收到此错误。我正在计算图像嵌入。

----> 4     img = load_image(m.image_path())
      5     img = align_image(img)
      6     # scale RGB values to interval [0,1]

<ipython-input-14-23aefaa58a32> in load_image(path)
     12     # in BGR order. So we need to reverse them
     13     #destRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
---> 14     return img[...,::-1]
     15     #return destRGB
     16 

TypeError: 'NoneType' object is not subscriptable

1 个答案:

答案 0 :(得分:0)

您的代码看起来很好,但如果目录中有多种文件格式,则必须确保使用条件检查。

在你的情况下,因为你有一个'.db'文件和你的图像文件.jpg,python引发了一个可订阅的错误。

如评论中所述,您可以在执行所需操作之前使用条件检查:

if file.endswith('.jpg'):
    #--- carry out your operation here
else:
    print(file)  #-- print the file not in the desired format