示例#1
0
        private TransformationRGBtoLUV getDef(TransformationRGBtoLUV oldColor, TransformationRGBtoLUV newColor)
        {
            TransformationRGBtoLUV def = new TransformationRGBtoLUV("0", "0", "0");

            def.setL(oldColor.getL() - newColor.getL());
            def.setU(oldColor.getU() - newColor.getU());
            def.setV(oldColor.getV() - newColor.getV());
            return(def);
        }
示例#2
0
        private bool isChangedPixel(TransformationRGBtoLUV pixel, TransformationRGBtoLUV newLUV, int senset)
        {
            double def1 = Math.Pow((pixel.getL() - newLUV.getL()), 2);
            double def2 = Math.Pow(pixel.getU() - newLUV.getU(), 2);
            double def3 = Math.Pow(pixel.getV() - newLUV.getV(), 2);

            double def = Math.Pow(def1 + def2 + def3, 0.5);

            if (def < senset)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#3
0
        private Color findNewPixel(TransformationRGBtoLUV pixelLUV, TransformationRGBtoLUV def)
        {
            TransformationRGBtoLUV newPixel = new TransformationRGBtoLUV("0", "0", "0");

            newPixel.setL(pixelLUV.getL() - def.getL());
            newPixel.setU(pixelLUV.getU() - def.getU());
            newPixel.setV(pixelLUV.getV() - def.getV());

            TransformationLUVtoRGB newPixelRGB = new TransformationLUVtoRGB(Convert.ToString(newPixel.getL()),
                                                                            Convert.ToString(newPixel.getU()), Convert.ToString(newPixel.getV()));

            int red   = newPixelRGB.getRed();
            int green = newPixelRGB.getGreen();
            int blue  = newPixelRGB.getBlue();

            if (red < 0)
            {
                red = 0;
            }
            else if (red > 255)
            {
                red = 255;
            }
            if (blue < 0)
            {
                blue = 0;
            }
            else if (blue > 255)
            {
                blue = 255;
            }
            if (green < 0)
            {
                green = 0;
            }
            else if (green > 255)
            {
                green = 255;
            }
            Color pix = Color.FromArgb(255, red, green, blue);

            return(pix);
        }