Repo symbol

color_util repository

color_util

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MetroRobots/color_util.git
VCS Type git
VCS Version pre_kilted
Last Updated 2025-04-08
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
color_util 1.0.0

README

color_util

An almost dependency-less library for converting between color spaces

Datatypes

This package contains representations for two different color spaces with two different datatypes in include/color_util/types.hpp:

  • Red-Green-Blue-Alpha (RGBA)
  • Hue-Saturation-Value-Alpha (HSVA).

Each of these are represented with two datatypes.

  • Four doubles with values ranging [0.0, 1.0]
  • Four unsigned chars with values ranging [0, 255].

Note that with unsigned char, the color is represented by a total of 24 bits, which we use for notation. The four resulting types are

  • ColorRGBA - RGBA/double
  • ColorRGBA24 - RGBA/unsigned char
  • ColorHSVA - HSVA/double
  • ColorHSVA24 - HSVA/unsigned char

Conversions

With include/color_util/convert.hpp, you can convert between the above types and to std_msgs::msg::ColorRGBA (which has floating point as its datatype).

Blending

With include/color_util/blend.hpp, you can create mixtures of two different colors. There are three options.

Blend Method Image Note
rgbaBlend rgba blend example Linear interpolation of the RGBA values. Note that the bars in the middle are less saturated than the edges.
hueBlend hue blend example Linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through green (hue=0.3)
hueBlendPlus hue blend plus example Respects the circular nature of the hue representation and uses the shortest linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through magenta (hue=0.8)

You can experiment with the blending methods by running roslaunch robot_nav_viz_demos spectrum_demo.launch.

Named Colors

For certain applications, there is a need for accessing specific colors, and it can be annoying to have to specify hex values for each individual color. Other times, you may want to access a list of some number of unique colors. For this, this package provides the named_colors header which allows you to access an array of 55 named colors either through a vector or an enum. The colors are made up of 18 colors, each with a standard, light and dark variant, plus transparent.

color values

The list can be accessed with color_util::getNamedColors() and individual colors can be grabbed with color_util::get(NamedColor::RED)

Repo symbol

color_util repository

color_util

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/MetroRobots/color_util.git
VCS Type git
VCS Version pre_kilted
Last Updated 2025-04-08
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
color_util 1.0.0

README

color_util

An almost dependency-less library for converting between color spaces

Datatypes

This package contains representations for two different color spaces with two different datatypes in include/color_util/types.hpp:

  • Red-Green-Blue-Alpha (RGBA)
  • Hue-Saturation-Value-Alpha (HSVA).

Each of these are represented with two datatypes.

  • Four doubles with values ranging [0.0, 1.0]
  • Four unsigned chars with values ranging [0, 255].

Note that with unsigned char, the color is represented by a total of 24 bits, which we use for notation. The four resulting types are

  • ColorRGBA - RGBA/double
  • ColorRGBA24 - RGBA/unsigned char
  • ColorHSVA - HSVA/double
  • ColorHSVA24 - HSVA/unsigned char

Conversions

With include/color_util/convert.hpp, you can convert between the above types and to std_msgs::msg::ColorRGBA (which has floating point as its datatype).

Blending

With include/color_util/blend.hpp, you can create mixtures of two different colors. There are three options.

Blend Method Image Note
rgbaBlend rgba blend example Linear interpolation of the RGBA values. Note that the bars in the middle are less saturated than the edges.
hueBlend hue blend example Linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through green (hue=0.3)
hueBlendPlus hue blend plus example Respects the circular nature of the hue representation and uses the shortest linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through magenta (hue=0.8)

You can experiment with the blending methods by running roslaunch robot_nav_viz_demos spectrum_demo.launch.

Named Colors

For certain applications, there is a need for accessing specific colors, and it can be annoying to have to specify hex values for each individual color. Other times, you may want to access a list of some number of unique colors. For this, this package provides the named_colors header which allows you to access an array of 55 named colors either through a vector or an enum. The colors are made up of 18 colors, each with a standard, light and dark variant, plus transparent.

color values

The list can be accessed with color_util::getNamedColors() and individual colors can be grabbed with color_util::get(NamedColor::RED)

Repo symbol

color_util repository

color_util

ROS Distro
kilted

Repository Summary

Checkout URI https://github.com/MetroRobots/color_util.git
VCS Type git
VCS Version main
Last Updated 2025-07-08
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
color_util 1.1.0

README

color_util

An almost dependency-less library for converting between color spaces

Datatypes

This package contains representations for two different color spaces with two different datatypes in include/color_util/types.hpp:

  • Red-Green-Blue-Alpha (RGBA)
  • Hue-Saturation-Value-Alpha (HSVA).

Each of these are represented with two datatypes.

  • Four doubles with values ranging [0.0, 1.0]
  • Four unsigned chars with values ranging [0, 255].

