Алгоритм разбора простой каптчи.

Хочу поделиться своим алгоритмом разбора капчи.
Далее скриншоты, видео и исходные коды на C#
Задача.
Задача программы: распознать символы на картинках такого рода:


Решение.
Так как картинки всегда разного цвета и одного размера, то задача сильно упращается. Для распознавания символы будет удобно разделить по цвету и сравнить с маской.
Алгоритм.
Программа просматривает все входящее ихображение и находит площади фигур.
Выбирает цвета, которые встречаются чаще всего.
Разрывает цифры друг от друга
Сравнивает с маской и выбирает какая из масок подходит больше.
Маски.

Видео.
Вывод.
Программа распознает нужную капчу с вероятностью ~90%.
Алгоритм устойчив к трансформации символов в небольших пределах.
Улучшить показатели можно путем: тщательной прорисовки масок; добавления новых масок для искаженных символов или, иначе, создания базы масок сопоставления.
P.S. Такая каптча используется на довольно посещаемом сайте для защиты от разного рода накруток.
Исходный код (ASP.net форма)
WMCaptcha.zip (17,50 kb)
79daa2fc-a208-4411-9c51-5098e223dab1|2|4.5
Компьютерная графика, JonyRock, .NET
gdi+, c#, графика, captcha