Python:如何对未标记图像进行分类并保存到类文件夹中?

时间:2019-07-06 04:32:35

标签: python image numpy opencv tensorflow

我已经训练了CNN,并正在尝试预测文件夹中新出现的看不见(未标记)的图像。我正在尝试使用以下方法将它们分为2类(正向,负向):

test_dir = '/path/to/test-set'
test_imgs = ['/path/to/test-set/{}'.format(i) for i in os.listdir(test_dir)]

def read_and_process_image(list_of_images):

    X = []

    for image in list_of_images:
        X.append(cv2.resize(cv2.imread(image, cv2.IMREAD_COLOR), (299, 299), interpolation=cv2.INTER_CUBIC))

    return X


X_test = read_and_process_image(test_imgs[0:10])
x = np.array(X_test)
test_datagent = ImageDataGenerator(rescale=1./255)

我不知道如何将所有预测图像循环保存到相关的类文件夹(“ neg”或“ pos”)中。另外,当我绘制它们时,我看到在预测的图像中更多地出现蓝色,并且不确定它们是否将以蓝色格式保存。

class_names = ['neg','pos']
i = 0
text_labels = []
plt.figure(figsize=(30,20))
for batch in test_datagent.flow(x, batch_size=1):
    pred = new_model.predict(batch)
    for j in range(len(batch)):
        plt.imsave("/path/to/save-folder/ {}.jpg",batch[0])
        plt.subplot(5 / 5 + 1, 5, i+1)
        plt.title(class_names[np.argmax(pred[j])])
        imgplot = plt.imshow(batch[0])
        i +=1
        if i % 10 == 0:
             break
plt.show() 

我真的不知道如何从这一点着手,任何帮助将不胜感激。

0 个答案:

没有答案