1. Продукти
  2.   OMR
  3.   C++
  4.   Aspose.OMR for C++

Aspose.OMR for C++

 
 

C++ библиотека за създаване на OMR формуляри и разпознаване на данни

Високотехнологично решение за оптично разпознаване на марки (OMR) за C++ разработчици, което позволява създаване на OMR шаблони/формуляри и разпознаване на сканирани изображения и снимки в C++ приложения.

Какво е Aspose.OMR за C++?

Aspose.OMR за C++ е мощно и гъвкаво C++ OMR API, проектирано да оптимизира задачи по оптично разпознаване на марки в C++ приложения. Идеално за разработчици, създаващи системи за проучвания, инструменти за обработка на изпити или персонализирани OMR приложения, това SDK предлага безпроблемна интеграция, пълна документация, примерен код и поддръжка на различни платформи. С възможност за обработка на въпроси тип множествен избор, мрежови и текстови, то се отличава с точност при четене на сканирани изображения и снимки. Разработчиците могат да експортират резултатите от разпознаването във формат CSV, което улеснява анализа на данни от тестове, формуляри или въпросници на различни платформи без притеснения за съвместимост.

Независимо дали разработвате персонализиран C++ OMR софтуер или търсите надежден OMR SDK за C++, Aspose.OMR се откроява като цялостно решение. Поддържа разширени функции като откриване на отметки, мрежови полета и гъвкави OMR шаблони. Библиотеката също се интегрира безпроблемно с други Aspose API, позволявайки на разработчиците да обогатят приложенията си с допълнителни функции за файлови формати или автоматизация на документи. От високо точен OMR анализ на изображения с C++ до създаване на мащабируеми системи за обработка на формуляри, Aspose.OMR за C++ дава възможност на разработчиците бързо и надеждно да създават ефективни и богати на функции OMR решения.

Previous Next

Започнете с Aspose.OMR за C++

Препоръчителният начин за инсталиране на Aspose.OMR за C++ е чрез NuGet. Моля, използвайте следната команда за безпроблемна инсталация.

Install Aspose.OMR for C++ via 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();

 Български