Find object with color filtering¶
Introduction¶
In this tutorial, we show a sample of finding object by color.
Step by step¶
First, you need image topic, so please run tutorial_image_publisher.launch
in
previous tutorial,
and below rostopic list
output is expected:
$ rostopic list
/image_publisher/output
/image_publisher/output/camera_info
/image_publisher/parameter_descriptions
/image_publisher/parameter_updates
/image_view/output
/image_view/parameter_descriptions
/image_view/parameter_updates
/rosout
/rosout_agg
For color filtering, you can use hsv_color_filter:
$ rosrun opencv_apps hsv_color_filter image:=/image_publisher/output \
_use_camera_info:=false __name:=hsv_color_filter
$ rosrun image_view image_view image:=/hsv_color_filter/image
You can reconfigure rosparam using rqt_reconfigure.
rosrun rqt_reconfigure rqt_reconfigure
You can set parameters as below:
The result is like below:
A single command¶
You can run upper programs in a single command with writing file:
$ vim tutorial_color_filtering.launch
Or you can download the file from:
<launch>
<node name="hsv_color_filter"
pkg="opencv_apps" type="hsv_color_filter">
<remap from="image" to="image_publisher/output" />
<rosparam>
use_camera_info: false
h_limit_max: 360
h_limit_min: 340
s_limit_max: 220
s_limit_min: 170
v_limit_max: 130
v_limit_min: 80
</rosparam>
</node>
<node name="image_view_color_filtering"
pkg="image_view" type="image_view">
<remap from="image" to="hsv_color_filter/image" />
</node>
<node name="rqt_reconfigure"
pkg="rqt_reconfigure" type="rqt_reconfigure"
args="hsv_color_filter">
</node>
</launch>
You can launch the roslaunch file by:
$ roslaunch ./tutorial_color_filtering.launch