Lakukan OCR menggunakan C++

Teknologi OCR (Pengenalan Karakter Optik) memungkinkan Anda membaca dan mengonversi teks dalam gambar atau dokumen yang dipindai ke bentuk yang dapat dibaca mesin. OCR memiliki berbagai kasus penggunaan yang mencakup membaca kode dari voucher, membuat teks dapat diedit, toko swalayan, mengubah dokumen cetak menjadi format digital, dan sebagainya. Berbagai alat dan perpustakaan OCR tersedia di pasar, namun keandalan hasil OCR merupakan faktor kunci. Pada artikel ini, saya akan menunjukkan cara membuat aplikasi OCR Anda sendiri dan mengonversi gambar menjadi teks secara terprogram menggunakan C++.

Perpustakaan C ++ OCR untuk Mengonversi Gambar menjadi Teks

Aspose menawarkan [perpustakaan C++ OCR] yang kuat2 yang menggunakan pembelajaran mendalam untuk memberi Anda hasil OCR yang lebih andal dan mendekati akurat. Anda dapat mengunduh file perpustakaan serta contoh proyek dari GitHub.

Ubah Halaman Gambar menjadi Teks menggunakan C++

Pertama mari kita periksa skenario di mana gambar berisi teks multi-baris. Ini bisa terjadi ketika Anda memiliki buku yang dipindai di mana setiap halaman buku berisi banyak baris teks. Berikut ini adalah langkah-langkah untuk mengonversi gambar menjadi teks dalam kasus ini.

  • Tetapkan jalur gambar dalam variabel string.
  • Siapkan buffer untuk menyimpan hasil OCR.
  • Lakukan OCR menggunakan fungsi aspose::ocr::page(const char \imagepath, wchart \buffer, sizet buffersize).
  • Cetak hasilnya atau simpan dalam file.

Contoh kode berikut menunjukkan cara melakukan OCR dan mengonversi gambar menjadi teks menggunakan C++.

std::string image_path = "sample.png";

// Siapkan buffer untuk hasil (dalam simbol, len_byte = len * sizeof(wchar_t))
const size_t len = 4096;
wchar_t buffer[len] = { 0 };

// Lakukan OCR
size_t size = aspose::ocr::page(image_path.c_str(), buffer, len);

//Hasil cetak
std::wcout << buffer << L"\n"; 

Lakukan OCR untuk Gambar dengan Garis Tunggal menggunakan C++

Pada contoh sebelumnya, kami telah mengonversi gambar yang memiliki beberapa baris teks. Namun, mungkin ada kasus ketika gambar hanya berisi satu baris teks seperti keterangan atau slogan. Berikut ini adalah langkah-langkah untuk melakukan OCR dalam kasus tersebut.

  • Gunakan variabel string untuk mengatur jalur gambar.
  • Buat buffer untuk menyimpan hasil OCR.
  • Lakukan OCR menggunakan fungsi aspose::ocr::line(const char \imagepath, wchart \buffer, sizet buffersize).
  • Simpan atau cetak hasil OCR.

Contoh kode berikut menunjukkan cara melakukan OCR pada gambar dengan satu baris teks menggunakan C++.

std::string image_path = "sample_line.jpg";

// Siapkan buffer untuk hasil (dalam simbol, len_byte = len * sizeof(wchar_t))
const size_t len = 4096;
wchar_t buffer[len] = { 0 };

// Lakukan OCR
size_t size = aspose::ocr::line(image_path.c_str(), buffer, len);

//Hasil cetak
std::wcout << buffer << L"\n";

Mengonversi Area Gambar Tertentu menjadi Teks dalam C++

Anda juga dapat menyesuaikan API untuk membatasi area gambar tempat Anda ingin melakukan OCR. Dalam hal ini, Anda dapat membuat persegi panjang pada gambar untuk mengakses area yang diinginkan. Berikut adalah langkah-langkah untuk mengekstrak teks dari area tertentu pada gambar.

  • Tetapkan jalur gambar dalam variabel string.
  • Siapkan buffer untuk menyimpan hasil OCR.
  • Lakukan OCR menggunakan fungsi aspose::ocr::pagerect(const char \imagepath, wchart \buffer, sizet buffersize, int x, int y, int w, int h).
  • Cetak hasil OCR.

Contoh kode berikut menunjukkan cara mengonversi area tertentu dari gambar menjadi teks menggunakan C++.

std::string image_path = "sample_line.jpg";

// Siapkan buffer untuk hasil (dalam simbol, len_byte = len * sizeof(wchar_t))
const size_t len = 4096;
wchar_t buffer[len] = { 0 };

int x = 138, y = 352, w = 2033, h = 537;

// Lakukan OCR atau area yang dipilih
size_t size = aspose::ocr::page_rect(image_path.c_str(), buffer, len, x, y, w, h);

//Hasil cetak
std::wcout << buffer << L"\n";

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara menggunakan pustaka OCR Aspose untuk mengonversi gambar menjadi teks dalam C++. Kami telah melihat cara melakukan OCR pada gambar dengan satu atau beberapa baris teks serta membaca teks dari area tertentu pada gambar. Anda dapat mempelajari lebih lanjut tentang Aspose.OCR for C++ menggunakan dokumentasi.

Lihat juga