Strabo.Core.ImageProcessing.ColorHistogram.ColorHistogram C# (CSharp) Method

ColorHistogram() public method

public ColorHistogram ( int pixelsOrig ) : System
pixelsOrig int
return System
        public ColorHistogram(int[] pixelsOrig)
        {
            int N = pixelsOrig.Length;
            int[] pixelsCpy = (int[])pixelsOrig.Clone() ;// new int[N];
            Array.Sort(pixelsCpy);

            // count unique colors:
            int k = -1; // current color index
            int curColor = -1;
            for (int i = 0; i < pixelsCpy.Length; i++)
            {
                if (pixelsCpy[i] != curColor)
                {
                    k++;
                    curColor = pixelsCpy[i];
                }
            }
            int nColors = k + 1;

            // tabulate and count unique colors:
            colorArray = new int[nColors];
            countArray = new int[nColors];
            k = -1;	// current color index
            curColor = -1;
            for (int i = 0; i < pixelsCpy.Length; i++)
            {
                if (pixelsCpy[i] != curColor)
                {	// new color
                    k++;
                    curColor = pixelsCpy[i];
                    colorArray[k] = curColor;
                    countArray[k] = 1;
                }
                else
                {
                    countArray[k]++;
                }
            }
            pixelsCpy = null;
            GC.Collect();
        }

Same methods

ColorHistogram::ColorHistogram ( ) : System
ColorHistogram::ColorHistogram ( int pixelsOrig, bool modify ) : System