Skip to content

Commit

Permalink
showing annotated images for detect target message bug fix
Browse files Browse the repository at this point in the history
  • Loading branch information
arpanroy18 committed Nov 29, 2024
1 parent c79374e commit 1ad8ba8
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 2 deletions.
Binary file added .DS_Store
Binary file not shown.
Binary file added modules/.DS_Store
Binary file not shown.
20 changes: 19 additions & 1 deletion modules/detect_target/detect_target_factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"""

import enum
import torch

from . import base_detect_target
from . import detect_target_ultralytics
Expand All @@ -27,8 +28,25 @@ def create_detect_target(
save_name: str,
) -> tuple[bool, base_detect_target.BaseDetectTarget | None]:
"""
Construct detect target class at runtime.
Factory function to create a detection target object.
Parameters:
detect_target_option: Enumeration value to specify the type of detection.
device: Target device for inference ("cpu" or CUDA device index).
model_path: Path to the model file.
override_full: Force full precision floating point calculations.
local_logger: Logger instance for logging events.
show_annotations: Whether to display annotated images.
save_name: Prefix for saving logs or annotated images.
Returns:
Tuple containing success status and the instantiated detection object (if successful).
"""
# Fall back to CPU if no GPU is available
if device != "cpu" and not torch.cuda.is_available():
local_logger.warning("CUDA not available. Falling back to CPU.")
device = "cpu"

match detect_target_option:
case DetectTargetOption.ML_ULTRALYTICS:
return True, detect_target_ultralytics.DetectTargetUltralytics(
Expand Down
10 changes: 9 additions & 1 deletion modules/detect_target/detect_target_ultralytics.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import cv2
import ultralytics


from . import base_detect_target
from .. import image_and_time
from .. import detections_and_time
Expand Down Expand Up @@ -111,6 +112,13 @@ def run(
self.__counter += 1

if self.__show_annotations:
cv2.imshow("Annotated", image_annotated) # type: ignore
if image_annotated is None:
self.__local_logger.error("Annotated image is invalid.")
return False, detections


# Display the annotated image in a named window
cv2.imshow("Annotated", image_annotated)
cv2.waitKey(1) # Short delay to process GUI events

return True, detections

0 comments on commit 1ad8ba8

Please sign in to comment.