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

ColorHistogram() public method

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

            // count unique colors:
            int k = -1; // current color index
            int curColor = -1;
            for (int i = 0; i < pixelsOrig.Length; i++)
            {
                if (pixelsOrig[i] != curColor)
                {
                    k++;
                    curColor = pixelsOrig[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 < pixelsOrig.Length; i++)
            {
                if (pixelsOrig[i] != curColor)
                {	// new color
                    k++;
                    curColor = pixelsOrig[i];
                    colorArray[k] = curColor;
                    countArray[k] = 1;
                }
                else
                {
                    countArray[k]++;
                }
            }
            pixelsOrig = null;
            GC.Collect();
        }

Same methods

ColorHistogram::ColorHistogram ( ) : System
ColorHistogram::ColorHistogram ( int pixelsOrig ) : System