import argparse
import logging as log
import numpy as np
from keras.models import load_model
import keras.metrics
from prepare_data import loadDataset,Sample
from analyzer.epoint import EPoint
from analyzer.corners import Corners
from k_util import averageDistance,generateData
import config as cfg
keras.losses.averageDistance=averageDistance
keras.metrics.averageDistance=averageDistance
parser=argparse.ArgumentParser()
parser.add_argument("model")
parser.add_argument("data")
args=parser.parse_args()
model=load_model(args.model)
model.summary()
log.info("loading data...")
with np.load(args.data) as data:
testImages=(np.float32(data["testImages"])/128-1).reshape((-1,224,224,1))
testLabels=data["testLabels"].reshape((-1,4,2))
log.info("done")
log.info(model.evaluate(testImages,testLabels))
for img in testImages:
label=model.predict(np.reshape(img,(1,224,224,1)))
print(label)
points=[]
for i in range(4):
points.append(EPoint((label[0][i][0]+1)*112,(label[0][i][1]+1)*112))
corners=Corners(points)
sample=Sample(np.uint8((img+1)*128),corners)
sample.show()