Strabo.Core.TextDetection.TextString.AddChar C# (CSharp) Method

AddChar() public method

public AddChar ( MyConnectedComponentsAnalysisFast char_blob ) : void
char_blob MyConnectedComponentsAnalysisFast
return void
        public void AddChar(MyConnectedComponentsAnalysisFast.MyBlob char_blob)
        {
            if (_char_list.Contains(char_blob)) return;
            for (int i = 0; i < _char_list.Count; i++)
                if (Distance(_char_list[i].mass_center, char_blob.mass_center) < 3)
                    return;
            _mean_height = (_mean_height * _char_list.Count + char_blob.bbx.Height);
            _mean_width = (_mean_width * _char_list.Count + char_blob.bbx.Width);
            _char_list.Add(char_blob);
            _mean_height /= (double)_char_list.Count;
            _mean_width /= (double)_char_list.Count;
            // Extend bbx
            if (_bbx.Width == 0)
                _bbx = char_blob.bbx;
            else
            {
                int x = _bbx.X, y = _bbx.Y, xx = _bbx.X + _bbx.Width - 1, yy = _bbx.Y + _bbx.Height - 1;
                int x1 = char_blob.bbx.X, y1 = char_blob.bbx.Y, xx1 = char_blob.bbx.X + char_blob.bbx.Width - 1, yy1 = char_blob.bbx.Y + char_blob.bbx.Height - 1;

                int x2, y2, xx2, yy2;

                if (x < x1) x2 = x;
                else x2 = x1;
                if (y < y1) y2 = y;
                else y2 = y1;

                if (xx < xx1) xx2 = xx1;
                else xx2 = xx;
                if (yy < yy1) yy2 = yy1;
                else yy2 = yy;

                _bbx.X = x2; _bbx.Y = y2;
                _bbx.Width = xx2 - x2 + 1;
                _bbx.Height = yy2 - y2 + 1;

            }
        }

Usage Example

        private void Convert2FinalStringList()
        {
            TextString ts = new TextString();

            for (int i = 0; i < _char_list.Count; i++)
            {
                ts.AddChar(_char_list[i]);
            }
            _final_string_list.Add(ts);
        }
All Usage Examples Of Strabo.Core.TextDetection.TextString::AddChar