ValueError:预期的2D数组,而是1D数组:array = []。使用array.reshape(-1,1)重塑数据

时间:2019-05-07 23:52:20

标签: python machine-learning

train_dat = glob.glob('C:/Users...Files/*.jpg')

def color_hist(img, nbins=32):

    ch1 = np.histogram([img[:,:,0]], bins=nbins, range=(0, 256))[0]
    ch2 = np.histogram([img[:,:,1]], bins=nbins, range=(0, 256))[0]
    ch3 = np.histogram([img[:,:,2]], bins=nbins, range=(0, 256))[0]
    hist = np.hstack((ch1, ch2, ch3))
    return hist
def describe(image, mask = None):

    file_features = []
    for file in image:
        image = mpimg.imread(file)
        hist = cv2.calcHist([image], [0, 1, 2], mask, [8,8,8], [0, 256, 0, 256, 0, 256])
        #cv2.normalize(hist, hist)
        file_features.append(hist.flatten())
    return file_features


train_features = describe(train_dat)

train_array = np.array(train_features)

X_scaler = StandardScaler().fit(train_array)

scaled_train = X_scaler.transform(train_array)

我正在使用Jupyter Notebook进行图像分类。当我运行

train_features = describe(train_dat) 
train_array = np.array(train_features) 
X_scaler = StandardScaler().fit(train_array) 
scaled_train = X_scaler.transform(train_array)

它没有显示预期的2D阵列。

0 个答案:

没有答案