Aspose.OMR untuk C++
Perpustakaan C++ untuk Membuat Borang OMR & Mengenal Pasti Data
Penyelesaian Pengenalan Tanda Optik (OMR) terkini untuk pembangun C++ yang Membolehkan Membuat Templat/Borang OMR dan Mengenal Pasti Imej & Foto yang Diimbas dalam Aplikasi C++.
Apakah Aspose.OMR untuk C++?
Aspose.OMR for C++ ialah API OMR C++ yang kuat dan fleksibel direka untuk mempermudah tugas Pengenalan Tanda Optik dalam aplikasi C++. Sesuai untuk pemaju yang membina sistem tinjauan, alat pemprosesan peperiksaan, atau aplikasi OMR tersuai, SDK ini menawarkan integrasi lancar, lengkap dengan dokumentasi mendalam, contoh kod, dan sokongan merentas platform. Dengan keupayaan untuk memproses soalan pilihan berganda, grid, dan berasaskan teks, ia cemerlang dalam membaca imej dan foto yang diimbas dengan tepat. Pemaju boleh mengeksport keputusan pengenalan dalam format CSV, memudahkan analisis data daripada ujian, borang, atau soal selidik di pelbagai platform tanpa kebimbangan mengenai isu keserasian.
Jika anda sedang membangunkan perisian OMR C++ tersuai atau mencari SDK OMR yang boleh dipercayai untuk C++, Aspose.OMR menonjol sebagai penyelesaian komprehensif. Ia menyokong ciri-ciri lanjutan seperti pengesanan kotak semak, medan grid, dan templat OMR yang fleksibel. Perpustakaan ini juga berintegrasi dengan lancar dengan API Aspose yang lain, membolehkan pembangun meningkatkan aplikasi mereka dengan ciri format fail tambahan atau automasi dokumen. Dari analisis imej OMR berketepatan tinggi dengan C++ hingga membina sistem pemprosesan borang yang boleh diskala, Aspose.OMR untuk C++ memberi kuasa kepada pembangun untuk mencipta penyelesaian OMR yang cekap dan kaya ciri dengan cepat dan boleh dipercayai.
Mula Menggunakan Aspose.OMR untuk C++
Cara yang disyorkan untuk memasang Aspose.OMR untuk C++ ialah melalui NuGet. Sila gunakan perintah berikut untuk pemasangan yang lancar.
Pasang Aspose.OMR untuk C++ melalui NuGet
Install-Package Aspose.OMR.Cpp
Anda boleh memuat turun perpustakaan secara langsung dari Aspose.OMR halaman produk
Jana Templat/Form OMR melalui API C++
Aspose.OMR untuk API C++ memudahkan penciptaan templat, satu aspek penting dalam sistem OMR. Dengan API OMR C++, pemaju perisian boleh mereka bentuk templat untuk pelbagai jenis borang, memastikan pengekstrakan data yang tepat semasa proses pengimbasan. API ini boleh digunakan untuk menyesuaikan saiz kertas, orientasi, fon, warna dan tetapan susun atur lain yang diterapkan pada semua halaman templat dan banyak lagi. Ciri ini mempermudah integrasi keupayaan OMR ke dalam pelbagai domain, seperti tinjauan, peperiksaan, dan penilaian. Contoh berikut menunjukkan cara menghasilkan imej borang yang boleh dicetak dan diberikan kepada responden dalam aplikasi C++.
Bagaimana untuk Menjana Imej Borang dalam Aplikasi 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);
Kenal Pasti Borang OMR melalui API C++
Aspose.OMR untuk C++ dilengkapi dengan fungsi OMR lanjutan, membolehkan pembangun perisian mereka bentuk dan memproses borang kompleks dengan mudah. Mengenal pasti borang Optical Mark Recognition (OMR) menggunakan API adalah proses yang mudah dan melibatkan beberapa langkah utama. Selepas pemasangan, pengguna perlu memuatkan templat OMR yang sepadan dengan borang yang ingin dikenalpasti. Selepas itu, muatkan imej imbasan borang OMR dan proseskan menggunakan templat yang dimuatkan, dapatkan data yang dikenalpasti dan simpan jika diperlukan. Contoh berikut menunjukkan cara mengenal pasti dan mengekstrak data daripada borang OMR dalam aplikasi C++.
Bagaimana untuk Mengenali dan Mengekstrak Data daripada Borang OMR menggunakan 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();
Pengimbasan OMR Berkelajuan Tinggi & Cekap
Kecekapan adalah kunci, terutamanya apabila berurusan dengan sejumlah besar dokumen yang diimbas. Aspose.OMR untuk C++ cemerlang dalam pengimbasan berkelajuan tinggi, membolehkan pengekstrakan data yang cepat dan tepat daripada helaian OMR. Ciri ini sangat berharga untuk aplikasi di mana masa sangat penting, seperti peperiksaan berjangka masa atau tinjauan. API menyokong pelbagai elemen OMR, termasuk kotak semak, grid, dan kawasan teks. Sokongan menyeluruh ini membolehkan pembangun mengendalikan pelbagai jenis dokumen, menjadikannya pilihan serba boleh untuk aplikasi yang memerlukan fungsi OMR.
Pemprosesan Dokumen Berbilang Halaman
Aspose.OMR untuk C++ cemerlang dalam pemprosesan dokumen berbilang halaman, membolehkan pembangun mengendalikan set data yang besar dengan lancar. Keupayaan ini sangat berharga untuk aplikasi yang melibatkan tinjauan atau peperiksaan dengan ramai peserta. Memproses dokumen berbilang halaman menggunakan API OMR C++ melibatkan beberapa langkah untuk memuat, memproses, dan mengekstrak data dari setiap halaman. Seperti memuat templat OMR, memproses setiap halaman dokumen berbilang halaman dan menyimpan data.
Bagaimana untuk Memuat dan Memproses Setiap Halaman Dokumen Berbilang Halaman melalui 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();