# Module: dto/imageLabel ## Purpose Container class for an image with its YOLO-format bounding box labels, plus a visualization method for debugging annotations. ## Public Interface ### ImageLabel | Field/Method | Type/Signature | Description | |-------------|----------------|-------------| | `image_path` | str | Filesystem path to the image | | `image` | numpy.ndarray | OpenCV image array | | `labels_path` | str | Filesystem path to the labels file | | `labels` | list[list] | List of YOLO bboxes: [x_center, y_center, width, height, class_id] | | `visualize` | `(annotation_classes: dict) -> None` | Draws bounding boxes on image and displays via matplotlib | ## Internal Logic - `visualize()` converts BGR→RGB, iterates labels, converts normalized YOLO coordinates to pixel coordinates, draws colored rectangles using `annotation_classes[class_num].color_tuple`, displays with matplotlib. - Labels use YOLO format: center_x, center_y, width, height (all normalized 0–1), class_id as last element. ## Dependencies - `cv2` (external) — image manipulation - `matplotlib.pyplot` (external) — image display ## Consumers augmentation (as augmented image container), dataset-visualiser (for visualization) ## Data Models `ImageLabel` — image + labels container. ## Configuration None. ## External Integrations None. ## Security None. ## Tests Used by `tests/imagelabel_visualize_test.py`.