Note that with unsigned char, the color is represented by a total of 24 bits, which we use for notation. The four resulting types are

  • ColorRGBA - RGBA/double
  • ColorRGBA24 - RGBA/unsigned char
  • ColorHSVA - HSVA/double
  • ColorHSVA24 - HSVA/unsigned char

Conversions

With include/color_util/convert.hpp, you can convert between the above types and to std_msgs::msg::ColorRGBA (which has floating point as its datatype).

Blending

With include/color_util/blend.hpp, you can create mixtures of two different colors. There are three options.

Blend Method Image Note
rgbaBlend rgba blend example Linear interpolation of the RGBA values. Note that the bars in the middle are less saturated than the edges.
hueBlend hue blend example Linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through green (hue=0.3)
hueBlendPlus hue blend plus example Respects the circular nature of the hue representation and uses the shortest linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through magenta (hue=0.8)

You can experiment with the blending methods by running roslaunch robot_nav_viz_demos spectrum_demo.launch.

Named Colors

For certain applications, there is a need for accessing specific colors, and it can be annoying to have to specify hex values for each individual color. Other times, you may want to access a list of some number of unique colors. For this, this package provides the named_colors header which allows you to access an array of 55 named colors either through a vector or an enum. The colors are made up of 18 colors, each with a standard, light and dark variant, plus transparent.

color values

The list can be accessed with color_util::getNamedColors() and individual colors can be grabbed with color_util::get(NamedColor::RED)

Repo symbol

color_util repository

color_util

ROS Distro
rolling

Repository Summary

Checkout URI https://github.com/MetroRobots/color_util.git
VCS Type git
VCS Version main
Last Updated 2025-07-08
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
color_util 1.1.0

README

color_util

An almost dependency-less library for converting between color spaces

Datatypes

This package contains representations for two different color spaces with two different datatypes in include/color_util/types.hpp:

  • Red-Green-Blue-Alpha (RGBA)
  • Hue-Saturation-Value-Alpha (HSVA).

Each of these are represented with two datatypes.

  • Four doubles with values ranging [0.0, 1.0]
  • Four unsigned chars with values ranging [0, 255].

Note that with unsigned char, the color is represented by a total of 24 bits, which we use for notation. The four resulting types are

  • ColorRGBA - RGBA/double
  • ColorRGBA24 - RGBA/unsigned char
  • ColorHSVA - HSVA/double
  • ColorHSVA24 - HSVA/unsigned char

Conversions

With include/color_util/convert.hpp, you can convert between the above types and to std_msgs::msg::ColorRGBA (which has floating point as its datatype).

Blending

With include/color_util/blend.hpp, you can create mixtures of two different colors. There are three options.

Blend Method Image Note
rgbaBlend rgba blend example Linear interpolation of the RGBA values. Note that the bars in the middle are less saturated than the edges.
hueBlend hue blend example Linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through green (hue=0.3)
hueBlendPlus hue blend plus example Respects the circular nature of the hue representation and uses the shortest linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through magenta (hue=0.8)

You can experiment with the blending methods by running roslaunch robot_nav_viz_demos spectrum_demo.launch.

Named Colors

For certain applications, there is a need for accessing specific colors, and it can be annoying to have to specify hex values for each individual color. Other times, you may want to access a list of some number of unique colors. For this, this package provides the named_colors header which allows you to access an array of 55 named colors either through a vector or an enum. The colors are made up of 18 colors, each with a standard, light and dark variant, plus transparent.

color values

The list can be accessed with color_util::getNamedColors() and individual colors can be grabbed with color_util::get(NamedColor::RED)

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

color_util repository

color_util

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MetroRobots/color_util.git
VCS Type git
VCS Version pre_kilted
Last Updated 2025-04-08
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
color_util 1.0.0

README

color_util

An almost dependency-less library for converting between color spaces

Datatypes

This package contains representations for two different color spaces with two different datatypes in include/color_util/types.hpp:

  • Red-Green-Blue-Alpha (RGBA)
  • Hue-Saturation-Value-Alpha (HSVA).

Each of these are represented with two datatypes.

  • Four doubles with values ranging [0.0, 1.0]
  • Four unsigned chars with values ranging [0, 255].

Note that with unsigned char, the color is represented by a total of 24 bits, which we use for notation. The four resulting types are

  • ColorRGBA - RGBA/double
  • ColorRGBA24 - RGBA/unsigned char
  • ColorHSVA - HSVA/double
  • ColorHSVA24 - HSVA/unsigned char

Conversions

With include/color_util/convert.hpp, you can convert between the above types and to std_msgs::msg::ColorRGBA (which has floating point as its datatype).

Blending

With include/color_util/blend.hpp, you can create mixtures of two different colors. There are three options.

Blend Method Image Note
rgbaBlend rgba blend example Linear interpolation of the RGBA values. Note that the bars in the middle are less saturated than the edges.
hueBlend hue blend example Linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through green (hue=0.3)
hueBlendPlus hue blend plus example Respects the circular nature of the hue representation and uses the shortest linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through magenta (hue=0.8)

