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 for C++ je výkonné a flexibilní C++ OMR API navržené pro zjednodušení úloh optického rozpoznávání značek (Optical Mark Recognition) 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í podrobnou dokumentaci, ukázkový kód a multiplatformní podporu. S možností zpracovávat otázky typu výběr z více možností, mřížky a textové otázky, vyniká v přesném čtení naskenovaný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ů napříč různými platformami 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 je detekce zaškrtávacích políček, mřížkové pole a flexibilní OMR šablony. Knihovna se také hladce integruje s ostatními Aspose API, což vývojářům umožňuje rozšířit své aplikace o další funkce formátování souborů nebo automatizace dokumentů. Od vysoce přesné OMR analýzy obrázků v C++ po vytváření š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 prostřednictvím NuGet. Použijte prosím následující příkaz pro hladkou instalaci.
Nainstalujte Aspose.OMR pro C++ přes NuGet
Install-Package Aspose.OMR.Cpp
Knihovnu si můžete stáhnout přímo z Aspose.OMR produktové stránky
Vytvořit šablonu/formulář OMR 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ářů, což zajišťuje přesné získávání dat během skenovacího procesu. API lze použít k přizpůsobení velikosti papíru, orientace, písma, barev a dalších nastavení rozvržení, která se vztahují na všechny stránky šablony a více. Tato funkce zjednoduš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ý lze vytisknout a předat respondentům v rámci C++ aplikací.
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);
Rozpoznat OMR formuláře pomocí C++ API
Aspose.OMR pro C++ je vybaven pokročilou funkcionalitou OMR, která vývojářům umožňuje snadno navrhovat a zpracovávat složité formuláře. Rozpoznávání formulářů Optical Mark Recognition (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čtěte naskenovaný obrázek OMR formuláře a zpracujte jej pomocí načtené šablony, získejte rozpoznaná data a případně je uložte. Následující příklad ukazuje, jak rozpoznat a extrahovat data z OMR formuláře v C++ aplikacích.
Jak rozpoznat a extrahovat 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í skenování OMR
Efektivita je klíčová, zejména při práci s velkým objemem naskenovaných dokumentů. Aspose.OMR pro C++ vyniká vysokorychlostním skenováním, což umožňuje rychlý a přesný výpis dat z OMR listů. Tato funkce je zvláště cenná pro aplikace, kde je čas kritický, například časově omezené zkoušky nebo průzkumy. API podporuje širokou škálu OMR prvků, včetně zaškrtávacích políček, mřížek a textových oblastí. Tato komplexní podpora umožňuje vývojářům pracovat s různými typy dokumentů, což z něj činí všestrannou volbu pro aplikace vyžadující OMR funkčnost.
Zpracování vícestránkových dokumentů
Aspose.OMR pro C++ vyniká ve zpracování vícestránkových dokumentů, což vývojářům umožňuje plynule pracovat s rozsáhlými datovými sadami. Tato schopnost je zvláště cenná pro aplikace zahrnující průzkumy nebo zkoušky s mnoha účastníky. Zpracování vícestránkových dokumentů pomocí OMR C++ API zahrnuje sérii kroků pro načtení, zpracování a extrakci dat z každé stránky. Například načtení OMR šablony, zpracování každé stránky vícestránkového dokumentu a uložení dat.
Jak načíst a zpracovat každou stránku vícestránkového dokumentu 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();