"justify"> Puma.NET
CuneiForm - це вільно поширювана відкрита система оптичного розпізнавання текстів російської компанії CognitiveTechnologies.
Puma.NET - це обгортка для движка CuneiFrom, яка робить його зручним для використання в додатках на. NET 2.0 і вище з функціональністю OCR. Хороші результати розпізнавання можуть бути досягнуті кількома рядками коду.
Можливості OCR:
Розпізнавання безлічі друкованих шрифтів;
Підтримка 27 мов, серед яких є і російська;
Перевірка правопису;
Автоматичне визначення шрифтів (курсив, підкреслений);
Збереження структури документа (абзаци, зображення, таблиці);
Покращене розпізнавання тексту, розташованого під кутом;
Вхідні формати зображень: BMP, GIF, JPG, PNG і TIFF;
Вихідні формати: TXT, RTF, HTML.
Використання Puma.NET
середу розпізнавання Puma.NET складається з 4 компонентів:
Puma.Net.dll - бібліотека, яка містить класи, використовувані в додатку для отримання можливості розпізнавання;
Бінарні файли CuneiForm (PumaCOM, бібліотеки, словники і т.д.) - движок розпізнавання від CognitiveTechnologies;
puma.interop.dll - складання для забезпечення взаємодії між Puma.Net.dll і PumaCOMServer;
dibapi.dll - бібліотекаWin32, що містить необхідні для роботи зі структурами даних функції, які використовують PumaCOM і puma.interop.dll.
Щоб скористатися можливостями Puma.Net необхідно додати в проект посилання на Puma.Net.dll і скопіювати файли puma.interop.dll і dibapi.dll в робочу папку програми.
Розроблена програма містить всю функціональність розпізнавання в окремому класі Recognizer (лістинг 3.10). Метод Recognize створює об'єкт класу PumaPage, якому як параметр передається зображення. Потім у об'єкту викликається метод RecognizeToString, який виконує всю роботу по розпізнаванню. Повернута рядок містить набір символів, знайдених на зображенні.
publicclassRecognizer
{
privatePumaLanguage language=PumaLanguage.Russian;
privateboolautoRotateImage=true; Recognize (Bitmap image)
{recognize=string.Empty; (PumaPagepumaPage=newPumaPage (image))
{. Language=language;. AutoRotateImage=autoRotateImage; (int i=0; i <5; i + +)
{
{= pumaPage.RecognizeToString ();;
} (RecognitionEngineException ex)
{. Bitmap=ResizeImage (pumaPage.Bitmap, 2);
} (Exception ex)
{(«Неудаетсяраспознать»);
}
}
}
returnrecognize;
}
}
Лістинг 3.10. Клас Recognizer, який виконує роботу по розпізнаванню.
. Робота програми
Розглянемо роботу програми на прикладі пошуку статей за заданими умовами, а також операцій з дани...