Reference for ultralytics/solutions/queue_management.py
Note
This file is available at https://github.com/ultralytics/ultralytics/blob/main/ultralytics/solutions/queue_management.py. If you spot a problem please help fix it by contributing a Pull Request 🛠️. Thank you 🙏!
ultralytics.solutions.queue_management.QueueManager
QueueManager(**kwargs)
Bases: BaseSolution
Manages queue counting in real-time video streams based on object tracks.
This class extends BaseSolution to provide functionality for tracking and counting objects within a specified region in video frames.
Attributes:
Name | Type | Description |
---|---|---|
counts |
int
|
The current count of objects in the queue. |
rect_color |
Tuple[int, int, int]
|
RGB color tuple for drawing the queue region rectangle. |
region_length |
int
|
The number of points defining the queue region. |
track_line |
List[Tuple[int, int]]
|
List of track line coordinates. |
track_history |
Dict[int, List[Tuple[int, int]]]
|
Dictionary storing tracking history for each object. |
Methods:
Name | Description |
---|---|
initialize_region |
Initialize the queue region. |
process |
Process a single frame for queue management. |
extract_tracks |
Extract object tracks from the current frame. |
store_tracking_history |
Store the tracking history for an object. |
display_output |
Display the processed output. |
Examples:
>>> cap = cv2.VideoCapture("path/to/video.mp4")
>>> queue_manager = QueueManager(region=[100, 100, 200, 200, 300, 300])
>>> while cap.isOpened():
>>> success, im0 = cap.read()
>>> if not success:
>>> break
>>> results = queue_manager.process(im0)
Source code in ultralytics/solutions/queue_management.py
38 39 40 41 42 43 44 |
|
process
process(im0)
Process queue management for a single frame of video.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
im0
|
ndarray
|
Input image for processing, typically a frame from a video stream. |
required |
Returns:
Type | Description |
---|---|
SolutionResults
|
Contains processed image |
Examples:
>>> queue_manager = QueueManager()
>>> frame = cv2.imread("frame.jpg")
>>> results = queue_manager.process(frame)
Source code in ultralytics/solutions/queue_management.py
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
|