ref: e46820c693d0dc01685841cfc704c16dbac48e80
dir: /tools/3D-Reconstruction/MotionEST/GroundTruth.py/
#!/usr/bin/env python # coding: utf-8 import numpy as np import numpy.linalg as LA from MotionEST import MotionEST """Ground Truth: Load in ground truth motion field and mask """ class GroundTruth(MotionEST): """ constructor: cur_f: current frame ref_f: reference frame blk_sz: block size gt_path: ground truth motion field file path """ def __init__(self, cur_f, ref_f, blk_sz, gt_path): self.name = 'ground truth' super(GroundTruth, self).__init__(cur_f, ref_f, blk_sz) self.mask = np.zeros((self.num_row, self.num_col), dtype=np.bool) with open(gt_path) as gt_file: lines = gt_file.readlines() for i in xrange(len(lines)): info = lines[i].split(';') for j in xrange(len(info)): x, y = info[j].split(',') #-,- stands for nothing if x == '-' or y == '-': self.mask[i, -j - 1] = True continue #the order of original file is flipped on the x axis self.mf[i, -j - 1] = np.array([float(y), -float(x)], dtype=np.int)