Annotate
BoxAnnotator¶
A class for drawing bounding boxes on an image using detections provided.
Attributes:
Name | Type | Description |
---|---|---|
color |
Union[Color, ColorPalette]
|
The color to draw the bounding box, can be a single color or a color palette |
thickness |
int
|
The thickness of the bounding box lines, default is 2 |
text_color |
Color
|
The color of the text on the bounding box, default is white |
text_scale |
float
|
The scale of the text on the bounding box, default is 0.5 |
text_thickness |
int
|
The thickness of the text on the bounding box, default is 1 |
text_padding |
int
|
The padding around the text on the bounding box, default is 5 |
Source code in supervision/detection/annotate.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 |
|
annotate(scene, detections, labels=None, skip_label=False)
¶
Draws bounding boxes on the frame using the detections provided.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
scene |
ndarray
|
The image on which the bounding boxes will be drawn |
required |
detections |
Detections
|
The detections for which the bounding boxes will be drawn |
required |
labels |
Optional[List[str]]
|
An optional list of labels
corresponding to each detection. If |
None
|
skip_label |
bool
|
Is set to |
False
|
Returns: np.ndarray: The image with the bounding boxes drawn on it
Example
>>> import supervision as sv
>>> classes = ['person', ...]
>>> image = ...
>>> detections = sv.Detections(...)
>>> box_annotator = sv.BoxAnnotator()
>>> labels = [
... f"{classes[class_id]} {confidence:0.2f}"
... for _, _, confidence, class_id, _
... in detections
... ]
>>> annotated_frame = box_annotator.annotate(
... scene=image.copy(),
... detections=detections,
... labels=labels
... )
Source code in supervision/detection/annotate.py
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 |
|
MaskAnnotator¶
A class for overlaying masks on an image using detections provided.
Attributes:
Name | Type | Description |
---|---|---|
color |
Union[Color, ColorPalette]
|
The color to fill the mask, can be a single color or a color palette |
Source code in supervision/detection/annotate.py
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 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 |
|
annotate(scene, detections, opacity=0.5)
¶
Overlays the masks on the given image based on the provided detections, with a specified opacity.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
scene |
ndarray
|
The image on which the masks will be overlaid |
required |
detections |
Detections
|
The detections for which the masks will be overlaid |
required |
opacity |
float
|
The opacity of the masks, between 0 and 1, default is 0.5 |
0.5
|
Returns:
Type | Description |
---|---|
ndarray
|
np.ndarray: The image with the masks overlaid |
Source code in supervision/detection/annotate.py
165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 |
|
TraceAnnotator¶
A class for drawing trace paths on an image based on detection coordinates.
Attributes:
Name | Type | Description |
---|---|---|
color |
Union[Color, ColorPalette]
|
The color to draw the trace, can be a single color or a color palette. |
position |
Optional[Position]
|
The position of the trace. Defaults to |
trace_length |
int
|
The maximum length of the trace in terms of historical
points. Defaults to |
thickness |
int
|
The thickness of the trace lines. Defaults to |
Source code in supervision/detection/annotate.py
246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 |
|
annotate(scene, detections)
¶
Draws trace paths on the frame based on the detection coordinates provided.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
scene |
ndarray
|
The image on which the traces will be drawn. |
required |
detections |
Detections
|
The detections which include coordinates for which the traces will be drawn. |
required |
Returns:
Type | Description |
---|---|
ndarray
|
np.ndarray: The image with the trace paths drawn on it. |
Example
>>> import supervision as sv
>>> image = ...
>>> detections = sv.Detections(...)
>>> trace_annotator = sv.TraceAnnotator()
>>> annotated_frame = trace_annotator.annotate(
... scene=image.copy(),
... detections=detections
... )
Source code in supervision/detection/annotate.py
272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 |
|