ref: 8c5896e8dd32978383550e9e84f68b73045bb3cd
parent: 05b0b204a771cbfae1074ef72f6accde27a6051e
parent: e4096639ff0e034cb59c13760727b2e6d4fbe831
author: Dan Zhu <zxdan@google.com>
date: Tue Jul 23 14:16:11 EDT 2019
Merge "Add Ground Truth Estimator"
--- /dev/null
+++ b/tools/3D-Reconstruction/MotionEST/GroundTruth.py
@@ -1,0 +1,36 @@
+#!/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)