Reference for ultralytics/solutions/distance_calculation.py
Note
This file is available at https://github.com/ultralytics/ultralytics/blob/main/ultralytics/solutions/distance_calculation.py. If you spot a problem please help fix it by contributing a Pull Request 🛠️. Thank you 🙏!
ultralytics.solutions.distance_calculation.DistanceCalculation
A class to calculate distance between two objects in real-time video stream based on their tracks.
Source code in ultralytics/solutions/distance_calculation.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 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 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 |
|
__init__()
Initializes the distance calculation class with default values for Visual, Image, track and distance parameters.
Source code in ultralytics/solutions/distance_calculation.py
calculate_centroid(box)
Calculate the centroid of bounding box.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
box |
list
|
Bounding box data |
required |
calculate_distance(centroid1, centroid2)
Calculate distance between two centroids.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
centroid1 |
point
|
First bounding box data |
required |
centroid2 |
point
|
Second bounding box data |
required |
Source code in ultralytics/solutions/distance_calculation.py
display_frames()
Display frame.
Source code in ultralytics/solutions/distance_calculation.py
extract_tracks(tracks)
Extracts results from the provided data.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
tracks |
list
|
List of tracks obtained from the object tracking process. |
required |
Source code in ultralytics/solutions/distance_calculation.py
mouse_event_for_distance(event, x, y, flags, param)
This function is designed to move region with mouse events in a real-time video stream.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
event |
int
|
The type of mouse event (e.g., cv2.EVENT_MOUSEMOVE, cv2.EVENT_LBUTTONDOWN, etc.). |
required |
x |
int
|
The x-coordinate of the mouse pointer. |
required |
y |
int
|
The y-coordinate of the mouse pointer. |
required |
flags |
int
|
Any flags associated with the event (e.g., cv2.EVENT_FLAG_CTRLKEY, cv2.EVENT_FLAG_SHIFTKEY, etc.). |
required |
param |
dict
|
Additional parameters you may want to pass to the function. |
required |
Source code in ultralytics/solutions/distance_calculation.py
set_args(names, pixels_per_meter=10, view_img=False, line_thickness=2, line_color=(255, 255, 0), centroid_color=(255, 0, 255))
Configures the distance calculation and display parameters.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
names |
dict
|
object detection classes names |
required |
pixels_per_meter |
int
|
Number of pixels in meter |
10
|
view_img |
bool
|
Flag indicating frame display |
False
|
line_thickness |
int
|
Line thickness for bounding boxes. |
2
|
line_color |
RGB
|
color of centroids line |
(255, 255, 0)
|
centroid_color |
RGB
|
colors of bbox centroids |
(255, 0, 255)
|
Source code in ultralytics/solutions/distance_calculation.py
start_process(im0, tracks)
Calculate distance between two bounding boxes based on tracking data.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
im0 |
nd array
|
Image |
required |
tracks |
list
|
List of tracks obtained from the object tracking process. |
required |