Всего комментировать не буду ибо долго...
>все изогнутые незамкнутые линии выпрямляются
Это довольно проблематично, поскольку:
1. Даже легкий шум может создавать замкнутые регионы там где их не должно быть.
2. Такие символы как "r", "j" фактически являются изогнутыми и незамкнутыми и простое выпрямление даст несколько нежелательный результат.
3. Изз-за "некачественного" изображения при векторизации могут получиться явные изогнутые линии там где должен быть прямой (или не очень) угол. К примеру "Г", "Е", "Б"
>все замкнутые преобразуются в круги.
Будут проблемы с такими символами где:
1. Замкнутый регион не является кругом.
2. Где после преобразования ЗР в круг символ будет сильно напоминать другой символ.
Для примера: "D", "Д", "А".
Лично я сейчас думаю что на закрытые регионы вообще не стоит обращать внимания. Разве что как альтернативный (дополнительный) показатель при сравнении.