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

Aspose.OMR for C++

 
 

Biblioteka C++ do tworzenia formularzy OMR i rozpoznawania danych

Nowoczesne rozwiązanie Optical Mark Recognition (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 dla C++ to potężne i elastyczne API OMR w C++, zaprojektowane w celu usprawnienia zadań rozpoznawania znaków optycznych w aplikacjach C++. Idealne dla programistów tworzących systemy ankietowe, narzędzia do przetwarzania egzaminów lub własne aplikacje OMR, to SDK oferuje płynną integrację, pełną dokumentację, przykładowy kod oraz wsparcie wieloplatformowe. Dzięki możliwości przetwarzania pytań wielokrotnego wyboru, siatek i pytań tekstowych, doskonale radzi sobie z 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 ankiet na różnych platformach bez obaw o problemy z kompatybilnością.

Bez względu na to, 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 siatek oraz elastyczne szablony OMR. Biblioteka integruje się również płynnie z innymi API Aspose, umożliwiając programistom rozszerzenie aplikacji o dodatkowe funkcje obsługi 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++ pozwala programistom szybko i niezawodnie tworzyć wydajne i bogate w funkcje rozwiązania OMR.

Previous Next

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

Zalecany sposób instalacji Aspose.OMR dla C++ to 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

Generuj szablon/formularz OMR za pomocą API C++

Aspose.OMR for C++ API ułatwia tworzenie szablonów, co jest kluczowym elementem systemów OMR. Dzięki C++ OMR API programiści mogą projektować szablony dla różnych typów formularzy, zapewniając dokładne wyodrębnianie danych podczas procesu skanowania. API można wykorzystać do dostosowywania rozmiaru papieru, orientacji, czcionki, kolorów i innych ustawień układu, które obowiązują na wszystkich stronach szablonu i nie tylko. Funkcja ta upraszcza 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 for C++ wyposażony jest w zaawansowane funkcje OMR, umożliwiając programistom łatwe projektowanie i przetwarzanie złożonych formularzy. Rozpoznawanie formularzy Optical Mark Recognition (OMR) przy użyciu API jest prostym procesem, który obejmuje kilka kluczowych kroków. Po instalacji użytkownik musi wczytać szablon OMR odpowiadający formularzowi, który chce rozpoznać. Następnie wczytuje zeskanowany obraz formularza OMR i przetwarza go przy użyciu wczytanego szablonu, pobiera rozpoznane dane i zapisuje je w razie potrzeby. 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 pracy z dużą ilością zeskanowanych dokumentów. Aspose.OMR for C++ wyróżnia się szybkim skanowaniem, umożliwiając szybkie i precyzyjne wyodrębnianie danych z arkuszy OMR. Funkcja ta jest szczególnie cenna w aplikacjach, w których czas ma duże znaczenie, takich jak egzaminy z ograniczeniem czasu czy 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, czyniąc je wszechstronnym wyborem dla aplikacji wymagających funkcjonalności OMR.

Przetwarzanie dokumentów wielostronicowych

Aspose.OMR for C++ wyróżnia się w przetwarzaniu dokumentów wielostronicowych, umożliwiając programistom płynne obsługiwanie dużych zbiorów danych. Ta funkcja jest szczególnie cenna dla aplikacji obejmujących ankiety lub egzaminy z licznymi uczestnikami. Przetwarzanie dokumentów wielostronicowych przy użyciu API OMR C++ obejmuje szereg kroków: wczytanie, przetworzenie i wyodrębnienie danych z każdej strony, np. wczytanie szablonu OMR, przetworzenie każdej strony dokumentu wielostronicowego oraz zapisanie danych.

Jak wczytać i przetworzyć każdą stronę dokumentu wielostronicowego 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