Pengenalan Karakter Optik (OCR) mengubah gambar teks—pindaian, foto ponsel cerdas, PDF—menjadi string yang dapat dibaca mesin dan, semakin, data terstruktur. OCR modern adalah alur kerja yang membersihkan gambar, menemukan teks, membacanya, dan mengekspor metadata yang kaya sehingga sistem hilir dapat mencari, mengindeks, atau mengekstrak bidang. Dua standar output yang banyak digunakan adalah hOCR, sebuah format mikro HTML untuk teks dan tata letak, dan ALTO XML, sebuah skema berorientasi perpustakaan/arsip; keduanya mempertahankan posisi, urutan baca, dan isyarat tata letak lainnya dan didukung oleh mesin populer seperti Tesseract.
Pra-pemrosesan. Kualitas OCR dimulai dengan pembersihan gambar: konversi skala abu-abu, penghilangan noise, thresholding (binerisasi), dan deskewing. Tutorial OpenCV kanonik mencakup global, adaptif dan Otsu thresholding—pokok untuk dokumen dengan pencahayaan tidak seragam atau histogram bimodal. Ketika iluminasi bervariasi dalam satu halaman (pikirkan jepretan telepon), metode adaptif seringkali mengungguli ambang batas global tunggal; Otsu secara otomatis memilih ambang batas dengan menganalisis histogram. Koreksi kemiringan sama pentingnya: deskewing berbasis Hough (Transformasi Garis Hough) yang dipasangkan dengan binerisasi Otsu adalah resep umum dan efektif dalam alur kerja pra-pemrosesan produksi.
Deteksi vs. pengenalan. OCR biasanya dibagi menjadi deteksi teks (di mana teksnya ?) dan pengenalan teks (apa isinya?). Dalam pemandangan alam dan banyak pindaian, detektor konvolusional sepenuhnya seperti EAST secara efisien memprediksi kuadrilateral tingkat kata atau baris tanpa tahap proposal yang berat dan diimplementasikan dalam toolkit umum (misalnya, tutorial deteksi teks OpenCV). Pada halaman yang kompleks (koran, formulir, buku), segmentasi baris/wilayah dan inferensi urutan baca penting:Kraken mengimplementasikan segmentasi zona/garis tradisional dan segmentasi baseline saraf, dengan dukungan eksplisit untuk berbagai skrip dan arah (LTR/RTL/vertikal).
Model pengenalan. Kuda beban open-source klasik Tesseract (sumber terbuka oleh Google, dengan akar di HP) berevolusi dari pengklasifikasi karakter menjadi pengenal urutan berbasis LSTM dan dapat menghasilkan PDF yang dapat dicari, output ramah hOCR/ALTO, dan lainnya dari CLI. Pengenal modern mengandalkan pemodelan urutan tanpa karakter yang telah disegmentasi sebelumnya. Klasifikasi Temporal Connectionist (CTC) tetap menjadi dasar, mempelajari penyelarasan antara urutan fitur input dan string label output; ini banyak digunakan dalam alur kerja tulisan tangan dan teks pemandangan.
Dalam beberapa tahun terakhir, Transformer telah membentuk kembali OCR. TrOCR menggunakan encoder Vision Transformer plus decoder Text Transformer, dilatih pada korpora sintetis besar kemudian disesuaikan dengan data nyata, dengan kinerja yang kuat di seluruh tolok ukur cetak, tulisan tangan, dan teks pemandangan (lihat juga Dokumentasi Hugging Face). Secara paralel, beberapa sistem menghindari OCR untuk pemahaman hilir: Donut (Document Understanding Transformer) adalah encoder-decoder bebas OCR yang secara langsung menghasilkan jawaban terstruktur (seperti JSON kunci-nilai) dari dokumen gambar (repo, kartu model), menghindari akumulasi kesalahan saat langkah OCR terpisah memberi makan sistem IE.
Jika Anda ingin membaca teks yang disertakan dengan baterai di banyak skrip, EasyOCR menawarkan API sederhana dengan 80+ model bahasa, mengembalikan kotak, teks, dan kepercayaan—berguna untuk prototipe dan skrip non-Latin. Untuk dokumen bersejarah, Kraken bersinar dengan segmentasi baseline dan urutan baca yang sadar skrip; untuk pelatihan tingkat baris yang fleksibel, Calamari membangun di atas garis keturunan Ocropy (Ocropy) dengan pengenal (multi-)LSTM+CTC dan CLI untuk menyempurnakan model kustom.
Generalisasi bergantung pada data. Untuk tulisan tangan, Database Tulisan Tangan IAM menyediakan kalimat bahasa Inggris yang beragam penulis untuk pelatihan dan evaluasi; ini adalah set referensi yang sudah lama ada untuk pengenalan baris dan kata. Untuk teks pemandangan, COCO-Text melapisi anotasi ekstensif di atas MS-COCO, dengan label untuk cetak/tulisan tangan, terbaca/tidak terbaca, skrip, dan transkripsi penuh (lihat juga halaman proyek asli). Bidang ini juga sangat bergantung pada pra-pelatihan sintetis: SynthText in the Wild merender teks ke dalam foto dengan geometri dan pencahayaan yang realistis, menyediakan volume data yang sangat besar untuk pra-pelatihan detektor dan pengenal (referensi kode & data).
Kompetisi di bawah payung Robust Reading ICDAR menjaga evaluasi tetap membumi. Tugas-tugas terbaru menekankan deteksi/pembacaan ujung-ke-ujung dan mencakup menghubungkan kata-kata menjadi frasa, dengan pelaporan kode resmi presisi/perolehan kembali/F-score, persimpangan-atas-gabungan (IoU), dan metrik jarak edit tingkat karakter—mencerminkan apa yang harus dilacak oleh para praktisi.
OCR jarang berakhir pada teks biasa. Arsip dan perpustakaan digital lebih suka ALTO XML karena mengkodekan tata letak fisik (blok/baris/kata dengan koordinat) di samping konten, dan itu berpasangan dengan baik dengan kemasan METS. hOCR mikroformat, sebaliknya, menyematkan ide yang sama ke dalam HTML/CSS menggunakan kelas seperti ocr_line dan ocrx_word, membuatnya mudah untuk ditampilkan, diedit, dan diubah dengan perkakas web. Tesseract mengekspos keduanya—misalnya, menghasilkan hOCR atau PDF yang dapat dicari langsung dari CLI (panduan output PDF); Pembungkus Python seperti pytesseract menambahkan kenyamanan. Konverter ada untuk menerjemahkan antara hOCR dan ALTO ketika repositori memiliki standar penyerapan tetap —lihat daftar yang dikurasi ini dari alat format file OCR.
Tren terkuat adalah konvergensi: deteksi, pengenalan, pemodelan bahasa, dan bahkan decoding khusus tugas sedang bergabung menjadi tumpukan Transformer terpadu. Pra-pelatihan pada korpora sintetis besar tetap menjadi pengganda kekuatan. Model bebas OCR akan bersaing secara agresif di mana pun targetnya adalah output terstruktur daripada transkrip verbatim. Harapkan juga penerapan hibrida: detektor ringan plus pengenal gaya TrOCR untuk teks bentuk panjang, dan model gaya Donat untuk formulir dan tanda terima.
Tesseract (GitHub) · Dokumentasi Tesseract · Spesifikasi hOCR · Latar belakang ALTO · Detektor EAST · Deteksi Teks OpenCV · TrOCR · Donut · COCO-Text · SynthText · Kraken · Calamari OCR · ICDAR RRC · pytesseract · Tulisan Tangan IAM · Alat format file OCR · EasyOCR
Optical Character Recognition (OCR) adalah teknologi yang digunakan untuk mengubah berbagai jenis dokumen, seperti dokumen kertas yang telah dipindai, file PDF, atau gambar yang ditangkap oleh kamera digital, menjadi data yang dapat diedit dan dicari.
OCR bekerja dengan memindai gambar atau dokumen input, membagi gambar menjadi karakter individu, dan membandingkan setiap karakter dengan database bentuk karakter menggunakan pengenalan pola atau pengenalan fitur.
OCR digunakan dalam berbagai sektor dan aplikasi, termasuk mendigitalkan dokumen yang dicetak, mengaktifkan layanan teks-ke-suara, mengotomatisasi proses entri data, dan membantu pengguna dengan gangguan penglihatan untuk berinteraksi lebih baik dengan teks.
Meskipun telah ada kemajuan besar dalam teknologi OCR, tetapi itu tidak sempurna. Akurasi dapat bervariasi tergantung pada kualitas dokumen asli dan spesifik dari software OCR yang digunakan.
Meskipun OCR sebagian besar dirancang untuk teks cetak, beberapa sistem OCR lanjutan juga mampu mengenali tulisan tangan yang jelas dan konsisten. Namun, biasanya pengenalan tulisan tangan kurang akurat karena variasi besar dalam gaya tulisan individu.
Ya, banyak sistem software OCR dapat mengenali beberapa bahasa. Namun, penting untuk memastikan bahwa bahasa spesifik tersebut didukung oleh software yang Anda gunakan.
OCR berarti Optical Character Recognition dan digunakan untuk mengenali teks cetak, sedangkan ICR, atau Intelligent Character Recognition, lebih canggih dan digunakan untuk mengenali teks tulisan tangan.
OCR bekerja terbaik dengan font yang jelas, mudah dibaca dan ukuran teks standar. Meski bisa bekerja dengan berbagai font dan ukuran, akurasi cenderung menurun ketika berhadapan dengan font yang tidak biasa atau ukuran teks sangat kecil.
OCR bisa kesulitan dengan dokumen beresolusi rendah, font yang rumit, teks yang dicetak buruk, tulisan tangan, dan dokumen dengan latar belakang yang mengganggu teks. Juga, meskipun dapat bekerja dengan banyak bahasa, mungkin tidak mencakup setiap bahasa secara sempurna.
Ya, OCR dapat memindai teks berwarna dan latar belakang berwarna, meskipun umumnya lebih efektif dengan kombinasi warna kontras tinggi, seperti teks hitam pada latar belakang putih. Akurasi mungkin berkurang ketika warna teks dan latar belakang tidak memiliki kontras yang cukup.
Format gambar MAT, yang umumnya dikaitkan dengan MATLAB, bahasa tingkat tinggi dan lingkungan interaktif yang dikembangkan oleh MathWorks, bukanlah format gambar konvensional seperti JPEG atau PNG. Sebaliknya, ini adalah format file untuk menyimpan matriks, variabel, dan tipe data lain yang biasanya digunakan dalam MATLAB. Format MAT adalah singkatan dari file MATLAB MAT. Format file ini penting bagi pengguna MATLAB karena memungkinkan penyimpanan dan pengelolaan data sesi, yang dapat mencakup variabel, fungsi, array, dan bahkan gambar dalam format yang dapat dengan mudah dimuat kembali ke ruang kerja MATLAB untuk analisis atau pemrosesan lebih lanjut.
File MAT adalah wadah data biner yang dapat menyimpan beberapa variabel, termasuk array multidimensi dan data skalar. Dalam hal gambar, MATLAB memperlakukannya sebagai matriks dengan setiap nilai piksel disimpan sebagai elemen dalam matriks. Untuk gambar skala abu-abu, ini adalah matriks dua dimensi, sedangkan untuk gambar berwarna, ini adalah matriks tiga dimensi dengan lapisan terpisah untuk komponen warna merah, hijau, dan biru. Format MAT sangat berguna untuk menyimpan data gambar tersebut karena mempertahankan presisi numerik dan struktur data yang tepat, yang sangat penting untuk aplikasi ilmiah dan teknik.
Format file MAT telah berkembang dari waktu ke waktu, dengan versi berbeda dirilis saat MATLAB diperbarui. Versi yang paling umum adalah versi file MAT 4, 5, dan 7, dengan versi 7.3 menjadi yang terbaru hingga batas pengetahuan saya pada tahun 2023. Setiap versi telah memperkenalkan peningkatan dalam hal kapasitas data, kompresi, dan kompatibilitas dengan HDF5 (Hierarchical Data Format versi 5), yang merupakan model data, pustaka, dan format file yang banyak digunakan untuk menyimpan dan mengelola data kompleks.
Versi file MAT 4 adalah format yang paling sederhana dan tertua, yang tidak mendukung kompresi data atau struktur hierarki yang kompleks. Ini terutama digunakan untuk kompatibilitas dengan versi MATLAB yang lebih lama. Versi 5 adalah format yang lebih canggih yang memperkenalkan fitur-fitur seperti kompresi data, pengkodean karakter Unicode, dan dukungan untuk angka dan objek kompleks. Versi 7 menambahkan lebih banyak peningkatan, termasuk kompresi yang lebih baik dan kemampuan untuk menyimpan array yang lebih besar. Versi 7.3 terintegrasi penuh dengan standar HDF5, memungkinkan file MAT memanfaatkan fitur-fitur canggih HDF5, seperti penyimpanan data yang lebih besar dan organisasi data yang lebih kompleks.
Saat menangani file MAT, terutama untuk data gambar, penting untuk memahami bagaimana MATLAB menangani gambar. MATLAB merepresentasikan gambar sebagai array angka, dengan setiap angka sesuai dengan intensitas piksel dalam gambar skala abu-abu atau kode warna dalam gambar RGB. Misalnya, gambar skala abu-abu 8-bit disimpan sebagai matriks dengan nilai berkisar dari 0 hingga 255, di mana 0 mewakili hitam, 255 mewakili putih, dan nilai di antaranya mewakili corak abu-abu. Dalam kasus gambar berwarna, MATLAB menggunakan array tiga dimensi di mana dua dimensi pertama sesuai dengan posisi piksel dan dimensi ketiga sesuai dengan saluran warna.
Untuk membuat file MAT di MATLAB, seseorang dapat menggunakan fungsi 'save'. Fungsi ini memungkinkan pengguna untuk menentukan nama file dan variabel yang ingin mereka simpan. Misalnya, untuk menyimpan matriks gambar bernama 'img' ke dalam file MAT bernama 'imageData.mat', seseorang akan menjalankan perintah 'save('imageData.mat', 'img')'. Perintah ini akan membuat file MAT yang berisi data gambar yang dapat dimuat kembali ke MATLAB di lain waktu menggunakan fungsi 'load'.
Memuat file MAT sangat mudah di MATLAB. Fungsi 'load' digunakan untuk membaca data dari file dan membawanya ke ruang kerja MATLAB. Misalnya, menjalankan 'load('imageData.mat')' akan memuat konten 'imageData.mat' ke dalam ruang kerja, memungkinkan pengguna untuk mengakses dan memanipulasi data gambar yang disimpan. Perintah 'whos' dapat digunakan setelah memuat untuk menampilkan informasi tentang variabel yang telah dimuat, termasuk ukuran, bentuk, dan tipe datanya.
Salah satu manfaat utama dari format MAT adalah kemampuannya untuk menyimpan data secara kompak dan efisien. Saat menyimpan data ke file MAT, MATLAB dapat menerapkan kompresi untuk mengurangi ukuran file. Ini sangat berguna untuk data gambar, yang bisa sangat besar, terutama saat berhadapan dengan gambar beresolusi tinggi atau kumpulan data gambar yang luas. Kompresi yang digunakan dalam file MAT tidak hilang, artinya ketika data dimuat kembali ke MATLAB, data tersebut identik dengan data asli tanpa kehilangan presisi atau kualitas.
File MAT juga mendukung penyimpanan metadata, yang dapat mencakup informasi tentang asal data, tanggal pembuatannya, versi MATLAB yang digunakan, dan detail relevan lainnya. Metadata ini bisa sangat berharga saat berbagi data dengan orang lain atau saat mengarsipkan data untuk penggunaan di masa mendatang, karena memberikan konteks dan memastikan bahwa data dapat ditafsirkan dan direproduksi secara akurat.
Selain array numerik dan data gambar, file MAT dapat menyimpan berbagai tipe data lainnya, seperti struktur, array sel, tabel, dan objek. Fleksibilitas ini menjadikan file MAT alat yang serbaguna bagi pengguna MATLAB, karena mereka dapat merangkum berbagai tipe data dan struktur dalam satu file. Ini sangat berguna untuk proyek kompleks yang melibatkan berbagai jenis data, karena semua data yang relevan dapat disimpan secara konsisten dan teratur.
Bagi pengguna yang perlu berinteraksi dengan file MAT di luar MATLAB, MathWorks menyediakan pustaka I/O file MAT, yang memungkinkan program yang ditulis dalam C, C++, dan Fortran untuk membaca dan menulis file MAT. Pustaka ini berguna untuk mengintegrasikan data MATLAB dengan aplikasi lain atau untuk mengembangkan perangkat lunak khusus yang perlu mengakses data file MAT. Selain itu, pustaka dan alat pihak ketiga tersedia untuk bahasa pemrograman lain, seperti Python, yang memungkinkan jangkauan aplikasi yang lebih luas untuk bekerja dengan file MAT.
Integrasi file MAT dengan standar HDF5 dalam versi 7.3 telah secara signifikan memperluas kemampuan format tersebut. HDF5 dirancang untuk menyimpan dan mengatur data dalam jumlah besar, dan dengan mengadopsi standar ini, file MAT sekarang dapat menangani kumpulan data yang jauh lebih besar dari sebelumnya. Ini sangat penting untuk bidang-bidang seperti pembelajaran mesin, penambangan data, dan komputasi kinerja tinggi, di mana volume data yang besar adalah hal yang umum. Integrasi HDF5 juga berarti bahwa file MAT dapat diakses menggunakan alat yang kompatibel dengan HDF5, yang semakin meningkatkan interoperabilitas dengan sistem dan perangkat lunak lain.
Meskipun banyak keuntungan dari format MAT, ada beberapa pertimbangan yang perlu diingat. Salah satunya adalah masalah kompatibilitas versi. Seiring berkembangnya MATLAB, begitu pula format file MAT, dan file yang disimpan dalam versi yang lebih baru mungkin tidak kompatibel dengan versi MATLAB yang lebih lama. Pengguna perlu mengetahui versi MATLAB yang mereka gunakan dan versi file MAT yang mereka coba muat. MATLAB menyediakan fungsi untuk memeriksa dan menentukan versi file MAT saat menyimpan, yang dapat membantu menjaga kompatibilitas di berbagai rilis MATLAB.
Pertimbangan lainnya adalah sifat kepemilikan dari format MAT. Meskipun didokumentasikan dengan baik dan didukung oleh MathWorks, ini bukan standar terbuka seperti beberapa format data lainnya. Hal ini dapat menimbulkan tantangan saat berbagi data dengan pengguna yang tidak memiliki akses ke MATLAB atau perangkat lunak yang kompatibel. Namun, integrasi dengan HDF5 telah mengurangi masalah ini sampai batas tertentu, karena HDF5 adalah standar terbuka dan ada banyak alat yang tersedia untuk bekerja dengan file HDF5.
Sebagai kesimpulan, format gambar MAT adalah cara yang kuat dan fleksibel untuk menyimpan data gambar dan variabel lainnya di MATLAB. Kemampuannya untuk mempertahankan presisi numerik, mendukung berbagai tipe data, dan berintegrasi dengan standar HDF5 menjadikannya alat yang sangat berharga bagi pengguna MATLAB, terutama mereka yang bekerja di bidang ilmiah dan teknik. Meskipun ada beberapa pertimbangan mengenai kompatibilitas versi dan sifat kepemilikan format, manfaat menggunakan file MAT untuk penyimpanan dan pertukaran data sangat signifikan. Seiring MATLAB terus berkembang, kemungkinan format MAT akan terus berkembang, menawarkan lebih banyak fitur dan kemampuan untuk mengelola data kompleks.
Konverter ini berjalan sepenuhnya di browser Anda. Saat Anda memilih file, file tersebut dibaca ke dalam memori dan dikonversi ke format yang dipilih. Anda kemudian dapat mengunduh file yang telah dikonversi.
Konversi dimulai secara instan, dan sebagian besar file dikonversi dalam waktu kurang dari satu detik. File yang lebih besar mungkin membutuhkan waktu lebih lama.
File Anda tidak pernah diunggah ke server kami. File tersebut dikonversi di browser Anda, dan file yang telah dikonversi kemudian diunduh. Kami tidak pernah melihat file Anda.
Kami mendukung konversi antara semua format gambar, termasuk JPEG, PNG, GIF, WebP, SVG, BMP, TIFF, dan banyak lagi.
Konverter ini sepenuhnya gratis, dan akan selalu gratis. Karena berjalan di browser Anda, kami tidak perlu membayar server, jadi kami tidak perlu menagih Anda.
Ya! Anda dapat mengonversi file sebanyak yang Anda inginkan sekaligus. Cukup pilih beberapa file saat Anda menambahkannya.