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 JPEG (Joint Photographic Experts Group), yang umumnya dikenal sebagai JPG, adalah metode kompresi lossy yang banyak digunakan untuk gambar digital, khususnya untuk gambar yang dihasilkan oleh fotografi digital. Tingkat kompresi dapat disesuaikan, sehingga memungkinkan pertukaran yang dapat dipilih antara ukuran penyimpanan dan kualitas gambar. JPEG biasanya mencapai kompresi 10:1 dengan sedikit kehilangan kualitas gambar yang terlihat.
Kompresi JPEG digunakan dalam sejumlah format file gambar. JPEG/Exif adalah format gambar paling umum yang digunakan oleh kamera digital dan perangkat pengambilan gambar fotografi lainnya; bersama dengan JPEG/JFIF, ini adalah format paling umum untuk menyimpan dan mengirimkan gambar fotografi di World Wide Web. Variasi format ini sering kali tidak dibedakan, dan hanya disebut JPEG.
Format JPEG mencakup berbagai standar, termasuk JPEG/Exif, JPEG/JFIF, dan JPEG 2000, yang merupakan standar baru yang menawarkan efisiensi kompresi yang lebih baik dengan kompleksitas komputasi yang lebih tinggi. Standar JPEG rumit, dengan berbagai bagian dan profil, tetapi standar JPEG yang paling umum digunakan adalah JPEG dasar, yang merupakan yang dimaksud kebanyakan orang ketika mereka menyebutkan gambar 'JPEG'.
Algoritma kompresi JPEG pada intinya adalah teknik kompresi berbasis transformasi kosinus diskrit (DCT). DCT adalah transformasi terkait Fourier yang mirip dengan transformasi Fourier diskrit (DFT), tetapi hanya menggunakan fungsi kosinus. DCT digunakan karena memiliki sifat memusatkan sebagian besar sinyal di wilayah frekuensi rendah spektrum, yang berkorelasi baik dengan sifat gambar alami.
Proses kompresi JPEG melibatkan beberapa langkah. Awalnya, gambar diubah dari ruang warna aslinya (biasanya RGB) ke ruang warna berbeda yang dikenal sebagai YCbCr. Ruang warna YCbCr memisahkan gambar menjadi komponen luminansi (Y), yang mewakili tingkat kecerahan, dan dua komponen krominansi (Cb dan Cr), yang mewakili informasi warna. Pemisahan ini bermanfaat karena mata manusia lebih sensitif terhadap variasi kecerahan daripada warna, sehingga memungkinkan kompresi komponen krominansi yang lebih agresif tanpa mempengaruhi kualitas gambar yang dirasakan secara signifikan.
Setelah konversi ruang warna, gambar dibagi menjadi beberapa blok, biasanya berukuran 8x8 piksel. Setiap blok kemudian diproses secara terpisah. Untuk setiap blok, DCT diterapkan, yang mengubah data domain spasial menjadi data domain frekuensi. Langkah ini sangat penting karena membuat data gambar lebih mudah dikompresi, karena gambar alami cenderung memiliki komponen frekuensi rendah yang lebih signifikan daripada komponen frekuensi tinggi.
Setelah DCT diterapkan, koefisien yang dihasilkan dikuantisasi. Kuantisasi adalah proses memetakan sekumpulan besar nilai input ke sekumpulan yang lebih kecil, yang secara efektif mengurangi jumlah bit yang diperlukan untuk menyimpannya. Ini adalah sumber utama kerugian dalam kompresi JPEG. Langkah kuantisasi dikendalikan oleh tabel kuantisasi, yang menentukan seberapa banyak kompresi yang diterapkan pada setiap koefisien DCT. Dengan menyesuaikan tabel kuantisasi, pengguna dapat memperdagangkan antara kualitas gambar dan ukuran file.
Setelah kuantisasi, koefisien dilinearisasi dengan pemindaian zig-zag, yang mengurutkannya dengan meningkatkan frekuensi. Langkah ini penting karena mengelompokkan bersama koefisien frekuensi rendah yang lebih mungkin signifikan, dan koefisien frekuensi tinggi yang lebih mungkin menjadi nol atau mendekati nol setelah kuantisasi. Pengurutan ini memfasilitasi langkah berikutnya, yaitu pengkodean entropi.
Pengkodean entropi adalah metode kompresi lossless yang diterapkan pada koefisien DCT yang dikuantisasi. Bentuk pengkodean entropi yang paling umum digunakan dalam JPEG adalah pengkodean Huffman, meskipun pengkodean aritmatika juga didukung oleh standar. Pengkodean Huffman bekerja dengan menetapkan kode yang lebih pendek ke elemen yang lebih sering dan kode yang lebih panjang ke elemen yang lebih jarang. Karena gambar alami cenderung memiliki banyak koefisien nol atau mendekati nol setelah kuantisasi, terutama di wilayah frekuensi tinggi, pengkodean Huffman dapat secara signifikan mengurangi ukuran data terkompresi.
Langkah terakhir dalam proses kompresi JPEG adalah menyimpan data terkompresi dalam format file. Format yang paling umum adalah JPEG File Interchange Format (JFIF), yang mendefinisikan cara merepresentasikan data terkompresi dan metadata terkait, seperti tabel kuantisasi dan tabel kode Huffman, dalam file yang dapat didekode oleh berbagai perangkat lunak. Format umum lainnya adalah format file gambar yang dapat ditukar (Exif), yang digunakan oleh kamera digital dan menyertakan metadata seperti pengaturan kamera dan informasi pemandangan.
File JPEG juga menyertakan penanda, yang merupakan urutan kode yang menentukan parameter atau tindakan tertentu dalam file. Penanda ini dapat menunjukkan awal gambar, akhir gambar, menentukan tabel kuantisasi, menentukan tabel kode Huffman, dan banyak lagi. Penanda sangat penting untuk pengodean gambar JPEG yang tepat, karena menyediakan informasi yang diperlukan untuk merekonstruksi gambar dari data terkompresi.
Salah satu fitur utama JPEG adalah dukungannya untuk pengkodean progresif. Dalam JPEG progresif, gambar dikodekan dalam beberapa lintasan, masing-masing meningkatkan kualitas gambar. Hal ini memungkinkan versi gambar berkualitas rendah untuk ditampilkan saat file masih diunduh, yang dapat sangat berguna untuk gambar web. File JPEG progresif umumnya lebih besar dari file JPEG dasar, tetapi perbedaan kualitas selama pemuatan dapat meningkatkan pengalaman pengguna.
Meskipun banyak digunakan, JPEG memiliki beberapa keterbatasan. Sifat lossy dari kompresi dapat menyebabkan artefak seperti pemblokiran, di mana gambar mungkin menunjukkan kotak yang terlihat, dan 'dering', di mana tepi mungkin disertai dengan osilasi palsu. Artefak ini lebih terlihat pada tingkat kompresi yang lebih tinggi. Selain itu, JPEG tidak cocok untuk gambar dengan tepi tajam atau teks kontras tinggi, karena algoritma kompresi dapat mengaburkan tepi dan mengurangi keterbacaan.
Untuk mengatasi beberapa keterbatasan standar JPEG asli, JPEG 2000 dikembangkan. JPEG 2000 menawarkan beberapa peningkatan dibandingkan JPEG dasar, termasuk efisiensi kompresi yang lebih baik, dukungan untuk kompresi lossless, dan kemampuan untuk menangani berbagai jenis gambar secara efektif. Namun, JPEG 2000 belum banyak diadopsi dibandingkan dengan standar JPEG asli, sebagian besar karena meningkatnya kompleksitas komputasi dan kurangnya dukungan di beberapa perangkat lunak dan browser web.
Sebagai kesimpulan, format gambar JPEG adalah metode yang kompleks namun efisien untuk mengompresi gambar fotografi. Adopsi yang meluas disebabkan oleh fleksibilitasnya dalam menyeimbangkan kualitas gambar dengan ukuran file, sehingga cocok untuk berbagai aplikasi, dari grafik web hingga fotografi profesional. Meskipun memiliki kekurangan, seperti kerentanan terhadap artefak kompresi, kemudahan penggunaan dan dukungannya di berbagai perangkat dan perangkat lunak menjadikannya salah satu format gambar paling populer yang digunakan saat ini.
Konverter ini berjalan sepenuhnya di browser Anda. Ketika Anda memilih sebuah file, file tersebut dibaca ke dalam memori dan dikonversi ke format yang dipilih. Anda kemudian dapat mengunduh file yang telah dikonversi.
Konversi dimulai seketika, 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 lainnya.
Konverter ini sepenuhnya gratis, dan akan selalu gratis. Karena berjalan di browser Anda, kami tidak perlu membayar untuk server, jadi kami tidak perlu mengenakan biaya kepada Anda.
Ya! Anda dapat mengonversi sebanyak mungkin file sekaligus. Cukup pilih beberapa file saat Anda menambahkannya.