Смекни!
smekni.com

Распознавание графических символов (стр. 4 из 4)

wordEnd - wordBegin + 1,

str.Height),

System.Drawing.Imaging.PixelFormat.Format24bppRgb)

)

);

//обнуляем счетчики

//и флаги

whiteWidth = 0;

wordFound = false;

wordBegin = 0;

wordEnd = 0;

}

}

}

return words;

}

/// <summary>

/// Получить битмапы всех слов в тексте

/// </summary>

/// <param name="text">битмап с текстом</param>

/// <returns>коллекция всех слов втексте</returns>

public static List<Bitmap>GetWords(Bitmap text)

{

List<Bitmap> strs = GetStrings(text);

List<Bitmap> words = newList<Bitmap>();

foreach (Bitmap str in strs)

{

foreach (Bitmap word inGetStringWords(str))

{

words.Add(word);

}

}

return words;

}

/// <summary>

/// Обрезка белых полей вокруг изображения на битмапе

/// </summary>

/// <paramname="bmp"></param>

/// <returns></returns>

public static Bitmap TrimBitmap(Bitmap bmp)

{

int left = 0;

int right = 0;

int top = 0;

int bottom = 0;

bool go = true;

//проход сверху

for (int j = 0; (j < bmp.Height)&& go; j++)

{

for (int i = 0; (i < bmp.Width)&& go; i++)

{

if (bmp.GetPixel(i, j) !=Color.FromArgb(255, 255, 255))

{

go = false;

top = j;

}

}

}

go = true;

//проход снизу

for (int j = bmp.Height - 1; (j >= 0)&& go; j--)

{

for (int i = 0; (i < bmp.Width)&& go; i++)

{

if (bmp.GetPixel(i, j) !=Color.FromArgb(255, 255, 255))

{

go = false;

bottom = j;

}

}

}

go = true;

//проход слева

for (int i = 0; (i < bmp.Width)&& go; i++)

{

for (int j = 0; (j < bmp.Height)&& go; j++)

{

if (bmp.GetPixel(i, j) !=Color.FromArgb(255, 255, 255))

{

go = false;

left = i;

}

}

}

go = true;

//проход спарва

for (int i = bmp.Width - 1; (i >= 0)&& go; i--)

{

for (int j = 0; (j < bmp.Height)&& go; j++)

{

if (bmp.GetPixel(i, j) !=Color.FromArgb(255, 255, 255))

{

go = false;

right = i;

}

}

}

return bmp.Clone(new Rectangle(left, top,right - left + 1, bottom - top + 1),System.Drawing.Imaging.PixelFormat.Format24bppRgb);

}

}

}


ОПИСЬ ЛИСТОВ ГРАФИЧЕСКОЙ ЧАСТИ

Лист1 – Схема приложения

Функциональнаясхема приложения


Лист2 – Диаграмма классов


Лист3 – Результаты работы программы.


Лист4 – Схема алгоритма сегментации текста.