UNET图像分割:如何输入验证图像文件夹并将Keras model.predict()的输出保存到其他文件夹

时间:2019-02-18 15:50:50

标签: tensorflow keras unity3d-unet

我正在按照以下代码进行UNET图像分割:https://www.kaggle.com/dingli/keras-u-net-for-nuclei-segmentation。我已经完成了模型训练。如何传递一组验证图像/../validation_images/*.png并将输出(二进制图像)保存到其他文件夹:../ output。


model_loaded = keras_model(img_width=img_width, img_height=img_height)
model_loaded.load_weights(topDir+"/working/model-weights.hdf5")


# Predict on val
preds_val = model.predict(X_val, verbose=1)
# Threshold predictions
#preds_val_t = (preds_val > 0.5).astype(np.uint8)
preds_val_t = (preds_val > 0.5)

#plt.figure(figsize=(20,10.5))
plt.figure(figsize=(20,16))
x, y = 16,3
for i in range(y):  
    for j in range(x):
        # train image
        plt.subplot(y*3, x, i*3*x+j+1)
        pos = i*x+j
        plt.imshow(X_val[pos])
        plt.title('Image #{}\nIOU {}'.format(pos,round(cal_iou(np.squeeze(Y_val[pos]), np.squeeze(preds_val_t[pos])),2)))
        plt.axis('off')
        plt.subplot(y*3, x, (i*3+1)*x+j+1)
        plt.imshow(np.squeeze(Y_val[pos]))
        plt.title('Mask')
        plt.axis('off')
        plt.subplot(y*3, x, (i*3+2)*x+j+1)
        plt.imshow(np.squeeze(preds_val_t[pos]))
        plt.title('Predict')
        plt.axis('off')
plt.show()

这是他们拥有的代码。我只想将输出保存到一个新文件夹中,而不是进行绘图。

谢谢!!

0 个答案:

没有答案