mirror of
https://github.com/azaion/ai-training.git
synced 2026-04-22 21:56:36 +00:00
142c6c4de8
- Replaced module-level path variables in constants.py with a structured Pydantic Config class. - Updated all relevant modules (train.py, augmentation.py, exports.py, dataset-visualiser.py, manual_run.py) to access paths through the new config structure. - Fixed bugs related to image processing and model saving. - Enhanced test infrastructure to accommodate the new configuration approach. This refactor improves code maintainability and clarity by centralizing configuration management.
1.4 KiB
1.4 KiB
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 usingannotation_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 manipulationmatplotlib.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.