1. Produkter
  2.   OMR
  3.   C++
  4.   Aspose.OMR for C++

Aspose.OMR for C++

 
 

C++-bibliotek til at oprette OMR-formularer og genkende data

En banebrydende løsning til optisk mærkegenkendelse (OMR) for C++-udviklere, der gør det muligt at oprette OMR-skabeloner/formularer og genkende scannede billeder og fotos i C++-applikationer.

Hvad er Aspose.OMR for C++?

Aspose.OMR for C++ er et kraftfuldt og fleksibelt C++ OMR API designet til at strømline Optical Mark Recognition-opgaver i C++-applikationer. Ideel for udviklere, der bygger surveysystemer, eksamensbehandlingsværktøjer eller tilpassede OMR-apps, tilbyder dette SDK problemfri integration, komplet med dybdegående dokumentation, eksempelcode og tværplatformsupport. Med evnen til at behandle flervalg, gitter- og tekstbaserede spørgsmålstyper udmærker det sig i præcis læsning af scannede billeder og fotos. Udviklere kan eksportere genkendelsesresultater i CSV-format, hvilket gør det nemt at analysere data fra tests, formularer eller spørgeskemaer på tværs af forskellige platforme uden at bekymre sig om kompatibilitetsproblemer.

Uanset om du udvikler brugerdefineret C++ OMR-software eller leder efter et pålideligt OMR SDK til C++, skiller Aspose.OMR sig ud som en omfattende løsning. Det understøtter avancerede funktioner som afkrydsningsfeltgenkendelse, gitterfelter og fleksible OMR-skabeloner. Biblioteket integreres også problemfrit med andre Aspose API'er, så udviklere kan udvide deres applikationer med yderligere filformat- eller dokumentautomatiseringsfunktioner. Fra højpræcis OMR-billedanalyse med C++ til opbygning af skalerbare formularbehandlingssystemer giver Aspose.OMR for C++ udviklere mulighed for hurtigt og pålideligt at skabe effektive og funktionsrige OMR-løsninger.

Previous Next

Kom i gang med Aspose.OMR for C++

Den anbefalede måde at installere Aspose.OMR for C++ på er via NuGet. Brug venligst følgende kommando for en problemfri installation.

Installer Aspose.OMR for C++ via NuGet

 
Install-Package Aspose.OMR.Cpp

Du kan downloade biblioteket direkte fra Aspose.OMR produktsiden

Generer OMR-skabelon/-formular via C++ API

Aspose.OMR for C++ API muliggør oprettelse af skabeloner, et vigtigt aspekt af OMR-systemer. Med C++ OMR API kan softwareudviklere designe skabeloner til forskellige typer af formularer, hvilket sikrer nøjagtig dataudtrækning under scanningsprocessen. API'en kan bruges til at tilpasse papirstørrelse, orientering, skrifttype, farver og andre layoutindstillinger, der gælder for alle skabelonsider og mere. Denne funktion strømliner integrationen af OMR-funktioner i forskellige domæner, såsom undersøgelser, eksamener og vurderinger. Det følgende eksempel viser, hvordan man genererer et formularbillede, der kan udskrives og gives til respondenter i C++-applikationer.

Hvordan genererer man et formularbillede 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);

Genkend OMR-formularer via C++ API

Aspose.OMR for C++ er udstyret med avanceret OMR-funktionalitet, som gør det muligt for softwareudviklere at designe og behandle komplekse formularer med lethed. At genkende Optical Mark Recognition (OMR)-formularer ved hjælp af API'en er en ligetil proces, der involverer flere nøgletrin. Efter installationen skal brugerne indlæse den OMR-skabelon, der svarer til den formular, du ønsker at genkende. Derefter indlæses det scannede billede af OMR-formularen og behandles ved hjælp af den indlæste skabelon, de genkendte data hentes, og de gemmes om nødvendigt. Følgende eksempel viser, hvordan man genkender og udtrækker data fra en OMR-formular i C++-applikationer.

Hvordan genkender og udtrækker man data fra OMR-formular ved hjælp af C++-API'en?

#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øjhastigheds- og effektiv OMR-scanning

Effektivitet er afgørende, især når man håndterer store mængder af scannede dokumenter. Aspose.OMR for C++ udmærker sig i højhastighedsscanning, hvilket muliggør hurtig og præcis dataudtrækning fra OMR-ark. Denne funktion er særligt værdifuld for applikationer, hvor tid er kritisk, såsom tidsbegrænsede eksamener eller undersøgelser. API'en understøtter et bredt udvalg af OMR-elementer, herunder afkrydsningsfelter, gitter og tekstområder. Denne omfattende support gør det muligt for udviklere at håndtere en række forskellige dokumenttyper, hvilket gør det til et alsidigt valg for applikationer, der kræver OMR-funktionalitet.

Flersidet dokumentbehandling

Aspose.OMR for C++ udmærker sig i behandling af flersidede dokumenter, hvilket gør det muligt for udviklere at håndtere omfattende datasæt problemfrit. Denne funktion er særligt værdifuld for applikationer, der involverer undersøgelser eller eksamener med mange deltagere. Behandling af flersidede dokumenter ved hjælp af OMR C++ API indebærer en række trin til at indlæse, behandle og udtrække data fra hver side. Såsom at indlæse OMR-skabelonen, behandle hver side af det flersidede dokument og gemme data.

Hvordan indlæser og behandler man hver side af et flersidet dokument via C++-API'en?

#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();

 Dansk