Nodes

Each node subscribes image (sensor_msgs/msg/Image), and publishes its results in the namespace of the node, e.g. edge_detection/image. Remap image to the topic of the camera.

Image filters

Filter and transform the images: edges, histogram equalization, morphology, image pyramids, smoothing, thresholds, the Fourier transform and the depth estimated by a DNN. Output: the processed image in ~/image.

Features and shapes

Find the corners, the lines and the line segments, the circles and the blobs, and the contours with their bounding shapes, moments and convex hulls. Output: ~/corners (Point2DArrayStamped), ~/lines (LineArrayStamped), ~/circles (CircleArrayStamped) and ~/contours (ContourArrayStamped, ~/hulls of convex_hull), by the kind of the features.

Segmentation

Divide the image into regions by the class of each pixel: the pixels in a range of colors, the foreground, the connected regions, and the classes of a DNN. Output: the mask or label image, ~/image of the color filters and background_subtraction, ~/label of dnn_semantic_segmentation, and ~/contours (ContourArrayStamped) of the regions of segment_objects and watershed_segmentation.

Image classification

Find what the whole image shows, the classes of ImageNet. Output: ~/detections (DetectionArrayStamped), the classes with their scores.

Object detection

Find the bounding boxes of the people (HOG of people_detect) and the objects (YOLO of dnn_object_detection: YOLOX, YOLOv4 and the other models of cv::dnn). Output: ~/detections (DetectionArrayStamped).

Codes and markers

Find and decode QR codes, barcodes and ArUco markers. Output: ~/detections (DetectionArrayStamped), with the decoded data and the corners.

Text detection and recognition

Find the texts and read them (OCR). Output: ~/detections (DetectionArrayStamped), with the recognized text.

Faces

Detect and recognize the faces and their expressions. Output: ~/faces (FaceArrayStamped).

Human and hand poses

Estimate the poses of the people and the hands. Output: ~/skeletons (SkeletonArrayStamped).

Tracking

Track a target given by set_roi or the mouse. Output: ~/output (RectArrayStamped), ~/track_box (RotatedRectStamped) of camshift.

Optical flow and motion

Estimate the motion of the image. Output: ~/flows (FlowArrayStamped), ~/shift (Point2DStamped) of phase_corr.

Histogram comparison

Compare the color histogram of the image with a reference. Output: ~/distance (Float64).