我正在尝试以特定方式比较两个文本文件。每个文件都包含数千行,如下所示:
(29, '2 [484, 41, 69, 72]')
其中,29是,里面的四个值是是 的值。在这种情况下,。frame2ID[]rectX,Y,W,HX = 484, Y = 41, W = 69, H = 72
每个都可以附加frame多个。rects从 1 到 20 甚至更多。
以下是我需要比较的两个文件的示例:
档案一:
文件 B:
现在对于比较方法,我需要使用以下等式比较rects所有的:frame
(overlap)/(two rects area - overlap) > Threshold
其中 Threshold 手动定义为 0.8 左右。
在我确定了其中的哪些frames包含在两个文件之间有所不同之后,我需要将每个 ID 的和(使用上述等式)rects写入第三个文件,这些ID 产生了足够显着的差异。start frameend frame
我正在尝试逐行比较:
def _compare(self, data1, data2):
diff = []
for frame in data1.keys():
if frame in data2.keys():
data1.pop(frame)
data2.pop(frame)
return diff
with open(out_file, 'w') as f:
f.write('\n'.join(diff))
但这只是确定某一行是否有差异,并不会比较每一行的实际值rect。