You can experiment with the blending methods by running roslaunch robot_nav_viz_demos spectrum_demo.launch.

Named Colors

For certain applications, there is a need for accessing specific colors, and it can be annoying to have to specify hex values for each individual color. Other times, you may want to access a list of some number of unique colors. For this, this package provides the named_colors header which allows you to access an array of 55 named colors either through a vector or an enum. The colors are made up of 18 colors, each with a standard, light and dark variant, plus transparent.

color values

The list can be accessed with color_util::getNamedColors() and individual colors can be grabbed with color_util::get(NamedColor::RED)

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

color_util repository

color_util

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MetroRobots/color_util.git
VCS Type git
VCS Version pre_kilted
Last Updated 2025-04-08
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
color_util 1.0.0

README

color_util

An almost dependency-less library for converting between color spaces

Datatypes

This package contains representations for two different color spaces with two different datatypes in include/color_util/types.hpp:

  • Red-Green-Blue-Alpha (RGBA)
  • Hue-Saturation-Value-Alpha (HSVA).

Each of these are represented with two datatypes.

  • Four doubles with values ranging [0.0, 1.0]
  • Four unsigned chars with values ranging [0, 255].

Note that with unsigned char, the color is represented by a total of 24 bits, which we use for notation. The four resulting types are

  • ColorRGBA - RGBA/double
  • ColorRGBA24 - RGBA/unsigned char
  • ColorHSVA - HSVA/double
  • ColorHSVA24 - HSVA/unsigned char

Conversions

With include/color_util/convert.hpp, you can convert between the above types and to std_msgs::msg::ColorRGBA (which has floating point as its datatype).

Blending

With include/color_util/blend.hpp, you can create mixtures of two different colors. There are three options.

Blend Method Image Note
rgbaBlend rgba blend example Linear interpolation of the RGBA values. Note that the bars in the middle are less saturated than the edges.
hueBlend hue blend example Linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through green (hue=0.3)
hueBlendPlus hue blend plus example Respects the circular nature of the hue representation and uses the shortest linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through magenta (hue=0.8)

You can experiment with the blending methods by running roslaunch robot_nav_viz_demos spectrum_demo.launch.

Named Colors

For certain applications, there is a need for accessing specific colors, and it can be annoying to have to specify hex values for each individual color. Other times, you may want to access a list of some number of unique colors. For this, this package provides the named_colors header which allows you to access an array of 55 named colors either through a vector or an enum. The colors are made up of 18 colors, each with a standard, light and dark variant, plus transparent.

color values

The list can be accessed with color_util::getNamedColors() and individual colors can be grabbed with color_util::get(NamedColor::RED)

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

color_util repository

color_util

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MetroRobots/color_util.git
VCS Type git
VCS Version pre_kilted
Last Updated 2025-04-08
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
color_util 1.0.0

README

color_util

An almost dependency-less library for converting between color spaces

Datatypes

This package contains representations for two different color spaces with two different datatypes in include/color_util/types.hpp:

  • Red-Green-Blue-Alpha (RGBA)
  • Hue-Saturation-Value-Alpha (HSVA).

Each of these are represented with two datatypes.

  • Four doubles with values ranging [0.0, 1.0]
  • Four unsigned chars with values ranging [0, 255].

Note that with unsigned char, the color is represented by a total of 24 bits, which we use for notation. The four resulting types are

  • ColorRGBA - RGBA/double
  • ColorRGBA24 - RGBA/unsigned char
  • ColorHSVA - HSVA/double
  • ColorHSVA24 - HSVA/unsigned char

Conversions

With include/color_util/convert.hpp, you can convert between the above types and to std_msgs::msg::ColorRGBA (which has floating point as its datatype).

Blending

With include/color_util/blend.hpp, you can create mixtures of two different colors. There are three options.

Blend Method Image Note
rgbaBlend rgba blend example Linear interpolation of the RGBA values. Note that the bars in the middle are less saturated than the edges.
hueBlend hue blend example Linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through green (hue=0.3)
hueBlendPlus hue blend plus example Respects the circular nature of the hue representation and uses the shortest linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through magenta (hue=0.8)

You can experiment with the blending methods by running roslaunch robot_nav_viz_demos spectrum_demo.launch.

Named Colors

For certain applications, there is a need for accessing specific colors, and it can be annoying to have to specify hex values for each individual color. Other times, you may want to access a list of some number of unique colors. For this, this package provides the named_colors header which allows you to access an array of 55 named colors either through a vector or an enum. The colors are made up of 18 colors, each with a standard, light and dark variant, plus transparent.

color values

The list can be accessed with color_util::getNamedColors() and individual colors can be grabbed with color_util::get(NamedColor::RED)

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

color_util repository

color_util

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MetroRobots/color_util.git
VCS Type git
VCS Version pre_kilted
Last Updated 2025-04-08
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
color_util 1.0.0

README

color_util

An almost dependency-less library for converting between color spaces

