[Documentation] [TitleIndex] [WordIndex

  Show EOL distros: 

Package Summary

opencv_apps provides various nodes that run internally OpenCV's functionalities and publish the result as ROS topics. With opencv_apps, you can skip writing OpenCV application codes for a lot of its functionalities by simply running a launch file that corresponds to OpenCV's functionality you want.

  • You can have a look at all launch files provided here (be sure to choose the correct branch. As of Sept. 2016 indigo branch is used for ROS Indigo, Jade, and Kinetic distros).
  • Some of the features covered by opencv_apps are explained in the wiki.

The most of code is originally taken from https://github.com/Itseez/opencv/tree/master/samples/cpp

Package Summary

opencv_apps provides various nodes that run internally OpenCV's functionalities and publish the result as ROS topics. With opencv_apps, you can skip writing OpenCV application codes for a lot of its functionalities by simply running a launch file that corresponds to OpenCV's functionality you want.

  • You can have a look at all launch files provided here (be sure to choose the correct branch. As of Sept. 2016 indigo branch is used for ROS Indigo, Jade, and Kinetic distros).
  • Some of the features covered by opencv_apps are explained in the wiki.

The most of code is originally taken from https://github.com/Itseez/opencv/tree/master/samples/cpp

Package Summary

opencv_apps provides various nodes that run internally OpenCV's functionalities and publish the result as ROS topics. With opencv_apps, you can skip writing OpenCV application codes for a lot of its functionalities by simply running a launch file that corresponds to OpenCV's functionality you want.

  • You can have a look at all launch files provided here (be sure to choose the correct branch. As of Sept. 2016 indigo branch is used for ROS Indigo, Jade, and Kinetic distros).
  • Some of the features covered by opencv_apps are explained in the wiki.

The most of code is originally taken from https://github.com/Itseez/opencv/tree/master/samples/cpp

Package Summary

opencv_apps provides various nodes that run internally OpenCV's functionalities and publish the result as ROS topics. With opencv_apps, you can skip writing OpenCV application codes for a lot of its functionalities by simply running a launch file that corresponds to OpenCV's functionality you want.

  • You can have a look at all launch files provided here (be sure to choose the correct branch. As of Sept. 2016 indigo branch is used for ROS Indigo, Jade, and Kinetic distros).
  • Some of the features covered by opencv_apps are explained in the wiki.

The most of code is originally taken from https://github.com/Itseez/opencv/tree/master/samples/cpp

Package Summary

opencv_apps provides various nodes that run internally OpenCV's functionalities and publish the result as ROS topics. With opencv_apps, you can skip writing OpenCV application codes for a lot of its functionalities by simply running a launch file that corresponds to OpenCV's functionality you want.

  • You can have a look at all launch files provided here (be sure to choose the correct branch. As of Sept. 2016 indigo branch is used for ROS Indigo, Jade, and Kinetic distros).
  • Some of the features covered by opencv_apps are explained in the wiki.

The most of code is originally taken from https://github.com/Itseez/opencv/tree/master/samples/cpp

Introduction, usage

With opencv_apps, you can run a lot of functionalities OpenCV provides in the simplest manner in ROS, i.e., running a launch file that corresponds to the functionality.

Edge Detection Nodes

edge_detection

Apply edge detecion algorithm to input and output ROS sensor_msgs/Image topics.

Subscribed Topics

image (sensor_msgs/Image)

Published Topics

image (sensor_msgs/Image)

Parameters

~use_camera_info (bool, default: true) ~debug_view (bool, default: false) ~edge_type (int, default: 0) ~canny_threshold1 (int, default: 100) ~canny_threshold2 (int, default: 200) ~apertureSize (int, default: 3) ~apply_blur_pre (bool, default: True) ~postBlurSize (int, default: 13) ~postBlurSigma (int, default: 3.2) ~apply_blur_post (bool, default: False) ~L2gradient (bool, default: False) ~queue_size (int, default: 3)

Edge detection examples

Outputs of Sobel Derivatives

Outputs of Laplace Operator

Outputs of Sobel Canny Edge Detector

Outputs of Sobel Derivatives

Outputs of Laplace Operator

Outputs of Sobel Canny Edge Detector

hough_lines

Apply Hough Transform to the input ROS sensor_msgs/Image and outputs detected lines as ROS opencv_apps/LineArrayStamped messages. See HoughLines_Demo.cpp for more info.

Subscribed Topics

image (sensor_msgs/Image)

Published Topics

image (sensor_msgs/Image) lines (opencv_apps/LineArrayStamped)

Parameters

~use_camera_info (bool, default: true) ~debug_view (bool, default: false) ~hough_type (int, default: 0) ~threshould (int, default: 150) ~rho (double, default: 1.0) ~theta (double, default: 1.0) ~minLineLength (double, default: 30) ~maxLineGrap (double, default: 10) ~queue_size (int, default: 3)

Hough transformation Line detection

Standard Hough Lines

Probabilistic Hough Lines

Outputs of Standard Hough Deteciton

Outputs of Probabilistic Hough Detection

hough_circles

Apply Hough Circle Transform to the input ROS sensor_msgs/Image and outputs detected lines as ROS opencv_apps/CircleArrayStamped messages. See HoughCircle_Demo.cpp for more info.

Subscribed Topics

image (sensor_msgs/Image)

Published Topics

image (sensor_msgs/Image) circles (opencv_apps/CircleArrayStamped)

Parameters

~use_camera_info (bool, default: true) ~debug_view (bool, default: false) ~canny_threshold (int, default: 200) ~accumulator_threshold (int, default: 50) ~gaussian_blur_size (int, default: 9) ~gaussian_sigma_x (double, default: 2) ~gaussian_sigma_y (double, default: 2) ~dp (int, default: 2) ~min_circle_radius (int, default: 0) ~max_circle_radius (int, default: 0) ~queue_size (int, default: 3)

Hough transformation Circle detection

Standard Hough Circles

Outputs of Circle Hough Deteciton

Structual Analysis Nodes

find_contours

Find Contours to the input ROS sensor_msgs/Image and to find contours and outpus as ROS opencv_apps/ContoursArrayStamped messages. See findContours_Demo.cpp for more info.

Subscribed Topics

image (sensor_msgs/Image)

Published Topics

image (sensor_msgs/Image) contours (opencv_apps/ContourArrayStamped)

Parameters

~use_camera_info (bool, default: true) ~debug_view (bool, default: false) ~canny_low_threshold (int, default: 10) ~queue_size (int, default: 3)

convex_hull

Apply Convex Hull to the input ROS sensor_msgs/Image and to find contours and outpus as ROS opencv_apps/ContoursArrayStamped messages. See hull_demo.cpp for more info

Subscribed Topics

image (sensor_msgs/Image)

Published Topics

image (sensor_msgs/Image) hulls (opencv_apps/ContourArrayStamped)

Parameters

~use_camera_info (bool, default: true) ~debug_view (bool, default: false) ~threshold (int, default: 100) ~queue_size (int, default: 3)

general_contours

Creating Bounding rotated boxes and ellipses for contours to the input ROS sensor_msgs/Image and outpus as ROS opencv_apps/RotatedRectArrayStamped messages. See generalContours_demo2.cpp for more info.

Subscribed Topics

image (sensor_msgs/Image)

Published Topics

image (sensor_msgs/Image) rectangles (opencv_apps/RotatedRectArrayStamped) ellipses (opencv_apps/RotatedRectArrayStamped)

Parameters

~use_camera_info (bool, default: true) ~debug_view (bool, default: false) ~threshold (int, default: 100) ~queue_size (int, default: 3)

contour_moments

Calculating Image Moment of the input ROS sensor_msgs/Image and outpus as ROS opencv_apps/MomentArrayStamped messages. See moments_demo.cpp for more info.

Subscribed Topics

image (sensor_msgs/Image)

Published Topics

image (sensor_msgs/Image) moment (opencv_apps/MomentArrayStamped)

Parameters

~use_camera_info (bool, default: true) ~debug_view (bool, default: false) ~canny_low_threshold (int, default: 100) ~queue_size (int, default: 3)

Contours Moments

Find Contours

Find Convex Hull

Find contours

Convex Hull of contours

Find general contours

contour Moments

Bounding rotated boxe and ellipses for contours

Example of Image Moments Calculation

People/Face Detection Nodes

face_detection

Detect faces in ROS sensor_msgs/Image using Cascade Classifier and outputs detected faces as ROS opencv_apps/FaceArrayStamped message. See objectDetection.cpp for more info.

Subscribed Topics

image (sensor_msgs/Image)

Published Topics

image (sensor_msgs/Image) faces (opencv_apps/FaceArrayStamped) face_image (sensor_msgs/Image) ~queue_size (invalid message type for MsgLink(msg/type))

Parameters

~use_camera_info (bool, default: true) ~debug_view (bool, default: true) ~face_cascade_name (string, default: "/usr/share/opencv/haarcascades/haarcascade_frontalface_alt.xml") ~eyes_cascade_name (string, default: "/usr/share/opencv/haarcascades/haarcascade_eye_tree_eyeglasses.xml") ~queue_size (int, default: 3)

Face Detection

Face Detection

Example of Face Detection

face_recognition

Recognize faces in ROS sensor_msgs/Image using Face Recognition and outputs detected faces with labels as ROS opencv_apps/FaceArrayStamped message. See Tutorials for more info.

Subscribed Topics

image (sensor_msgs/Image) faces (opencv_apps/FaceArrayStamped)

Published Topics

~output (opencv_apps/FaceArrayStamped) ~debug_image (sensor_msgs/Image)

Parameters

~approximate_sync (bool, default: false) ~queue_size (int, default: 100) ~model_method (string, default: "eigen") ~use_saved_data (bool, default: true) ~save_train_data (bool, default: true) ~data_dir (string, default: "~/.ros/opencv_apps/face_data") ~face_model_width (int, default: 190) ~face_model_height (int, default: 90) ~face_padding (double, default: 0.1) ~model_num_components (int, default: 0) ~model_threshold (double, default: 8000.0) ~lbph_radius (int, default: 1) ~lbph_neighbors (int, default: 8) ~lbph_grid_x (int, default: 8) ~lbph_grid_y (int, default: 8) ~queue_size (int, default: 100)

Face Recognition

Face Recognition

Example of Face Recognition

people_detect

Detecting people using Histogram of Oriented Gradients(HOG)]. This node outputs <<MsgLink(opencv_apps::RectArrayStamped)>> message. See [[https://github.com/Itseez/opencv/blob/2.4/samples/cpp/peopledetect.cpp for more info

Subscribed Topics

image (sensor_msgs/Image)

Published Topics

image (sensor_msgs/Image) found (opencv_apps/RectArrayStamped)

Parameters

~use_camera_info (bool, default: true) ~debug_view (bool, default: false) ~hit_threshold (double, default: 0) ~win_stride (int, default: 8) ~padding (int, default: 32) ~scale0 (double, default: 1.05) ~group_threshold (int, default: 2) ~queue_size (int, default: 3)

HoG based People Detection

lk flow

Example of People Detection

Motion Analysis Nodes

goodfeature_track

Determines strong corners on input ROS sensor_msgs/Image using goodFeatureToTrack and outputs detected corners as ROS opencv_apps/Point2DArrayStamped message. See goodFeaturesToTrack_Demo.cpp for more info.

Subscribed Topics

image (sensor_msgs/Image)

Published Topics

image (sensor_msgs/Image) corners (opencv_apps/Point2DArrayStamped)

Parameters

~use_camera_info (bool, default: true) ~debug_view (bool, default: false) ~max_corners (int, default: 23) ~queue_size (int, default: 3)

Good Features to Track

Good Features to Track

Example of Good Features to Track

camshift

Find an object center, size and orientation of a input ROS sensor_msgs/Image using CamShift algorithm and outputs detected object as ROS invalid message type for MsgLink(msg/type) message. See camshiftdemo.cpp for more info.

Subscribed Topics

image (sensor_msgs/Image)

Published Topics

image (sensor_msgs/Image) back_project (sensor_msgs/Image) track_box (opencv_apps/RotatedRectStamped)

Parameters

~use_camera_info (bool, default: true) ~debug_view (bool, default: false) ~histogram (array, default: []) ~vmin (int, default: 10) ~vmax (int, default: 256) ~smin (int, default: 30) ~queue_size (int, default: 3)

Camshift

Camshift Result

Camshift Back Project

Outputs of Camshift Results

Outputs of Camshift Back Projection of the object histogram

fback_flow

Calculate dense opetical flow using Gunnar Farneback Algorithm. This node outputs invalid message type for MsgLink(msg/type) message. See fback.cpp for more info.

Subscribed Topics

image (sensor_msgs/Image)

Published Topics

image (sensor_msgs/Image) flows (opencv_apps/FlowArrayStamped)

Parameters

~use_camera_info (bool, default: true) ~debug_view (bool, default: false) ~queue_size (int, default: 3)

lk_flow

Calculates an optical flow for a sparse feature set using the iterative Lucas-Kanade method with pyramids and outputs invalid message type for MsgLink(msg/type) message. See lkdemo.cpp for more info

Subscribed Topics

image (sensor_msgs/Image)

Published Topics

image (sensor_msgs/Image) flows (opencv_apps/FlowArrayStamped)

Services

initialize_points (invalid message type for SrvLink(srv/type)) delete_points (invalid message type for SrvLink(srv/type)) toggle_night_mode (invalid message type for SrvLink(srv/type))

Parameters

~use_camera_info (bool, default: true) ~debug_view (bool, default: false) ~quality_level (double, default: 0.01) ~min_distance (int, default: 10) ~block_size (int, default: 3) ~harris_k (double, default: 0.04) ~queue_size (int, default: 3)

phase_corr

The node detects the translational shift in the frequency domain based on the Fourier shift theorem. See phase_corr.cpp for more info.

Subscribed Topics

image (sensor_msgs/Image)

Published Topics

image (sensor_msgs/Image) shift (opencv_apps/Point2DStamped)

Parameters

~use_camera_info (bool, default: true) ~debug_view (bool, default: false) ~queue_size (int, default: 3)

simple_flow

Calculate dense opetical flow using Simple Flow algorithm. This node outputs invalid message type for MsgLink(msg/type) message. See simpleflow_demo.cpp for more info.

Subscribed Topics

image (sensor_msgs/Image) flows (opencv_apps/FlowArrayStamped)

Published Topics

image (sensor_msgs/Image)

Parameters

~use_camera_info (bool, default: true) ~debug_view (bool, default: false) ~scale (int, default: 4) ~queue_size (int, default: 3)

Optical Flow

fback flow

lk flow

Dense Optical Flow using Gunner Farenback Algorithm

Optical Flow for sparse features set using Lucas-Kanade Method

phase correct

simple flow

Translational shift in the frequency domain

Dense optical flow using Simple Flow algorithm

Object Segmentaion Nodes

segment_objects

This node apply Gaussian Mixture-based Background/Foreground Segmentation algorithm to input ROS sensor_msgs/Image and outputs segemted region as opencv_apps/ContourArrayStamped and area as std_msgs/Float64.

Subscribed Topics

image (sensor_msgs/Image)

Published Topics

image (sensor_msgs/Image) contours (opencv_apps/ContoruArrayStamped) area (std_msgs/Float64)

Services

update_bg_model (invalid message type for SrvLink(srv/type))

Parameters

~use_camera_info (bool, default: true) ~debug_view (bool, default: false) ~queue_size (int, default: 3)

watershed_segmentation

This node apply the watershed segmentation algorithm to input ROS sensor_msgs/Image and outputs segemted region as opencv_apps/ContourArrayStamped

Subscribed Topics

image (sensor_msgs/Image) contours (opencv_apps/ContourArrayStamped)

Published Topics

image (sensor_msgs/Image)

Parameters

~use_camera_info (bool, default: true) ~debug_view (bool, default: false) ~queue_size (int, default: 3)

Object Segmentation

segment objects

simple flow

Gaussian Mixture-based Background/Foreground Segmentatoin

Watershed Segmentation

Image Filter Nodes

New feature as of version 1.11.15

rgb_color_filter

This node filters the image by RGB color and generates a mask image.

Subscribed Topics

image (sensor_msgs/Image)

Published Topics

image (sensor_msgs/Image)

Parameters

~use_camera_info (bool, default: true) ~debug_view (bool, default: false) ~r_limit_max (int, default: 250) ~r_limit_min (int, default: 50) ~g_limit_max (int, default: 200) ~g_limit_min (int, default: 100) ~b_limit_max (int, default: 150) ~b_limit_min (int, default: 20) ~queue_size (int, default: 3)

hls_color_filter

This node filters the image by HSL color and generates a mask image.

Subscribed Topics

image (sensor_msgs/Image)

Published Topics

image (sensor_msgs/Image)

Parameters

~use_camera_info (bool, default: true) ~debug_view (bool, default: false) ~h_limit_max (int, default: 250) ~h_limit_min (int, default: 0) ~s_limit_max (int, default: 255) ~s_limit_min (int, default: 150) ~l_limit_max (int, default: 255) ~l_limit_min (int, default: 50) ~queue_size (int, default: 3)

hsv_color_filter

This node filters the image by HSL color and generates a mask image.

Subscribed Topics

image (sensor_msgs/Image)

Published Topics

image (sensor_msgs/Image)

Parameters

~use_camera_info (bool, default: true) ~debug_view (bool, default: false) ~h_limit_max (int, default: 250) ~h_limit_min (int, default: 0) ~s_limit_max (int, default: 255) ~s_limit_min (int, default: 150) ~v_limit_max (int, default: 255) ~v_limit_min (int, default: 50) ~queue_size (int, default: 3)

Color filter examples

Outputs of RGB color filter

Outputs of HSL color filter

Outputs of HSV color filter

Outputs of RGB color filter

Outputs of HSL color filter

Outputs of HSV color filter


2019-11-16 13:06