AForge.Imaging.RecursiveBlobCounter.LabelPixel C# (CSharp) Method

LabelPixel() private method

private LabelPixel ( byte pixel, int labelPointer ) : void
pixel byte
labelPointer int
return void
        private unsafe void LabelPixel( byte* pixel, int labelPointer )
        {
            if ( ( tempLabels[labelPointer] == 0 ) && ( *pixel > backgroundThresholdG ) )
            {
                tempLabels[labelPointer] = objectsCount;

                LabelPixel( pixel + 1, labelPointer + 1 );                              // x + 1, y
                LabelPixel( pixel + 1 + stride, labelPointer + 1 + 2 + imageWidth );    // x + 1, y + 1
                LabelPixel( pixel + stride, labelPointer + 2 + imageWidth );            // x    , y + 1
                LabelPixel( pixel - 1 + stride, labelPointer - 1 + 2 + imageWidth );    // x - 1, y + 1
                LabelPixel( pixel - 1, labelPointer - 1 );                              // x - 1, y
                LabelPixel( pixel - 1 - stride, labelPointer - 1 - 2 - imageWidth );    // x - 1, y - 1
                LabelPixel( pixel - stride, labelPointer - 2 - imageWidth );            // x    , y - 1
                LabelPixel( pixel + 1 - stride, labelPointer + 1 - 2 - imageWidth );    // x + 1, y - 1
            }
        }