Package boofcv.alg.color
Class ColorHsv
java.lang.Object
boofcv.alg.color.ColorHsv
Color conversion between RGB and HSV color spaces. HSV stands for Hue-Saturation-Value. "Hue" has a range of [0,2*PI] and "Saturation" has a range of [0,1], the two together represent the color. While "Value" has the same range as the input pixels and represents how light/dark the color is. Original algorithm taken from [1] and modified slightly.
NOTE: The hue is represented in radians instead of degrees, as is often done.
NOTE: Hue will be set to NaN if it is undefined. It is undefined when chroma is zero, which happens when the input
color is a pure gray (e.g. same value across all color bands).
RGB to HSV:
min = min(r,g,b) max = max(r,g,b) delta = max-min // this is the chroma value = max if( max != 0 ) saturation = delta/max else saturation = 0; hue = NaN if( r == max ) hue = (g-b)/delta else if( g == max ) hue = 2 + (b-r)/delta else hue = 4 + (r-g)/delta hue *= 60.0*PI/180.0 if( hue < 0 ) hue += 2.0*PI
[1] http://www.cs.rit.edu/~ncs/color/t_convert.html
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic int
hsvToRgb
(double h, double s, double v) Convert HSV color into 32-bit int RGB colorstatic void
hsvToRgb
(double h, double s, double v, double[] rgb) Convert HSV color into RGB colorstatic void
hsvToRgb
(float h, float s, float v, float[] rgb) Convert HSV color into RGB colorstatic <T extends ImageGray<T>>
voidConverts an image from HSV into RGB.static void
rgbToHsv
(double r, double g, double b, double[] hsv) Convert RGB color into HSV colorstatic void
rgbToHsv
(float r, float g, float b, float[] hsv) Convert RGB color into HSV colorstatic <T extends ImageGray<T>>
voidConverts an image from RGB into HSV.
-
Field Details
-
d60_F64
public static final double d60_F64- See Also:
-
d60_F32
public static final float d60_F32- See Also:
-
PI2_F64
public static final double PI2_F64- See Also:
-
PI2_F32
public static final float PI2_F32- See Also:
-
-
Constructor Details
-
ColorHsv
public ColorHsv()
-
-
Method Details
-
hsvToRgb
public static int hsvToRgb(double h, double s, double v) Convert HSV color into 32-bit int RGB color- Parameters:
h
- Hue [0,2*PI]s
- Saturation [0,1]v
- Value. Assumes to have a range of 0 to 255- Returns:
- RGB
-
hsvToRgb
public static void hsvToRgb(double h, double s, double v, double[] rgb) Convert HSV color into RGB color- Parameters:
h
- Hue [0,2*PI]s
- Saturation [0,1]v
- Valuergb
- (Output) RGB value
-
hsvToRgb
public static void hsvToRgb(float h, float s, float v, float[] rgb) Convert HSV color into RGB color- Parameters:
h
- Hue [0,2*PI]s
- Saturation [0,1]v
- Valuergb
- (Output) RGB value
-
rgbToHsv
public static void rgbToHsv(double r, double g, double b, double[] hsv) Convert RGB color into HSV color- Parameters:
r
- redg
- greenb
- bluehsv
- (Output) HSV value.
-
rgbToHsv
public static void rgbToHsv(float r, float g, float b, float[] hsv) Convert RGB color into HSV color- Parameters:
r
- redg
- greenb
- bluehsv
- (Output) HSV value.
-
hsvToRgb
Converts an image from HSV into RGB.- Parameters:
hsv
- (Input) Image in HSV formatrgb
- (Output) Image in RGB format
-
rgbToHsv
Converts an image from RGB into HSV. Pixels must have a value within the range of [0,1].- Parameters:
rgb
- (Input) Image in RGB formathsv
- (Output) Image in HSV format
-