LitDev.Engines.FIP.Cartoon C# (CSharp) Method

Cartoon() public method

Cartoon effect received by combining oil paint algorithm and Sobel edge detecting
public Cartoon ( Bitmap OriginalImage, int R, int Level, int InverseThreshold ) : Bitmap
OriginalImage System.Drawing.Bitmap Original ARGB image
R int Radius of oil paint algorithm
Level int Available levels of intensity
InverseThreshold int Inverse threshold
return System.Drawing.Bitmap
        public Bitmap Cartoon(Bitmap OriginalImage, int R, int Level, int InverseThreshold)
        {
            Bitmap image = OriginalImage;
            Bitmap image2 = new Bitmap(image.Width, image.Height);

            Bitmap oilpaint = this.OilPaint(image, R, Level);
            Bitmap edge = this.ToBlackwhiteInverse(this.ImageSobelFilterGS(image), InverseThreshold);

            FastPixel fpOilpaint = new FastPixel(oilpaint);
            FastPixel fpEdge = new FastPixel(edge);
            FastPixel fpImage2 = new FastPixel(image2);

            for (int i = 0; i < fpImage2.Width; i++)
            {
                for (int j = 0; j < fpImage2.Height; j++)
                {

                    if (fpEdge.GetPixel(i, j).R == 255)
                    {
                        fpImage2.SetPixel(i, j, fpOilpaint.GetPixel(i, j));
                    }
                    else
                    {
                        fpImage2.SetPixel(i, j, fpEdge.GetPixel(i, j));
                    }

                }
            }

            fpOilpaint.Unlock(false);
            fpEdge.Unlock(false);
            fpImage2.Unlock(true);
            return image2;
        }

Same methods

FIP::Cartoon ( Bitmap OriginalImage, int R, int Level, int InverseThreshold, int EdgeFilter ) : Bitmap