Files
mmp_wise2526_franksim/mmp/a3/annotation.py

39 lines
959 B
Python
Raw Normal View History

2025-10-28 16:03:53 +00:00
import glob
import os
2025-10-13 14:48:00 +02:00
from typing import List
import numpy as np
class AnnotationRect:
"""Exercise 3.1"""
def __init__(self, x1, y1, x2, y2):
2025-10-28 16:03:53 +00:00
self.x1 = x1
self.x2 = x2
self.y1 = y1
self.y2 = y2
2025-10-13 14:48:00 +02:00
def area(self):
2025-10-28 16:03:53 +00:00
return (self.x2 - self.x1) * (self.y2 - self.y1)
2025-10-13 14:48:00 +02:00
def __array__(self) -> np.ndarray:
2025-10-28 16:03:53 +00:00
return np.array([self.x1, self.y1, self.x2, self.y2])
2025-10-13 14:48:00 +02:00
@staticmethod
def fromarray(arr: np.ndarray):
2025-10-28 16:03:53 +00:00
return AnnotationRect(arr[0], arr[1], arr[2], arr[3])
2025-10-13 14:48:00 +02:00
def read_groundtruth_file(path: str) -> List[AnnotationRect]:
"""Exercise 3.1b"""
2025-10-28 16:03:53 +00:00
annotationRects = []
with open(path, 'r') as file:
for line in file:
if line.strip():
values = line.strip().split()
annotationRects.append(AnnotationRect(float(values[0]), float(
values[1]), float(values[2]), float(values[3])))
return annotationRects
2025-10-13 14:48:00 +02:00