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
10 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 |
|
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
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 |
|
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
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 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 |
|
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
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 |
|