Datatypes

This package contains representations for two different color spaces with two different datatypes in include/color_util/types.hpp:

  • Red-Green-Blue-Alpha (RGBA)
  • Hue-Saturation-Value-Alpha (HSVA).

Each of these are represented with two datatypes.

  • Four doubles with values ranging [0.0, 1.0]
  • Four unsigned chars with values ranging [0, 255].

Note that with unsigned char, the color is represented by a total of 24 bits, which we use for notation. The four resulting types are

  • ColorRGBA - RGBA/double
  • ColorRGBA24 - RGBA/unsigned char
  • ColorHSVA - HSVA/double
  • ColorHSVA24 - HSVA/unsigned char

Conversions

With include/color_util/convert.hpp, you can convert between the above types and to std_msgs::msg::ColorRGBA (which has floating point as its datatype).

Blending

With include/color_util/blend.hpp, you can create mixtures of two different colors. There are three options.

Blend Method Image Note
rgbaBlend rgba blend example Linear interpolation of the RGBA values. Note that the bars in the middle are less saturated than the edges.
hueBlend hue blend example Linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through green (hue=0.3)
hueBlendPlus hue blend plus example Respects the circular nature of the hue representation and uses the shortest linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through magenta (hue=0.8)

You can experiment with the blending methods by running roslaunch robot_nav_viz_demos spectrum_demo.launch.

Named Colors

For certain applications, there is a need for accessing specific colors, and it can be annoying to have to specify hex values for each individual color. Other times, you may want to access a list of some number of unique colors. For this, this package provides the named_colors header which allows you to access an array of 55 named colors either through a vector or an enum. The colors are made up of 18 colors, each with a standard, light and dark variant, plus transparent.

color values

The list can be accessed with color_util::getNamedColors() and individual colors can be grabbed with color_util::get(NamedColor::RED)

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

color_util repository

color_util

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MetroRobots/color_util.git
VCS Type git
VCS Version pre_kilted
Last Updated 2025-04-08
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
color_util 1.0.0

README

color_util

An almost dependency-less library for converting between color spaces

Datatypes

This package contains representations for two different color spaces with two different datatypes in include/color_util/types.hpp:

  • Red-Green-Blue-Alpha (RGBA)
  • Hue-Saturation-Value-Alpha (HSVA).

Each of these are represented with two datatypes.

  • Four doubles with values ranging [0.0, 1.0]
  • Four unsigned chars with values ranging [0, 255].

Note that with unsigned char, the color is represented by a total of 24 bits, which we use for notation. The four resulting types are

  • ColorRGBA - RGBA/double
  • ColorRGBA24 - RGBA/unsigned char
  • ColorHSVA - HSVA/double
  • ColorHSVA24 - HSVA/unsigned char

Conversions

With include/color_util/convert.hpp, you can convert between the above types and to std_msgs::msg::ColorRGBA (which has floating point as its datatype).

Blending

With include/color_util/blend.hpp, you can create mixtures of two different colors. There are three options.

Blend Method Image Note
rgbaBlend rgba blend example Linear interpolation of the RGBA values. Note that the bars in the middle are less saturated than the edges.
hueBlend hue blend example Linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through green (hue=0.3)
hueBlendPlus hue blend plus example Respects the circular nature of the hue representation and uses the shortest linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through magenta (hue=0.8)

You can experiment with the blending methods by running roslaunch robot_nav_viz_demos spectrum_demo.launch.

Named Colors

For certain applications, there is a need for accessing specific colors, and it can be annoying to have to specify hex values for each individual color. Other times, you may want to access a list of some number of unique colors. For this, this package provides the named_colors header which allows you to access an array of 55 named colors either through a vector or an enum. The colors are made up of 18 colors, each with a standard, light and dark variant, plus transparent.

color values

The list can be accessed with color_util::getNamedColors() and individual colors can be grabbed with color_util::get(NamedColor::RED)

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

color_util repository

color_util

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MetroRobots/color_util.git
VCS Type git
VCS Version pre_kilted
Last Updated 2025-04-08
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
color_util 1.0.0

README

color_util

An almost dependency-less library for converting between color spaces

Datatypes

This package contains representations for two different color spaces with two different datatypes in include/color_util/types.hpp:

  • Red-Green-Blue-Alpha (RGBA)
  • Hue-Saturation-Value-Alpha (HSVA).

Each of these are represented with two datatypes.

  • Four doubles with values ranging [0.0, 1.0]
  • Four unsigned chars with values ranging [0, 255].

Note that with unsigned char, the color is represented by a total of 24 bits, which we use for notation. The four resulting types are

  • ColorRGBA - RGBA/double
  • ColorRGBA24 - RGBA/unsigned char
  • ColorHSVA - HSVA/double
  • ColorHSVA24 - HSVA/unsigned char

Conversions

With include/color_util/convert.hpp, you can convert between the above types and to std_msgs::msg::ColorRGBA (which has floating point as its datatype).

Blending

