-
 

color_util repository

Repository Summary

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

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)

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

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

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)

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

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

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)

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

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

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)

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

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

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)

CONTRIBUTING

No CONTRIBUTING.md found.