代码运行显示'NoneType' object has no attribute 'shape'

import os
import cv2
import numpy as np
#将json文件label转换为到data文件夹
n=10 #n为总共标注的图片数
for i in range(n):
    os.system("labelme_json_to_dataset E:/labelme/json/(%d).json -o E:/labelme/data/(%d)_json"%(i,i))
#dst_w=512
#dst_h=512
#dst_shape=(dst_w,dst_h,3)
train_image = "E:/train_image/"
if not os.path.exists(train_image):
    os.makedirs(train_image)
train_label = "E:/train_label/"
if not os.path.exists(train_label):
    os.makedirs(train_label)
 
for i in range(n):
    print(i)
    img=cv2.imread("E:/labelme/data/(%d)_json/img.png"%i)
    label=cv2.imread("E:/labelme/data/(%d)_json/label.png"%i)
    print (img.shape)
    label=label/np.max(label[:,:,2])*255
    label[:,:,0]=label[:,:,1]=label[:,:,2]
    print(np.max(label[:,:,2]))
    # cv2.imshow('l',label)
    # cv2.waitKey(0)
    print(set(label.ravel()))
    cv2.imwrite(train_image+'(%d).png'%i,img)
    cv2.imwrite(train_label+'(%d).png'%i,label)

图片没有正确读入

把路径名里的"\"改为"/"。

具体原因不详,猜测;可能是python编译器将"\"当成转义字符了。

  img=cv2.imread("E:/labelme/data/(%d)_json/img.png"%i)

这句代码有问题,导致了img对象是空的,报错是说这个空的对象没有shape属性。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632