1. Produkty
  2.   OMR
  3.   C++
  4.   Aspose.OMR dla C++

Aspose.OMR dla C++

 
 

Biblioteka C++ do tworzenia formularzy OMR i rozpoznawania danych

Nowoczesne rozwiązanie rozpoznawania znaków optycznych (OMR) dla programistów C++, które umożliwia tworzenie szablonów/formularzy OMR oraz rozpoznawanie zeskanowanych obrazów i zdjęć w aplikacjach C++.

Czym jest Aspose.OMR dla C++?

Aspose.OMR for C++ jest potężnym i elastycznym API OMR dla C++, zaprojektowanym w celu usprawnienia zadań rozpoznawania znaków optycznych (Optical Mark Recognition) w aplikacjach C++. Idealny dla programistów tworzących systemy ankietowe, narzędzia do przetwarzania egzaminów lub własne aplikacje OMR, ten SDK zapewnia płynną integrację, wraz z obszerną dokumentacją, przykładowym kodem i wsparciem wieloplatformowym. Dzięki możliwości przetwarzania pytań wielokrotnego wyboru, siatek oraz pytań tekstowych, wyróżnia się dokładnym odczytem zeskanowanych obrazów i zdjęć. Programiści mogą eksportować wyniki rozpoznawania w formacie CSV, co ułatwia analizę danych z testów, formularzy lub kwestionariuszy na różnych platformach bez obaw o problemy z kompatybilnością.

Niezależnie od tego, czy tworzysz własne oprogramowanie OMR w C++, czy szukasz niezawodnego SDK OMR dla C++, Aspose.OMR wyróżnia się jako kompleksowe rozwiązanie. Obsługuje zaawansowane funkcje, takie jak wykrywanie pól wyboru, pola siatki i elastyczne szablony OMR. Biblioteka integruje się płynnie z innymi API Aspose, umożliwiając programistom wzbogacenie aplikacji o dodatkowe funkcje formatów plików lub automatyzacji dokumentów. Od wysokiej precyzji analizy obrazów OMR w C++ po budowanie skalowalnych systemów przetwarzania formularzy, Aspose.OMR dla C++ umożliwia programistom szybkie i niezawodne tworzenie wydajnych i bogatych w funkcje rozwiązań OMR.

Previous Next

Rozpoczęcie pracy z Aspose.OMR dla C++

Zalecany sposób instalacji Aspose.OMR dla C++ to poprzez NuGet. Proszę użyć poniższego polecenia, aby przeprowadzić płynną instalację.

Zainstaluj Aspose.OMR dla C++ za pomocą NuGet

 
Install-Package Aspose.OMR.Cpp

Możesz pobrać bibliotekę bezpośrednio ze strony produktu Aspose.OMR

Generowanie szablonu/formularza OMR za pomocą API C++

Aspose.OMR for C++ API ułatwia tworzenie szablonów, co jest kluczowym elementem systemów OMR. Dzięki API OMR dla C++, programiści mogą projektować szablony dla różnych typów formularzy, zapewniając dokładne wyodrębnianie danych podczas procesu skanowania. API może być używane do dostosowywania rozmiaru papieru, orientacji, czcionki, kolorów i innych ustawień układu, które mają zastosowanie do wszystkich stron szablonu i nie tylko. Ta funkcja usprawnia integrację możliwości OMR w różnych dziedzinach, takich jak ankiety, egzaminy i oceny. Poniższy przykład pokazuje, jak wygenerować obraz formularza, który można wydrukować i przekazać respondentom w aplikacjach C++.

Jak wygenerować obraz formularza w aplikacjach 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);

Rozpoznawanie formularzy OMR za pomocą API C++

Aspose.OMR dla C++ jest wyposażony w zaawansowaną funkcjonalność OMR, umożliwiając programistom projektowanie i przetwarzanie złożonych formularzy z łatwością. Rozpoznawanie formularzy Optical Mark Recognition (OMR) przy użyciu API to prosty proces, który obejmuje kilka kluczowych kroków. Po instalacji użytkownicy muszą załadować szablon OMR odpowiadający formularzowi, który chcesz rozpoznać. Następnie należy załadować zeskanowany obraz formularza OMR i przetworzyć go przy użyciu załadowanego szablonu, pobrać rozpoznane dane i w razie potrzeby je zapisać. Poniższy przykład pokazuje, jak rozpoznać i wyodrębnić dane z formularza OMR w aplikacjach C++.

Jak rozpoznać i wyodrębnić dane z formularza OMR przy użyciu API C++?

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

Szybkie i wydajne skanowanie OMR

Wydajność jest kluczowa, szczególnie przy obsłudze dużych ilości zeskanowanych dokumentów. Aspose.OMR dla C++ wyróżnia się szybkim skanowaniem, umożliwiając szybkie i dokładne wyodrębnianie danych z arkuszy OMR. Ta funkcja jest szczególnie cenna w aplikacjach, w których czas ma znaczenie, takich jak egzaminy z ograniczonym czasem lub ankiety. API obsługuje szeroką gamę elementów OMR, w tym pola wyboru, siatki i obszary tekstowe. To kompleksowe wsparcie pozwala programistom obsługiwać różnorodne typy dokumentów, co czyni je wszechstronnym wyborem dla aplikacji wymagających funkcjonalności OMR.

Przetwarzanie dokumentów wielostronicowych

Aspose.OMR dla C++ wyróżnia się przetwarzaniem dokumentów wielostronicowych, umożliwiając programistom płynne obsługiwanie rozległych zestawów danych. Ta funkcja jest szczególnie cenna w aplikacjach obejmujących ankiety lub egzaminy z licznymi uczestnikami. Przetwarzanie dokumentów wielostronicowych przy użyciu API OMR C++ obejmuje szereg kroków, aby wczytać, przetworzyć i wyodrębnić dane z każdej strony. Na przykład wczytanie szablonu OMR, przetworzenie każdej strony dokumentu wielostronicowego i zapisanie danych.

Jak wczytać i przetworzyć każdą stronę wielostronicowego dokumentu za pomocą API C++?

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

 Polski