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 PAM (Portable Arbitrary Map) adalah anggota yang relatif kurang dikenal dari keluarga format file gambar yang dirancang di bawah payung proyek Netpbm. Ini adalah format yang sangat fleksibel yang dapat mewakili berbagai jenis gambar dengan kedalaman dan jenis data piksel yang berbeda. PAM pada dasarnya merupakan perluasan dari format PBM (Portable Bitmap), PGM (Portable Graymap), dan PPM (Portable Pixmap) sebelumnya, yang secara kolektif dikenal sebagai format PNM (Portable Any Map), yang dirancang untuk kesederhanaan dan kemudahan penggunaan dengan mengorbankan fitur dan kompresi. PAM diperkenalkan untuk mengatasi keterbatasan format ini sambil mempertahankan kesederhanaan dan kemudahan penggunaannya.
Format PAM dirancang agar tidak bergantung pada perangkat dan platform, yang berarti bahwa gambar yang disimpan dalam format ini dapat dibuka dan dimanipulasi pada sistem apa pun tanpa mengkhawatirkan masalah kompatibilitas. Hal ini dicapai dengan menyimpan data gambar dalam format teks biasa atau biner yang dapat dengan mudah dibaca dan ditulis oleh berbagai perangkat lunak. Format ini juga dapat diperluas, memungkinkan penyertaan fitur dan kemampuan baru tanpa merusak kompatibilitas dengan versi yang lebih lama.
File PAM terdiri dari header yang diikuti oleh data gambar. Header adalah teks ASCII yang menentukan lebar, tinggi, kedalaman, dan nilai maksimum gambar, serta tipe tupel yang mendefinisikan ruang warna. Header dimulai dengan angka ajaib 'P7', diikuti oleh serangkaian tag yang dipisahkan baris baru yang menyediakan metadata yang diperlukan. Data gambar segera mengikuti header dan dapat disimpan dalam format biner atau ASCII, dengan biner menjadi pilihan yang lebih umum karena ukuran file yang lebih kecil dan waktu pemrosesan yang lebih cepat.
Kedalaman yang ditentukan dalam header PAM menunjukkan jumlah saluran atau komponen per piksel. Misalnya, kedalaman 3 biasanya mewakili saluran merah, hijau, dan biru dari gambar berwarna, sedangkan kedalaman 4 mungkin menyertakan saluran alfa tambahan untuk transparansi. Nilai maksimum, yang juga ditentukan dalam header, menunjukkan nilai maksimum untuk saluran apa pun, yang pada gilirannya menentukan kedalaman bit gambar. Misalnya, nilai maksimum 255 sesuai dengan 8 bit per saluran.
Tipe tupel adalah fitur utama dari format PAM, karena mendefinisikan interpretasi data piksel. Tipe tupel umum termasuk 'BLACKANDWHITE', 'GRAYSCALE', 'RGB', dan 'RGB_ALPHA', antara lain. Fleksibilitas ini memungkinkan file PAM untuk mewakili berbagai jenis gambar, dari gambar hitam putih sederhana hingga gambar penuh warna dengan transparansi. Selain itu, tipe tupel khusus dapat ditentukan, membuat format dapat diperluas dan disesuaikan dengan kebutuhan pencitraan khusus.
File PAM juga dapat menyertakan baris komentar opsional di header, yang dimulai dengan karakter '#'. Komentar ini diabaikan oleh pembaca gambar dan ditujukan untuk pembaca manusia. Komentar ini dapat digunakan untuk menyimpan metadata seperti tanggal pembuatan gambar, perangkat lunak yang digunakan untuk menghasilkan gambar, atau informasi relevan lainnya yang tidak sesuai dengan bidang header standar.
Data gambar dalam file PAM disimpan dalam urutan tupel, dengan setiap tupel mewakili satu piksel. Tupel diurutkan dari kiri ke kanan dan atas ke bawah, dimulai dengan piksel kiri atas gambar. Dalam format biner, data untuk setiap saluran tupel disimpan sebagai bilangan bulat biner, dengan jumlah byte per saluran ditentukan oleh nilai maksimum yang ditentukan dalam header. Dalam format ASCII, nilai saluran direpresentasikan sebagai angka desimal ASCII yang dipisahkan oleh spasi putih.
Salah satu keuntungan dari format PAM adalah kesederhanaannya, yang membuatnya mudah untuk diurai dan dihasilkan. Kesederhanaan ini mengorbankan ukuran file, karena PAM tidak menyertakan mekanisme kompresi bawaan. Namun, file PAM dapat dikompresi secara eksternal menggunakan algoritme kompresi tujuan umum seperti gzip atau bzip2, yang dapat secara signifikan mengurangi ukuran file untuk penyimpanan atau transmisi.
Meskipun memiliki kelebihan, format PAM tidak banyak digunakan di arus utama karena dominasi format gambar lain seperti JPEG, PNG, dan GIF, yang menawarkan kompresi bawaan dan didukung oleh perangkat lunak dan perangkat keras yang lebih luas. Namun, PAM tetap menjadi format yang berharga untuk aplikasi tertentu, terutama yang memerlukan tingkat fleksibilitas tinggi atau yang melibatkan tugas pemrosesan atau analisis gambar di mana kesederhanaan dan ketepatan format bermanfaat.
Dalam konteks pengembangan perangkat lunak, format PAM sering digunakan sebagai format perantara dalam alur pemrosesan gambar. Strukturnya yang mudah membuatnya mudah untuk dimanipulasi dengan skrip atau program khusus, dan fleksibilitasnya memungkinkannya untuk mengakomodasi keluaran dari berbagai langkah pemrosesan tanpa kehilangan informasi. Misalnya, gambar dapat dikonversi ke format PAM, diproses untuk menerapkan filter atau transformasi, dan kemudian dikonversi ke format yang lebih umum untuk tampilan atau distribusi.
Perpustakaan Netpbm adalah paket perangkat lunak utama untuk bekerja dengan PAM dan format Netpbm lainnya. Ini menyediakan koleksi alat baris perintah untuk mengonversi antar format, serta untuk melakukan manipulasi gambar dasar seperti penskalaan, pemotongan, dan penyesuaian warna. Perpustakaan ini juga menyertakan antarmuka pemrograman untuk C dan bahasa lainnya, yang memungkinkan pengembang untuk membaca dan menulis file PAM secara langsung di dalam aplikasi mereka.
Bagi pengguna dan pengembang yang tertarik untuk bekerja dengan format PAM, ada beberapa pertimbangan yang perlu diingat. Pertama, karena formatnya kurang umum, tidak semua perangkat lunak penampil dan pengedit gambar akan mendukungnya secara asli. Mungkin perlu menggunakan alat khusus atau mengonversi ke format yang berbeda untuk tugas tertentu. Kedua, kurangnya kompresi berarti bahwa file PAM bisa sangat besar, terutama untuk gambar beresolusi tinggi, jadi penyimpanan dan bandwidth harus diperhitungkan saat bekerja dengan format ini.
Terlepas dari pertimbangan ini, kekuatan format PAM menjadikannya alat yang berharga dalam konteks tertentu. Kesederhanaan dan fleksibilitasnya memfasilitasi pengembangan dan eksperimen yang cepat, dan ekstensibilitasnya memastikan bahwa format tersebut dapat beradaptasi dengan kebutuhan di masa mendatang. Untuk penelitian, pencitraan ilmiah, atau aplikasi apa pun di mana integritas dan ketepatan data gambar sangat penting, PAM menawarkan solusi yang kuat.
Sebagai kesimpulan, format gambar PAM adalah format file yang serbaguna dan mudah yang merupakan bagian dari keluarga format gambar Netpbm. Ini dirancang agar sederhana, fleksibel, dan tidak bergantung pada platform, sehingga cocok untuk berbagai jenis gambar dan aplikasi. Meskipun mungkin bukan pilihan terbaik untuk setiap situasi, terutama di mana ukuran file atau kompatibilitas yang luas menjadi perhatian, kekuatannya menjadikannya pilihan yang sangat baik untuk aplikasi khusus yang memerlukan representasi dan manipulasi data gambar yang tepat. Dengan demikian, format ini tetap relevan dan berguna di bidang pemrosesan dan analisis gambar.
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.