With include/color_util/blend.hpp, you can create mixtures of two different colors. There are three options.

Blend Method Image Note
rgbaBlend rgba blend example Linear interpolation of the RGBA values. Note that the bars in the middle are less saturated than the edges.
hueBlend hue blend example Linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through green (hue=0.3)
hueBlendPlus hue blend plus example Respects the circular nature of the hue representation and uses the shortest linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through magenta (hue=0.8)

You can experiment with the blending methods by running roslaunch robot_nav_viz_demos spectrum_demo.launch.

Named Colors

For certain applications, there is a need for accessing specific colors, and it can be annoying to have to specify hex values for each individual color. Other times, you may want to access a list of some number of unique colors. For this, this package provides the named_colors header which allows you to access an array of 55 named colors either through a vector or an enum. The colors are made up of 18 colors, each with a standard, light and dark variant, plus transparent.

color values

The list can be accessed with color_util::getNamedColors() and individual colors can be grabbed with color_util::get(NamedColor::RED)

Repo symbol

color_util repository

color_util

ROS Distro
foxy

Repository Summary

Checkout URI https://github.com/MetroRobots/color_util.git
VCS Type git
VCS Version main
Last Updated 2025-07-08
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
color_util 1.1.0

README

color_util

An almost dependency-less library for converting between color spaces

Datatypes

This package contains representations for two different color spaces with two different datatypes in include/color_util/types.hpp:

  • Red-Green-Blue-Alpha (RGBA)
  • Hue-Saturation-Value-Alpha (HSVA).

Each of these are represented with two datatypes.

  • Four doubles with values ranging [0.0, 1.0]
  • Four unsigned chars with values ranging [0, 255].

Note that with unsigned char, the color is represented by a total of 24 bits, which we use for notation. The four resulting types are

  • ColorRGBA - RGBA/double
  • ColorRGBA24 - RGBA/unsigned char
  • ColorHSVA - HSVA/double
  • ColorHSVA24 - HSVA/unsigned char

Conversions

With include/color_util/convert.hpp, you can convert between the above types and to std_msgs::msg::ColorRGBA (which has floating point as its datatype).

Blending

With include/color_util/blend.hpp, you can create mixtures of two different colors. There are three options.

Blend Method Image Note
rgbaBlend rgba blend example Linear interpolation of the RGBA values. Note that the bars in the middle are less saturated than the edges.
hueBlend hue blend example Linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through green (hue=0.3)
hueBlendPlus hue blend plus example Respects the circular nature of the hue representation and uses the shortest linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through magenta (hue=0.8)

You can experiment with the blending methods by running roslaunch robot_nav_viz_demos spectrum_demo.launch.

Named Colors

For certain applications, there is a need for accessing specific colors, and it can be annoying to have to specify hex values for each individual color. Other times, you may want to access a list of some number of unique colors. For this, this package provides the named_colors header which allows you to access an array of 55 named colors either through a vector or an enum. The colors are made up of 18 colors, each with a standard, light and dark variant, plus transparent.

color values

The list can be accessed with color_util::getNamedColors() and individual colors can be grabbed with color_util::get(NamedColor::RED)

Repo symbol

color_util repository

color_util

ROS Distro
iron

Repository Summary

Checkout URI https://github.com/MetroRobots/color_util.git
VCS Type git
VCS Version main
Last Updated 2025-07-08
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
color_util 1.1.0

README

color_util

An almost dependency-less library for converting between color spaces

Datatypes

This package contains representations for two different color spaces with two different datatypes in include/color_util/types.hpp:

  • Red-Green-Blue-Alpha (RGBA)
  • Hue-Saturation-Value-Alpha (HSVA).

Each of these are represented with two datatypes.

  • Four doubles with values ranging [0.0, 1.0]
  • Four unsigned chars with values ranging [0, 255].

Note that with unsigned char, the color is represented by a total of 24 bits, which we use for notation. The four resulting types are

  • ColorRGBA - RGBA/double
  • ColorRGBA24 - RGBA/unsigned char
  • ColorHSVA - HSVA/double
  • ColorHSVA24 - HSVA/unsigned char

Conversions

With include/color_util/convert.hpp, you can convert between the above types and to std_msgs::msg::ColorRGBA (which has floating point as its datatype).

Blending

With include/color_util/blend.hpp, you can create mixtures of two different colors. There are three options.

Blend Method Image Note
rgbaBlend rgba blend example Linear interpolation of the RGBA values. Note that the bars in the middle are less saturated than the edges.
hueBlend hue blend example Linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through green (hue=0.3)
hueBlendPlus hue blend plus example Respects the circular nature of the hue representation and uses the shortest linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through magenta (hue=0.8)

You can experiment with the blending methods by running roslaunch robot_nav_viz_demos spectrum_demo.launch.

Named Colors

