Aspose.OMR för C++
C++-bibliotek för att skapa OMR-formulär och känna igen data
En banbrytande lösning för optisk markeringigenkänning (OMR) för C++-utvecklare som möjliggör att skapa OMR-mallar/formulär och känna igen skannade bilder och foton i C++-applikationer.
Vad är Aspose.OMR för C++?
Aspose.OMR for C++ är ett kraftfullt och flexibelt C++ OMR‑API utformat för att förenkla Optical Mark Recognition‑uppgifter i C++‑applikationer. Idealiskt för utvecklare som bygger enkätssystem, examinationsbearbetningsverktyg eller anpassade OMR‑appar, erbjuder detta SDK sömlös integration, komplett med djupgående dokumentation, exempelkod och plattformsoberoende stöd. Med förmåga att bearbeta flervals-, rutnäts- och textbaserade frågetyper, utmärker det sig i att exakt läsa in skannade bilder och foton. Utvecklare kan exportera igenkänningsresultat i CSV‑format, vilket gör det enkelt att analysera data från tester, formulär eller frågeformulär på olika plattformar utan att oroa sig för kompatibilitetsproblem.
Oavsett om du utvecklar anpassad C++ OMR-programvara eller letar efter ett pålitligt OMR SDK för C++, utmärker sig Aspose.OMR som en omfattande lösning. Det stöder avancerade funktioner som kryssrutanigenkänning, rutnätsfält och flexibla OMR-mallar. Biblioteket integreras också smidigt med andra Aspose API:er, vilket gör det möjligt för utvecklare att förbättra sina applikationer med ytterligare filformat- eller dokumentautomatiseringsfunktioner. Från högprecisions OMR bildanalys med C++ till att bygga skalbara formulärbehandlingssystem, ger Aspose.OMR för C++ utvecklare möjlighet att snabbt och pålitligt skapa effektiva och funktionsrika OMR-lösningar.
Komma igång med Aspose.OMR för C++
Det rekommenderade sättet att installera Aspose.OMR för C++ är via NuGet. Använd följande kommando för en smidig installation.
Installera Aspose.OMR för C++ via NuGet
Install-Package Aspose.OMR.Cpp
Du kan ladda ner biblioteket direkt från Aspose.OMR produktsida
Generera OMR-mall/formulär via C++-API
Aspose.OMR för C++ API underlättar skapandet av mallar, en avgörande aspekt av OMR-system. Med C++ OMR API kan mjukvaruutvecklare designa mallar för olika typer av formulär, vilket säkerställer exakt dataextraktion under skanningsprocessen. API:et kan användas för att anpassa pappersstorlek, orientering, teckensnitt, färger och andra layoutinställningar som gäller för alla mallssidor och mer. Denna funktion förenklar integrationen av OMR-funktioner i olika områden, såsom undersökningar, prov och bedömningar. Följande exempel visar hur man genererar en formulärbild som kan skrivas ut och ges till respondenter i C++-applikationer.
Hur skapar man en formulärbild i C++-applikationer?
//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);
Känna igen OMR-formulär via C++-API
Aspose.OMR för C++ är utrustad med avancerad OMR-funktionalitet, vilket gör det möjligt för mjukvaruutvecklare att enkelt designa och bearbeta komplexa formulär. Att känna igen Optical Mark Recognition (OMR)-formulär med hjälp av API:et är en enkel process som involverar flera viktiga steg. Efter installationen måste användarna ladda OMR-mallen som motsvarar det formulär du vill känna igen. Därefter laddas den skannade bilden av OMR-formuläret och bearbetas med den laddade mallen, de igenkända data hämtas och sparas om det behövs. Följande exempel visar hur man känner igen och extraherar data från ett OMR-formulär i C++-applikationer.
Hur känner man igen och extraherar data från OMR-formulär med 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();
Snabb och effektiv OMR-skanning
Effektivitet är avgörande, särskilt när man hanterar stora volymer av skannade dokument. Aspose.OMR för C++ utmärker sig i hög hastighetssökning, vilket möjliggör snabb och exakt dataextraktion från OMR-ark. Denna funktion är särskilt värdefull för applikationer där tid är kritisk, såsom tidsbegränsade prov eller undersökningar. API:et stöder ett brett spektrum av OMR-element, inklusive kryssrutor, rutnät och textområden. Detta omfattande stöd gör det möjligt för utvecklare att hantera en mängd olika dokumenttyper, vilket gör det till ett mångsidigt val för applikationer som kräver OMR-funktionalitet.
Flersidig dokumentbehandling
Aspose.OMR för C++ utmärker sig i flersidiga dokumentbehandlingar, vilket gör det möjligt för utvecklare att hantera omfattande datamängder sömlöst. Denna förmåga är särskilt värdefull för applikationer som involverar enkäter eller prov med många deltagare. Bearbetning av flersidiga dokument med OMR C++ API innebär en rad steg för att ladda, bearbeta och extrahera data från varje sida. Såsom att ladda OMR-mallen, bearbeta varje sida i det flersidiga dokumentet och spara data.
Hur laddar och bearbetar man varje sida i ett flersidigt dokument via 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();