Aspose.OMR for C++
Knihovna C++ pro vytváření OMR formulářů a rozpoznávání dat
Špičkové řešení pro optické rozpoznávání značek (OMR) pro vývojáře C++, které umožňuje vytvářet OMR šablony/formuláře a rozpoznávat skenované obrázky a fotografie v aplikacích C++.
Co je Aspose.OMR pro C++?
Aspose.OMR pro C++ je výkonná a flexibilní C++ OMR API navržená k zjednodušení úkolů optického rozpoznávání značek v aplikacích C++. Ideální pro vývojáře, kteří vytvářejí systémy průzkumů, nástroje pro zpracování zkoušek nebo vlastní OMR aplikace, toto SDK nabízí bezproblémovou integraci, kompletní dokumentaci, ukázkové kódy a podporu napříč platformami. S možností zpracovávat otázky typu výběru, mřížky a textové otázky, exceluje v přesném čtení skenovaných obrázků a fotografií. Vývojáři mohou exportovat výsledky rozpoznávání ve formátu CSV, což usnadňuje analýzu dat z testů, formulářů nebo dotazníků na různých platformách bez obav o kompatibilitu.
Ať už vyvíjíte vlastní C++ OMR software nebo hledáte spolehlivé OMR SDK pro C++, Aspose.OMR vyniká jako komplexní řešení. Podporuje pokročilé funkce jako detekce zaškrtávacích políček, mřížkových polí a flexibilní OMR šablony. Knihovna se také hladce integruje s dalšími Aspose API, což vývojářům umožňuje rozšířit své aplikace o další funkce související se souborovými formáty nebo automatizací dokumentů. Od vysoce přesné analýzy OMR obrázků s C++ po tvorbu škálovatelných systémů zpracování formulářů, Aspose.OMR pro C++ umožňuje vývojářům rychle a spolehlivě vytvářet efektivní a bohaté OMR řešení.
Začínáme s Aspose.OMR pro C++
Doporučený způsob instalace Aspose.OMR pro C++ je přes NuGet. Použijte následující příkaz pro hladkou instalaci.
Instalace Aspose.OMR pro C++ přes NuGet
Install-Package Aspose.OMR.Cpp
Knihovnu si můžete stáhnout přímo ze stránky produktu Aspose.OMR.
Vytvořit OMR šablonu/formulář pomocí C++ API
Aspose.OMR pro C++ API usnadňuje vytváření šablon, což je klíčový aspekt OMR systémů. S C++ OMR API mohou vývojáři softwaru navrhovat šablony pro různé typy formulářů a zajistit přesné získávání dat během skenování. API lze použít k přizpůsobení velikosti papíru, orientace, fontu, barev a dalších nastavení rozvržení, které se vztahují ke všem stránkám šablony a více. Tato funkce usnadňuje integraci OMR schopností do různých oblastí, jako jsou průzkumy, zkoušky a hodnocení. Následující příklad ukazuje, jak vygenerovat obrázek formuláře, který může být vytištěn a předán respondentům v aplikacích C++.
Jak vygenerovat obrázek formuláře v aplikacích 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);
Rozpoznávání OMR formulářů pomocí C++ API
C++ Aspose.OMR je vybaven pokročilou OMR funkcionalitou, která vývojářům softwaru umožňuje snadno navrhovat a zpracovávat komplexní formuláře. Rozpoznávání formulářů pomocí optického rozpoznávání značek (OMR) pomocí API je jednoduchý proces, který zahrnuje několik klíčových kroků. Po instalaci uživatelé musí načíst OMR šablonu, která odpovídá formuláři, který chcete rozpoznat. Poté načtou skenovaný obrázek OMR formuláře a zpracují jej pomocí načtené šablony, získají rozpoznaná data a případně je uloží. Následující příklad ukazuje, jak rozpoznat a extrahovat data z OMR formuláře v aplikacích C++.
Jak rozpoznat a získat data z OMR formuláře pomocí 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();
Rychlé a efektivní OMR skenování
Efektivita je klíčová, zejména při práci s velkým objemem skenovaných dokumentů. Aspose.OMR pro C++ vyniká v rychlém skenování, umožňuje rychlé a přesné získávání dat z OMR listů. Tato funkce je zvláště cenná pro aplikace, kde je čas kritický, například při časově omezených zkouškách nebo průzkumech. API podporuje širokou škálu OMR prvků, včetně zaškrtávacích polí, mřížek a textových oblastí. Toto komplexní pokrytí umožňuje vývojářům pracovat s různými typy dokumentů, což z něj činí univerzální volbu pro aplikace vyžadující OMR funkčnost.
Zpracování dokumentů s více stránkami
Aspose.OMR pro C++ vyniká v zpracování dokumentů s více stránkami, což vývojářům umožňuje hladce pracovat s rozsáhlými soubory dat. Tato schopnost je zvláště cenná pro aplikace zahrnující průzkumy nebo zkoušky s velkým počtem účastníků. Zpracování dokumentů s více stránkami pomocí OMR C++ API zahrnuje sérii kroků k načtení, zpracování a extrakci dat z každé stránky. Například načtení OMR šablony, zpracování každé stránky dokumentu a uložení dat.
Jak načíst a zpracovat každou stránku dokumentu s více stránkami pomocí 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();