message_utils

namespace EPD

A collection of use-case filters, namely for parsing usecase_config.json, Counting and Color-Matching usecaseMode.

class EPDObjectDetection
#include <message_utils.hpp>

An Easy Perception Deployment (EPD) ObjectDetection class object. This object functions as a transient container of inference results to transport them for processing in by EasyPerceptionDeployment class object.

Public Functions

inline explicit EPDObjectDetection(size_t input_size)

A Constructor function. This object can only be called a known size to minimize memory use for storage.

Public Members

std::vector<std::array<int, 4>> bboxes

A vector of bounding boxes with xmin, ymin, xmax, ymax.

std::vector<uint64_t> classIndices

A vector of indices that indicate the numerical identities of corresponding bounding boxes of the same index.

std::vector<float> scores

A vector of indices that indicate the float confidence scores of corresponding bounding boxes of the same index.

std::vector<cv::Mat> masks

A vector of image-encoded 32FC1 greyscale masks for P3 results only.

size_t data_size

A set size for all vectors in class.

struct LocalizedObject
#include <message_utils.hpp>

Public Members

std::string name
sensor_msgs::msg::RegionOfInterest roi
cv::Mat mask
geometry_msgs::msg::Point centroid
float length
float breadth
float height
pcl::PointCloud<pcl::PointXYZ> segmented_pcl
geometry_msgs::msg::Vector3 axis
class EPDObjectLocalization
#include <message_utils.hpp>

Public Members

std::vector<LocalizedObject> objects
size_t data_size

A set size for all vectors in class.

class EPDObjectTracking
#include <message_utils.hpp>

Public Members

std::vector<std::string> object_ids
std::vector<LocalizedObject> objects
size_t data_size

A set size for all vectors in class.

struct LabelledRect2d
#include <message_utils.hpp>

Public Members

std::string obj_tag
cv::Rect2d obj_bounding_box