Dora Node for plotting text and bbox on image with OpenCV
Project description
Dora Node for plotting data with OpenCV
This node is used to plot a text and a list of bbox on a base image (ideal for object detection).
YAML
- id: opencv-plot
build: pip install ../../node-hub/opencv-plot
path: opencv-plot
inputs:
# image: Arrow array of size 1 containing the base image
# bbox: Arrow array of bbox
# text: Arrow array of size 1 containing the text to be plotted
env:
PLOT_WIDTH: 640 # optional, default is image input width
PLOT_HEIGHT: 480 # optional, default is image input height
Inputs
image
: Arrow array containing the base image
## Image data
image_data: UInt8Array # Example: pa.array(img.ravel())
metadata = {
"width": 640,
"height": 480,
"encoding": str, # bgr8, rgb8
}
## Example
node.send_output(
image_data, {"width": 640, "height": 480, "encoding": "bgr8"}
)
## Decoding
storage = event["value"]
metadata = event["metadata"]
encoding = metadata["encoding"]
width = metadata["width"]
height = metadata["height"]
if encoding == "bgr8":
channels = 3
storage_type = np.uint8
frame = (
storage.to_numpy()
.astype(storage_type)
.reshape((height, width, channels))
)
bbox
: an arrow array containing the bounding boxes, confidence scores, and class names of the detected objects
bbox: {
"bbox": np.array, # flattened array of bounding boxes
"conf": np.array, # flat array of confidence scores
"labels": np.array, # flat array of class names
}
encoded_bbox = pa.array([bbox], {"format": "xyxy"})
decoded_bbox = {
"bbox": encoded_bbox[0]["bbox"].values.to_numpy().reshape(-1, 4),
"conf": encoded_bbox[0]["conf"].values.to_numpy(),
"labels": encoded_bbox[0]["labels"].values.to_numpy(zero_copy_only=False),
}
text
: Arrow array containing the text to be plotted
text: str
encoded_text = pa.array([text])
decoded_text = encoded_text[0].as_py()
Example
Check example at examples/python-dataflow
License
This project is licensed under Apache-2.0. Check out NOTICE.md for more information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
opencv_plot-0.3.7rc2.tar.gz
(3.7 kB
view details)
Built Distribution
File details
Details for the file opencv_plot-0.3.7rc2.tar.gz
.
File metadata
- Download URL: opencv_plot-0.3.7rc2.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.10.15 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6005dc6742797b461d96f370ad88f4692369c6ae5f62216a5ed666218660ed02 |
|
MD5 | 4d661f3a9fdfc2652a2998df65eadf71 |
|
BLAKE2b-256 | 7cf1bdad705c2764b124bc16046c9848afdf42e576ebcc9f4ae9e067e326ef92 |
File details
Details for the file opencv_plot-0.3.7rc2-py3-none-any.whl
.
File metadata
- Download URL: opencv_plot-0.3.7rc2-py3-none-any.whl
- Upload date:
- Size: 4.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.10.15 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6550c3af022841d46312ce1da6446271874cddfb7a59250c87c6171401b8f482 |
|
MD5 | 247ead1845e0e40a34ff6c8f0c483555 |
|
BLAKE2b-256 | f085a614c559ec3a09191a27bd99f27801509e59d779f769a06020b1e1d2aff4 |