Commit dc58b844 authored by Sergi Hernandez's avatar Sergi Hernandez
Browse files

Added the first version of the README file.

parent ac1d508a
# Description
This ROS node is intended to easily and dynamically obtain the color segmentation parameters needed by the
[iri_blob_detector](https://gitlab.iri.upc.edu/seat_adc/iri_blob_detector "IRI blob detector node"). It provides
the GUI interface shown next:
![GUI interface](https://gitlab.iri.upc.edu/seat_adc/iri_color_calibration/blob/master/doc/color_calibration.png "GUI interface")
The GUI provides the following features:
* Display either the original or segmented images. The detected blobs are shown on screen.
* Select the desired pixels to define the desired color parameters by clicking on the image.
* Remove already selected pixels to avoid errors.
* Show the current color parameters with the selected pixels.
* Specify the maximum and minimum size of the desired blobs.
* Generate a YAML configuration file for the [iri_blob_detector](https://gitlab.iri.upc.edu/seat_adc/iri_blob_detector "IRI blob detector node").
The color identifier can also be introduced.
## subscribers
This node subscribes to the following topics:
* **~/original_image/camera_info** (sensor_msgs/CameraInfo.msg): provides the calibration information for the original image.
* **~/original_image/image_raw** (sensor_msgs/Image.msg): The original camera image.
* **~/segmented_image/camera_info** (sensor_msgs/CameraInfo.msg): provides the calibration information for the segmented image.
* **~/segmented_image/image_raw** (sensor_msgs/Image.msg): The segmented image generated by the iri_blob_detector node.
* **~/blobs** (iri_blob_detector/blob_array.msg): a list of all the connected regions generated by the iri_blob_detector node.
See the documentation of this node for more details on the information provided for each blob.
## services
This node provides the following service clients:
* ** ~/set_filter (iri_blob_detector/set_hsv_filter.srv): A service to change on-line the color parameters used by the iri_blob_detector.
# Dependencies
This node has the following dependencies:
* [iri_blob_detector](https://gitlab.iri.upc.edu/seat_adc/iri_blob_detector "IRI blob detector node"): see the documentation of this node for instructions on how to install it.
# How to use it
Download the node inside a catkin workspace:
git clone https://gitlab.iri.upc.edu/seat_adc/iri_color_calibration.git
Build the node:
roscd
cd ..
catkin_make --only-pkg-with-deps iri_color_calibration
This node provides two launch files:
* **blob_detector.launch**: this file includes the basic launch file for the iri_blob_detector node and launches the color calibration tool.
* **blob_detector_sim.launch**: this file include the the simulation launch file for the iri_blob_detector node and launches the color calibration tool.
It expects the model car simulator to be already running.
Once the node is running, the image seen by the camera should appear on screen.
First select the desired maximum and minimum sizes of the blobs depending on the size of the desired region. By default both values are set to 0 and no blob will appear on screen if they are not changed.
Start clicking with the mouse on the desired region. The RGB information of each pixel should appear on the right table, and the HSV filter parameters should be updated to reflect the current selection. Also, all the current detected blobs will appear on screen. If no blobs appear try to lower the minimum size or increase the maximum size parameters.
You can delete a single pixel from the list by selecting it and clicking the *delete selected* button. You can also start over by clicking the *delete all* button.
Continue selecting and deleting pixels from the image and modifying the maximum and minimum sizes of the blobs until you get the desired result. Then introduce an identifier name for the current color parameters in the *color ID* filed, and click the *save params* button.
A new window will appear that allows you to select the path and the filename of the new YAML file. The filename must include the .yaml extension.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment