Aspose.OMR for C++
C++ библиотека за създаване на OMR формуляри и разпознаване на данни
Съвременно решение за оптично разпознаване на марки (OMR) за C++ разработчици, което позволява създаването на OMR шаблони/формуляри и разпознаването на сканирани изображения и снимки в C++ приложения.
Какво е Aspose.OMR за C++?
Aspose.OMR for C++ е мощен и гъвкав C++ OMR API, създаден да оптимизира задачи по оптично разпознаване на маркировки (Optical Mark Recognition) в C++ приложения. Идеален за разработчици, създаващи системи за анкети, инструменти за обработка на изпити или персонализирани OMR приложения, този SDK предлага безпроблемна интеграция, включваща обширна документация, примерен код и поддръжка за различни платформи. С възможност за обработка на въпроси с множествен избор, решетъчни и текстови типове, той се отличава в точното четене на сканирани изображения и фотографии. Разработчиците могат да експортират резултатите от разпознаването във формат CSV, което улеснява анализа на данни от тестове, формуляри или въпросници на различни платформи, без да се притесняват от проблеми със съвместимостта.
Независимо дали разработвате персонализиран софтуер за OMR на C++ или търсите надежден OMR SDK за C++, Aspose.OMR се откроява като цялостно решение. Той поддържа разширени функции като откриване на отметки, мрежови полета и гъвкави OMR шаблони. Библиотеката също се интегрира плавно с други Aspose API, позволявайки на разработчиците да обогатят приложенията си с допълнителни функции за форматиране на файлове или автоматизация на документи. От високоточен анализ на OMR изображения с C++ до изграждане на мащабируеми системи за обработка на формуляри, Aspose.OMR за C++ дава възможност на разработчиците бързо и надеждно да създават ефективни и богати на функции OMR решения.
Започване с Aspose.OMR за C++
Препоръчителният начин за инсталиране на Aspose.OMR за C++ е чрез NuGet. Моля, използвайте следната команда за гладка инсталация.
Инсталирайте Aspose.OMR за C++ чрез NuGet
Install-Package Aspose.OMR.Cpp
Можете да изтеглите библиотеката директно от Aspose.OMR продуктовата страница
Създаване на OMR шаблон/формуляр чрез C++ API
Aspose.OMR за C++ API улеснява създаването на шаблони, ключов аспект на OMR системите. С C++ OMR API софтуерните разработчици могат да проектират шаблони за различни видове формуляри, осигурявайки точен извличане на данни по време на процеса на сканиране. API‑т може да се използва за персонализиране на размера на хартията, ориентацията, шрифта, цветовете и други настройки на оформлението, които се прилагат за всички страници на шаблона и др. Тази функция опростява интегрирането на OMR възможностите в различни области, като проучвания, изпити и оценки. Следният пример показва как да се генерира изображение на формуляр, което може да се отпечата и предостави на респондентите в C++ приложения.
Как да генерирате изображение на формуляр в C++ приложения?
//Generate the form for ANSI Letter paper size
System::SharedPtr engine = System::MakeObject();
// Generate the form for ANSI Letter paper size (8.5 by 11 inches)
System::SharedPtr settings = System::MakeObject();
settings->setPaperSize(Api::PaperSize::Letter);
System::SharedPtr result = engine->GenerateTemplate(markupPath, nullptr, settings);
Разпознаване на OMR формуляри чрез C++ API
Aspose.OMR за C++ разполага с разширена OMR функционалност, позволяваща на софтуерните разработчици да проектират и обработват сложни формуляри с лекота. Разпознаването на форми за оптично разпознаване на марки (OMR) чрез API е прост процес, който включва няколко ключови стъпки. След инсталацията потребителите трябва да заредят OMR шаблона, който съответства на формуляра, който искате да разпознаете. След това заредете сканираното изображение на OMR формуляра и го обработете, използвайки заредения шаблон, извлечете разпознатите данни и ги запазете, ако е необходимо. Следният пример показва как да разпознаете и извлечете данни от OMR формуляр в C++ приложения.
Как да разпознаете и извлечете данни от OMR формуляр, използвайки C++ API?
#include
omr::AsposeOmrApi api;
api.LoadTemplate("path/to/your/template.omr");
// Load and Process the Image
api.LoadImage("path/to/your/scanned/image.jpg");
api.Process();
// Access Recognized Data
omr::OmrPageReader reader = api.GetOmrPageReader();
std::vector pages = reader.ExtractPages();
omr::OmrPage page = pages[0]; // Assuming there's only one page in the form
// Access and handle recognized data
// Example: Extracting data from the grid
omr::Grid grid = page.GetGrids()[0]; // Assuming there's only one grid on the page
std::vector> data = grid.ExtractData();
// Finalize and Cleanup
api.Finalize();
Бързо и ефективно OMR сканиране
Ефективността е от съществено значение, особено при работа с големи обеми сканирани документи. Aspose.OMR за C++ се отличава с бързо сканиране, позволявайки бързо и точно извличане на данни от OMR листове. Тази функция е особено ценна за приложения, където времето е от решаващо значение, като изпити с ограничено време или проучвания. API‑то поддържа широк набор от OMR елементи, включително отметки, мрежи и текстови области. Това цялостно поддържане позволява на разработчиците да работят с разнообразни типове документи, правейки го универсален избор за приложения, изискващи OMR функционалност.
Обработка на многостранни документи
Aspose.OMR за C++ се отличава в обработката на многостранични документи, позволявайки на разработчиците да работят с обширни набори от данни безпроблемно. Тази възможност е особено ценна за приложения, включващи анкети или изпити с множество участници. Обработката на многостранични документи с помощта на OMR C++ API включва серия от стъпки за зареждане, обработка и извличане на данни от всяка страница. Например зареждане на OMR шаблона, обработка на всяка страница от многостраничния документ и запазване на данните.
Как да заредите и обработите всяка страница от многостранен документ чрез C++ API?
#include
// Load the OMR template
omr::AsposeOmrApi api;
api.LoadTemplate("path/to/your/template.omr");
//process each page of the multi-page document.
const int pageCount = 5; // Change this to the total number of pages in your document
for (int currentPage = 1; currentPage <= pageCount; ++currentPage) {
std::string imagePath = "path/to/your/scanned/image" + std::to_string(currentPage) + ".jpg";
api.LoadImage(imagePath);
api.Process();
// Access and handle recognized data for each page
omr::OmrPageReader reader = api.GetOmrPageReader();
std::vector pages = reader.ExtractPages();
omr::OmrPage page = pages[0]; // Assuming there's only one page in each image
// Access and handle recognized data
// Example: Extracting data from the grid
omr::Grid grid = page.GetGrids()[0]; // Assuming there's only one grid on the page
std::vector> data = grid.ExtractData();
// Further processing or storage of the data can be done here
// Cleanup for the next iteration
api.Finalize();
}
// release resources.
api.Finalize();