/// <summary>
        /// Converts YUV to RGB.
        /// </summary>
        /// <param name="y">Y must be in [0, 1].</param>
        /// <param name="u">U must be in [-0.436, +0.436].</param>
        /// <param name="v">V must be in [-0.615, +0.615].</param>
        public static RGB YUVtoRGB(double y, double u, double v) {
            RGB rgb = new RGB();

            rgb.Red = Convert.ToInt32((y + 1.139837398373983740*v)*255);
            rgb.Green = Convert.ToInt32((y - 0.3946517043589703515*u - 0.5805986066674976801*v)*255);
            rgb.Blue = Convert.ToInt32((y + 2.032110091743119266*u)*255);

            return rgb;
        }
 /// <summary>
 /// Converts RGB to CIELab.
 /// </summary>
 public static CIELab RGBtoLab(RGB rgb) {
     return XYZtoLab(RGBtoXYZ(rgb.Red, rgb.Green, rgb.Blue));
 }
 /// <summary>
 /// Converts RGB to CIEXYZ.
 /// </summary>
 public static CIEXYZ RGBtoXYZ(RGB rgb) {
     return RGBtoXYZ(rgb.Red, rgb.Green, rgb.Blue);
 }
 /// <summary>
 /// Converts RGB to YUV.
 /// </summary>
 public static YUV RGBtoYUV(RGB rgb) {
     return RGBtoYUV(rgb.Red, rgb.Green, rgb.Blue);
 }
 /// <summary>
 /// Converts RGB to CMYK
 /// </summary>
 public static CMYK RGBtoCMYK(RGB rgb) {
     return RGBtoCMYK(rgb.Red, rgb.Green, rgb.Blue);
 }
 /// <summary> 
 /// Converts RGB to HSB.
 /// </summary> 
 public static HSB RGBtoHSB(RGB rgb) {
     return RGBtoHSB(rgb.Red, rgb.Green, rgb.Blue);
 }