Aspose.OMR for C++
C++-bibliotek for å lage OMR-skjemaer & gjenkjenne data
En banebrytende optisk merkegjenkjennings (OMR) løsning for C++-utviklere som gjør det mulig å lage OMR-maler/skjemaer og gjenkjenne skannede bilder & foto i C++-applikasjoner.
Hva er Aspose.OMR for C++?
Aspose.OMR for C++ er et kraftig og fleksibelt C++ OMR‑API designet for å forenkle oppgaver innen optisk merkegjenkjenning i C++‑applikasjoner. Ideell for utviklere som bygger undersøkelsessystemer, eksamensbehandlingsverktøy eller tilpassede OMR‑apper, gir dette SDK‑et sømløs integrasjon, komplett med grundig dokumentasjon, eksempelkode og støtte for flere plattformer. Med muligheter til å behandle flervalg, rutenett‑ og tekstbaserte spørsmålstyper, utmerker det seg i nøyaktig lesing av skannede bilder og fotografier. Utviklere kan eksportere gjenkjenningsresultater i CSV‑format, noe som gjør det enkelt å analysere data fra tester, skjemaer eller spørreskjemaer på tvers av ulike plattformer uten å bekymre seg for kompatibilitetsproblemer.
Enten du utvikler tilpasset C++ OMR-programvare eller leter etter et pålitelig OMR SDK for C++, skiller Aspose.OMR seg ut som en omfattende løsning. Den støtter avanserte funksjoner som deteksjon av avkrysningsbokser, rutenettfelt og fleksible OMR-maler. Biblioteket integreres også sømløst med andre Aspose API-er, slik at utviklere kan forbedre applikasjonene sine med ekstra filformat- eller dokumentautomatiseringsfunksjoner. Fra høypresisjons OMR-bildeanalyse med C++ til å bygge skalerbare skjema-behandlingssystemer, gir Aspose.OMR for C++ utviklere muligheten til å raskt og pålitelig lage effektive og funksjonsrike OMR-løsninger.
Kom i gang med Aspose.OMR for C++
Den anbefalte måten å installere Aspose.OMR for C++ på er via NuGet. Vennligst bruk følgende kommando for en smidig installasjon.
Installer Aspose.OMR for C++ via NuGet
Install-Package Aspose.OMR.Cpp
Du kan laste ned biblioteket direkte fra Aspose.OMR produktsiden
Generer OMR-mal/skjema via C++ API
Aspose.OMR for C++ API gjør det enkelt å lage maler, en viktig del av OMR-systemer. Med C++ OMR API kan programvareutviklere designe maler for ulike typer skjemaer, og sikre nøyaktig datauttrekk under skanneprosessen. API-et kan brukes til å tilpasse papirstørrelse, orientering, skrifttype, farger og andre layoutinnstillinger som gjelder for alle malens sider og mer. Denne funksjonen strømlinjeformer integreringen av OMR-funksjonalitet i ulike domener, som undersøkelser, eksamener og vurderinger. Følgende eksempel viser hvordan man genererer et skjema‑bilde som kan skrives ut og distribueres til respondentene i C++‑applikasjoner.
Hvordan generere et skjema‑bilde i C++‑applikasjoner?
//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);
Gjenkjenn OMR-skjemaer via C++ API
Aspose.OMR for C++ er utstyrt med avansert OMR-funksjonalitet, som gjør det mulig for programvareutviklere å designe og behandle komplekse skjemaer med letthet. Å gjenkjenne Optical Mark Recognition (OMR)-skjemaer ved hjelp av API-et er en enkel prosess som involverer flere viktige trinn. Etter installasjonen må brukerne laste inn OMR-malen som tilsvarer skjemaet du vil gjenkjenne. Deretter lastes det skannede bildet av OMR-skjemaet og behandles ved hjelp av den innlastede malen, henter de gjenkjente dataene og lagrer dem om nødvendig. Følgende eksempel viser hvordan du kan gjenkjenne og hente ut data fra OMR-skjema i C++-applikasjoner.
Hvordan gjenkjenne og hente ut data fra OMR‑skjema ved hjelp av 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();
Høyhastighets- og effektiv OMR-skanning
Effektivitet er avgjørende, spesielt når man håndterer store mengder skannede dokumenter. Aspose.OMR for C++ utmerker seg i høyhastighetsskanning, noe som muliggjør rask og nøyaktig datauttrekk fra OMR-ark. Denne funksjonen er spesielt verdifull for applikasjoner der tid er kritisk, som tidsbegrensede eksamener eller undersøkelser. API-et støtter et bredt spekter av OMR-elementer, inkludert avmerkingsbokser, rutenett og tekstområder. Denne omfattende støtten gjør det mulig for utviklere å håndtere ulike dokumenttyper, og gjør det til et allsidig valg for applikasjoner som krever OMR-funksjonalitet.
Behandling av flersidige dokumenter
Aspose.OMR for C++ utmerker seg i behandling av flersidige dokumenter, og gjør det mulig for utviklere å håndtere store datasett sømløst. Denne evnen er spesielt verdifull for applikasjoner som involverer undersøkelser eller eksamener med mange deltakere. Behandling av flersidige dokumenter ved bruk av OMR C++ API innebærer en rekke trinn for å laste inn, behandle og hente ut data fra hver side. For eksempel å laste OMR-malen, behandle hver side av det flersidige dokumentet og lagre data.
Hvordan laste inn og behandle hver side i et flersiders 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();