For certain applications, there is a need for accessing specific colors, and it can be annoying to have to specify hex values for each individual color. Other times, you may want to access a list of some number of unique colors. For this, this package provides the named_colors header which allows you to access an array of 55 named colors either through a vector or an enum. The colors are made up of 18 colors, each with a standard, light and dark variant, plus transparent.

color values

The list can be accessed with color_util::getNamedColors() and individual colors can be grabbed with color_util::get(NamedColor::RED)

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

color_util repository

color_util

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MetroRobots/color_util.git
VCS Type git
VCS Version pre_kilted
Last Updated 2025-04-08
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
color_util 1.0.0

README

color_util

An almost dependency-less library for converting between color spaces

Datatypes

This package contains representations for two different color spaces with two different datatypes in include/color_util/types.hpp:

  • Red-Green-Blue-Alpha (RGBA)
  • Hue-Saturation-Value-Alpha (HSVA).

Each of these are represented with two datatypes.

  • Four doubles with values ranging [0.0, 1.0]
  • Four unsigned chars with values ranging [0, 255].

Note that with unsigned char, the color is represented by a total of 24 bits, which we use for notation. The four resulting types are

  • ColorRGBA - RGBA/double
  • ColorRGBA24 - RGBA/unsigned char
  • ColorHSVA - HSVA/double
  • ColorHSVA24 - HSVA/unsigned char

Conversions

With include/color_util/convert.hpp, you can convert between the above types and to std_msgs::msg::ColorRGBA (which has floating point as its datatype).

Blending

With include/color_util/blend.hpp, you can create mixtures of two different colors. There are three options.

Blend Method Image Note
rgbaBlend rgba blend example Linear interpolation of the RGBA values. Note that the bars in the middle are less saturated than the edges.
hueBlend hue blend example Linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through green (hue=0.3)
hueBlendPlus hue blend plus example Respects the circular nature of the hue representation and uses the shortest linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through magenta (hue=0.8)

You can experiment with the blending methods by running roslaunch robot_nav_viz_demos spectrum_demo.launch.

Named Colors

For certain applications, there is a need for accessing specific colors, and it can be annoying to have to specify hex values for each individual color. Other times, you may want to access a list of some number of unique colors. For this, this package provides the named_colors header which allows you to access an array of 55 named colors either through a vector or an enum. The colors are made up of 18 colors, each with a standard, light and dark variant, plus transparent.

color values

The list can be accessed with color_util::getNamedColors() and individual colors can be grabbed with color_util::get(NamedColor::RED)

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

color_util repository

color_util

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MetroRobots/color_util.git
VCS Type git
VCS Version pre_kilted
Last Updated 2025-04-08
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
color_util 1.0.0

README

color_util

An almost dependency-less library for converting between color spaces

Datatypes

This package contains representations for two different color spaces with two different datatypes in include/color_util/types.hpp:

  • Red-Green-Blue-Alpha (RGBA)
  • Hue-Saturation-Value-Alpha (HSVA).

Each of these are represented with two datatypes.

  • Four doubles with values ranging [0.0, 1.0]
  • Four unsigned chars with values ranging [0, 255].

Note that with unsigned char, the color is represented by a total of 24 bits, which we use for notation. The four resulting types are

  • ColorRGBA - RGBA/double
  • ColorRGBA24 - RGBA/unsigned char
  • ColorHSVA - HSVA/double
  • ColorHSVA24 - HSVA/unsigned char

Conversions

With include/color_util/convert.hpp, you can convert between the above types and to std_msgs::msg::ColorRGBA (which has floating point as its datatype).

Blending

With include/color_util/blend.hpp, you can create mixtures of two different colors. There are three options.

Blend Method Image Note
rgbaBlend rgba blend example Linear interpolation of the RGBA values. Note that the bars in the middle are less saturated than the edges.
hueBlend hue blend example Linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through green (hue=0.3)
hueBlendPlus hue blend plus example Respects the circular nature of the hue representation and uses the shortest linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through magenta (hue=0.8)

You can experiment with the blending methods by running roslaunch robot_nav_viz_demos spectrum_demo.launch.

Named Colors

For certain applications, there is a need for accessing specific colors, and it can be annoying to have to specify hex values for each individual color. Other times, you may want to access a list of some number of unique colors. For this, this package provides the named_colors header which allows you to access an array of 55 named colors either through a vector or an enum. The colors are made up of 18 colors, each with a standard, light and dark variant, plus transparent.

color values

The list can be accessed with color_util::getNamedColors() and individual colors can be grabbed with color_util::get(NamedColor::RED)

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

color_util repository

color_util

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MetroRobots/color_util.git
VCS Type git
VCS Version pre_kilted
Last Updated 2025-04-08
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
color_util 1.0.0

README

color_util

An almost dependency-less library for converting between color spaces

Datatypes

This package contains representations for two different color spaces with two different datatypes in include/color_util/types.hpp:

  • Red-Green-Blue-Alpha (RGBA)
  • Hue-Saturation-Value-Alpha (HSVA).

