![]() |
Echoflow
1.0.0
A ROS2 Toolset for tracking marine radar targets
|
Functions | |
void | computeEDTFromIntensity (grid_map::GridMap &map, const std::string &intensity_layer, const std::string &distance_layer) |
Compute the Euclidean distance transform of the radar intensity layer. | |
void | filterLargeBlobsFromLayer (grid_map::GridMap &map, const std::string &input_layer, const std::string &output_layer, double max_blob_area) |
Filters large blobs from the input map layer and stores filtered result to output map layer. | |
void echoflow::grid_map_filters::computeEDTFromIntensity | ( | grid_map::GridMap & | map, |
const std::string & | intensity_layer, | ||
const std::string & | distance_layer ) |
Compute the Euclidean distance transform of the radar intensity layer.
Uses the built-in grid_map function to convert the intensity layer of the grid map to an OpenCV image. Next uses the OpenCV function distanceTransform to compute the L2 (Euclidean) distance of the radar intensity image, then adds distance image as another layer in the grid map.
map | Grid map to modify. |
intensity_layer | Name of intensity layer in grid map. |
distance_layer | Name of distance layer in grid map. |
void echoflow::grid_map_filters::filterLargeBlobsFromLayer | ( | grid_map::GridMap & | map, |
const std::string & | input_layer, | ||
const std::string & | output_layer, | ||
double | max_blob_area ) |
Filters large blobs from the input map layer and stores filtered result to output map layer.
Uses the built-in grid_map function to convert the input layer of the grid map to an OpenCV image, then uses the OpenCV function to perform connected components analysis to find the sizes of the blobs in the image. If the blob is larger than the max blob size, clears the blob from the output layer.
map | Grid map to modify. |
input_layer | Name of layer in grid map for which to filter large blobs. |
output_layer | Name of layer in grid map to store the filtered output. |
max_blob_area | Maximum size of blob to filter. |