Polygon Zone
PolygonZone
A class for defining a polygon-shaped zone within a frame for detecting objects.
Attributes:
Name | Type | Description |
---|---|---|
polygon |
ndarray
|
A polygon represented by a numpy array of shape
|
frame_resolution_wh |
Tuple[int, int]
|
The frame resolution (width, height) |
triggering_anchors |
Iterable[Position]
|
A list of positions specifying which anchors of the detections bounding box to consider when deciding on whether the detection fits within the PolygonZone (default: (sv.Position.BOTTOM_CENTER,)). |
current_count |
int
|
The current count of detected objects within the zone |
mask |
ndarray
|
The 2D bool mask for the polygon zone |
Source code in supervision/detection/tools/polygon_zone.py
Functions¶
trigger(detections)
¶
Determines if the detections are within the polygon zone.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
detections |
Detections
|
The detections to be checked against the polygon zone |
required |
Returns:
Type | Description |
---|---|
ndarray
|
np.ndarray: A boolean numpy array indicating if each detection is within the polygon zone |
Source code in supervision/detection/tools/polygon_zone.py
PolygonZoneAnnotator
A class for annotating a polygon-shaped zone within a frame with a count of detected objects.
Attributes:
Name | Type | Description |
---|---|---|
zone |
PolygonZone
|
The polygon zone to be annotated |
color |
Color
|
The color to draw the polygon lines |
thickness |
int
|
The thickness of the polygon lines, default is 2 |
text_color |
Color
|
The color of the text on the polygon, default is black |
text_scale |
float
|
The scale of the text on the polygon, default is 0.5 |
text_thickness |
int
|
The thickness of the text on the polygon, default is 1 |
text_padding |
int
|
The padding around the text on the polygon, default is 10 |
font |
int
|
The font type for the text on the polygon, default is cv2.FONT_HERSHEY_SIMPLEX |
center |
Tuple[int, int]
|
The center of the polygon for text placement |
display_in_zone_count |
bool
|
Show the label of the zone or not. Default is True |
Source code in supervision/detection/tools/polygon_zone.py
Functions¶
annotate(scene, label=None)
¶
Annotates the polygon zone within a frame with a count of detected objects.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
scene |
ndarray
|
The image on which the polygon zone will be annotated |
required |
label |
Optional[str]
|
An optional label for the count of detected objects within the polygon zone (default: None) |
None
|
Returns:
Type | Description |
---|---|
ndarray
|
np.ndarray: The image with the polygon zone and count of detected objects |