Each of these are represented with two datatypes.

  • Four doubles with values ranging [0.0, 1.0]
  • Four unsigned chars with values ranging [0, 255].

Note that with unsigned char, the color is represented by a total of 24 bits, which we use for notation. The four resulting types are

  • ColorRGBA - RGBA/double
  • ColorRGBA24 - RGBA/unsigned char
  • ColorHSVA - HSVA/double
  • ColorHSVA24 - HSVA/unsigned char

Conversions

With include/color_util/convert.hpp, you can convert between the above types and to std_msgs::msg::ColorRGBA (which has floating point as its datatype).

Blending

With include/color_util/blend.hpp, you can create mixtures of two different colors. There are three options.

Blend Method Image Note
rgbaBlend rgba blend example Linear interpolation of the RGBA values. Note that the bars in the middle are less saturated than the edges.
hueBlend hue blend example Linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through green (hue=0.3)
hueBlendPlus hue blend plus example Respects the circular nature of the hue representation and uses the shortest linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through magenta (hue=0.8)

You can experiment with the blending methods by running roslaunch robot_nav_viz_demos spectrum_demo.launch.

Named Colors

For certain applications, there is a need for accessing specific colors, and it can be annoying to have to specify hex values for each individual color. Other times, you may want to access a list of some number of unique colors. For this, this package provides the named_colors header which allows you to access an array of 55 named colors either through a vector or an enum. The colors are made up of 18 colors, each with a standard, light and dark variant, plus transparent.

color values

The list can be accessed with color_util::getNamedColors() and individual colors can be grabbed with color_util::get(NamedColor::RED)

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

color_util repository

color_util

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MetroRobots/color_util.git
VCS Type git
VCS Version pre_kilted
Last Updated 2025-04-08
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
color_util 1.0.0

README

color_util

An almost dependency-less library for converting between color spaces

Datatypes

This package contains representations for two different color spaces with two different datatypes in include/color_util/types.hpp:

  • Red-Green-Blue-Alpha (RGBA)
  • Hue-Saturation-Value-Alpha (HSVA).

Each of these are represented with two datatypes.

  • Four doubles with values ranging [0.0, 1.0]
  • Four unsigned chars with values ranging [0, 255].

Note that with unsigned char, the color is represented by a total of 24 bits, which we use for notation. The four resulting types are

  • ColorRGBA - RGBA/double
  • ColorRGBA24 - RGBA/unsigned char
  • ColorHSVA - HSVA/double
  • ColorHSVA24 - HSVA/unsigned char

Conversions

With include/color_util/convert.hpp, you can convert between the above types and to std_msgs::msg::ColorRGBA (which has floating point as its datatype).

Blending

With include/color_util/blend.hpp, you can create mixtures of two different colors. There are three options.

Blend Method Image Note
rgbaBlend rgba blend example Linear interpolation of the RGBA values. Note that the bars in the middle are less saturated than the edges.
hueBlend hue blend example Linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through green (hue=0.3)
hueBlendPlus hue blend plus example Respects the circular nature of the hue representation and uses the shortest linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through magenta (hue=0.8)

You can experiment with the blending methods by running roslaunch robot_nav_viz_demos spectrum_demo.launch.

Named Colors

For certain applications, there is a need for accessing specific colors, and it can be annoying to have to specify hex values for each individual color. Other times, you may want to access a list of some number of unique colors. For this, this package provides the named_colors header which allows you to access an array of 55 named colors either through a vector or an enum. The colors are made up of 18 colors, each with a standard, light and dark variant, plus transparent.

color values

The list can be accessed with color_util::getNamedColors() and individual colors can be grabbed with color_util::get(NamedColor::RED)

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

color_util repository

color_util

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MetroRobots/color_util.git
VCS Type git
VCS Version pre_kilted
Last Updated 2025-04-08
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
color_util 1.0.0

README

color_util

An almost dependency-less library for converting between color spaces

Datatypes

This package contains representations for two different color spaces with two different datatypes in include/color_util/types.hpp:

  • Red-Green-Blue-Alpha (RGBA)
  • Hue-Saturation-Value-Alpha (HSVA).

Each of these are represented with two datatypes.

  • Four doubles with values ranging [0.0, 1.0]
  • Four unsigned chars with values ranging [0, 255].

Note that with unsigned char, the color is represented by a total of 24 bits, which we use for notation. The four resulting types are

  • ColorRGBA - RGBA/double
  • ColorRGBA24 - RGBA/unsigned char
  • ColorHSVA - HSVA/double
  • ColorHSVA24 - HSVA/unsigned char

Conversions

With include/color_util/convert.hpp, you can convert between the above types and to std_msgs::msg::ColorRGBA (which has floating point as its datatype).

Blending

With include/color_util/blend.hpp, you can create mixtures of two different colors. There are three options.

Blend Method Image Note
rgbaBlend rgba blend example Linear interpolation of the RGBA values. Note that the bars in the middle are less saturated than the edges.
hueBlend hue blend example Linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through green (hue=0.3)
hueBlendPlus hue blend plus example Respects the circular nature of the hue representation and uses the shortest linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through magenta (hue=0.8)

