EmguCV - 将彩色图像转换为 rg 色度

EmguCV - Convert color image to rg chromaticity

EmguCV 是否提供将彩色图像转换为 RG 色度 (see Wikipedia link) 的内置函数?

提前致谢。

至少在 v3.1 上,我无法在 EmguCV 中找到任何内置方法。所以,我最终采用了旧方法。

Image<Bgr, Byte> img_live = Live_Mat.ToImage<Bgr, Byte>();
            for (int i = 0; i < Live_Mat.Height; i++)
            {
                for (int j = 0; j < Live_Mat.Width; j++)
                {
                    float blue = img_live.Data[i, j, 0];
                    float green = img_live.Data[i, j, 1];
                    float red = img_live.Data[i, j, 2];

                    double sum = red + blue + green;
                    double r = red / sum;
                    double g = green / sum;
                    double b = blue / sum;

                    if (sum == 0)
                    {
                        r = 0;
                        g = 0;
                        b = 0;
                    }


                    img_live.Data[i, j, 0] = System.Convert.ToByte(Math.Round((b * AWB_rgb_mult), 0));
                    img_live.Data[i, j, 1] = System.Convert.ToByte(Math.Round((g * AWB_rgb_mult), 0));
                    img_live.Data[i, j, 2] = System.Convert.ToByte(Math.Round((r * AWB_rgb_mult), 0));


            }