You can experiment with the blending methods by running roslaunch robot_nav_viz_demos spectrum_demo.launch.

Named Colors

For certain applications, there is a need for accessing specific colors, and it can be annoying to have to specify hex values for each individual color. Other times, you may want to access a list of some number of unique colors. For this, this package provides the named_colors header which allows you to access an array of 55 named colors either through a vector or an enum. The colors are made up of 18 colors, each with a standard, light and dark variant, plus transparent.

color values

The list can be accessed with color_util::getNamedColors() and individual colors can be grabbed with color_util::get(NamedColor::RED)

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

color_util repository

color_util

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MetroRobots/color_util.git
VCS Type git
VCS Version pre_kilted
Last Updated 2025-04-08
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
color_util 1.0.0

README

color_util

An almost dependency-less library for converting between color spaces

Datatypes

This package contains representations for two different color spaces with two different datatypes in include/color_util/types.hpp:

  • Red-Green-Blue-Alpha (RGBA)
  • Hue-Saturation-Value-Alpha (HSVA).

Each of these are represented with two datatypes.

  • Four doubles with values ranging [0.0, 1.0]
  • Four unsigned chars with values ranging [0, 255].

Note that with unsigned char, the color is represented by a total of 24 bits, which we use for notation. The four resulting types are

  • ColorRGBA - RGBA/double
  • ColorRGBA24 - RGBA/unsigned char
  • ColorHSVA - HSVA/double
  • ColorHSVA24 - HSVA/unsigned char

Conversions

With include/color_util/convert.hpp, you can convert between the above types and to std_msgs::msg::ColorRGBA (which has floating point as its datatype).

Blending

With include/color_util/blend.hpp, you can create mixtures of two different colors. There are three options.

Blend Method Image Note
rgbaBlend rgba blend example Linear interpolation of the RGBA values. Note that the bars in the middle are less saturated than the edges.
hueBlend hue blend example Linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through green (hue=0.3)
hueBlendPlus hue blend plus example Respects the circular nature of the hue representation and uses the shortest linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through magenta (hue=0.8)

You can experiment with the blending methods by running roslaunch robot_nav_viz_demos spectrum_demo.launch.

Named Colors

For certain applications, there is a need for accessing specific colors, and it can be annoying to have to specify hex values for each individual color. Other times, you may want to access a list of some number of unique colors. For this, this package provides the named_colors header which allows you to access an array of 55 named colors either through a vector or an enum. The colors are made up of 18 colors, each with a standard, light and dark variant, plus transparent.

color values

The list can be accessed with color_util::getNamedColors() and individual colors can be grabbed with color_util::get(NamedColor::RED)

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

color_util repository

color_util

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MetroRobots/color_util.git
VCS Type git
VCS Version pre_kilted
Last Updated 2025-04-08
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
color_util 1.0.0

README

color_util

An almost dependency-less library for converting between color spaces

Datatypes

This package contains representations for two different color spaces with two different datatypes in include/color_util/types.hpp:

  • Red-Green-Blue-Alpha (RGBA)
  • Hue-Saturation-Value-Alpha (HSVA).

Each of these are represented with two datatypes.

  • Four doubles with values ranging [0.0, 1.0]
  • Four unsigned chars with values ranging [0, 255].

Note that with unsigned char, the color is represented by a total of 24 bits, which we use for notation. The four resulting types are

  • ColorRGBA - RGBA/double
  • ColorRGBA24 - RGBA/unsigned char
  • ColorHSVA - HSVA/double
  • ColorHSVA24 - HSVA/unsigned char

Conversions

With include/color_util/convert.hpp, you can convert between the above types and to std_msgs::msg::ColorRGBA (which has floating point as its datatype).

Blending

With include/color_util/blend.hpp, you can create mixtures of two different colors. There are three options.

Blend Method Image Note
rgbaBlend rgba blend example Linear interpolation of the RGBA values. Note that the bars in the middle are less saturated than the edges.
hueBlend hue blend example Linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through green (hue=0.3)
hueBlendPlus hue blend plus example Respects the circular nature of the hue representation and uses the shortest linear interpolation of the HSVA values. In this example, it goes from red (hue=0.0) to blue (hue=0.6) through magenta (hue=0.8)

You can experiment with the blending methods by running roslaunch robot_nav_viz_demos spectrum_demo.launch.

Named Colors

For certain applications, there is a need for accessing specific colors, and it can be annoying to have to specify hex values for each individual color. Other times, you may want to access a list of some number of unique colors. For this, this package provides the named_colors header which allows you to access an array of 55 named colors either through a vector or an enum. The colors are made up of 18 colors, each with a standard, light and dark variant, plus transparent.

color values

The list can be accessed with color_util::getNamedColors() and individual colors can be grabbed with color_util::get(NamedColor::RED)