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.
YCbCrA adalah ruang warna dan format gambar yang umum digunakan untuk kompresi video dan gambar digital. Ini memisahkan informasi luma (kecerahan) dari informasi kroma (warna), yang memungkinkan keduanya dikompresi secara independen untuk pengkodean yang lebih efisien. Ruang warna YCbCrA adalah variasi dari ruang warna YCbCr yang menambahkan saluran alfa untuk transparansi.
Dalam ruang warna YCbCrA, Y mewakili komponen luma, yang merupakan kecerahan atau intensitas piksel. Ini dihitung sebagai jumlah tertimbang dari komponen warna merah, hijau, dan biru berdasarkan bagaimana mata manusia memandang kecerahan. Bobot dipilih untuk mendekati fungsi luminositas, yang menggambarkan sensitivitas spektral rata-rata persepsi visual manusia. Komponen luma menentukan kecerahan yang dirasakan dari sebuah piksel.
Cb dan Cr masing-masing adalah komponen kroma perbedaan biru dan perbedaan merah. Mereka mewakili informasi warna dalam gambar. Cb dihitung dengan mengurangkan luma dari komponen warna biru, sedangkan Cr dihitung dengan mengurangkan luma dari komponen warna merah. Dengan memisahkan informasi warna menjadi komponen perbedaan warna ini, YCbCrA memungkinkan informasi warna dikompresi lebih efisien dibandingkan dengan RGB.
Saluran alfa (A) dalam YCbCrA mewakili transparansi atau opasitas setiap piksel. Ini menentukan seberapa banyak warna piksel yang harus dicampur dengan latar belakang saat gambar dirender. Nilai alfa 0 berarti piksel benar-benar transparan, sedangkan nilai alfa 1 (atau 255 dalam representasi 8-bit) berarti piksel benar-benar buram. Nilai alfa antara 0 dan 1 menghasilkan piksel yang sebagian transparan yang menyatu dengan latar belakang dengan berbagai tingkat.
Salah satu keuntungan utama dari ruang warna YCbCrA adalah memungkinkan kompresi yang lebih efisien dibandingkan dengan RGB. Sistem visual manusia lebih sensitif terhadap perubahan kecerahan daripada perubahan warna. Dengan memisahkan informasi luma dan kroma, YCbCrA memungkinkan pengkode untuk mengalokasikan lebih banyak bit ke komponen luma, yang membawa informasi terpenting yang dapat dilihat, sambil mengompresi komponen kroma secara lebih agresif.
Selama kompresi, komponen luma dan kroma dapat disubsampling pada kecepatan yang berbeda. Subsampling mengurangi resolusi spasial komponen kroma sambil mempertahankan resolusi penuh komponen luma. Skema subsampling umum termasuk 4:4:4 (tanpa subsampling), 4:2:2 (kroma disubsampling secara horizontal dengan faktor 2), dan 4:2:0 (kroma disubsampling secara horizontal dan vertikal dengan faktor 2). Subsampling memanfaatkan sensitivitas visual manusia yang lebih rendah terhadap detail warna, yang memungkinkan rasio kompresi yang lebih tinggi tanpa kehilangan kualitas persepsi yang signifikan.
Format gambar YCbCrA banyak digunakan dalam standar kompresi video dan gambar seperti JPEG, MPEG, dan H.264/AVC. Standar ini menggunakan berbagai teknik untuk mengompresi data YCbCrA, termasuk subsampling kroma, transformasi kosinus diskrit (DCT), kuantisasi, dan pengkodean entropi.
Saat mengompresi bingkai gambar atau video, data YCbCrA mengalami serangkaian transformasi dan langkah kompresi. Gambar pertama-tama dikonversi dari RGB ke ruang warna YCbCrA. Komponen luma dan kroma kemudian dibagi menjadi blok, biasanya berukuran 8x8 atau 16x16 piksel. Setiap blok mengalami transformasi kosinus diskrit (DCT), yang mengubah nilai piksel spasial menjadi koefisien frekuensi.
Koefisien DCT kemudian dikuantisasi, yang membagi setiap koefisien dengan ukuran langkah kuantisasi dan membulatkan hasilnya ke bilangan bulat terdekat. Kuantisasi memperkenalkan kompresi lossy dengan membuang informasi frekuensi tinggi yang kurang penting secara persepsi. Ukuran langkah kuantisasi dapat disesuaikan untuk mengontrol pertukaran antara rasio kompresi dan kualitas gambar.
Setelah kuantisasi, koefisien diurutkan ulang dalam pola zig-zag untuk mengelompokkan koefisien frekuensi rendah, yang cenderung memiliki besaran yang lebih besar. Koefisien yang diurutkan ulang kemudian dikodekan entropi menggunakan teknik seperti pengkodean Huffman atau pengkodean aritmatika. Pengkodean entropi menetapkan kata kode yang lebih pendek untuk koefisien yang lebih sering muncul, yang selanjutnya mengurangi ukuran data terkompresi.
Untuk mendekompresi gambar YCbCrA, proses kebalikannya diterapkan. Data yang dikodekan entropi didekode untuk mengambil koefisien DCT yang dikuantisasi. Koefisien kemudian didekuantisasi dengan mengalikannya dengan ukuran langkah kuantisasi yang sesuai. DCT terbalik dilakukan pada koefisien yang didekuantisasi untuk merekonstruksi blok YCbCrA. Terakhir, data YCbCrA dikonversi kembali ke ruang warna RGB untuk ditampilkan atau diproses lebih lanjut.
Saluran alfa dalam YCbCrA biasanya dikompresi secara terpisah dari komponen luma dan kroma. Ini dapat dikodekan menggunakan berbagai metode, seperti pengkodean panjang lari atau kompresi berbasis blok. Saluran alfa memungkinkan efek transparansi, seperti melapiskan gambar atau video di atas satu sama lain dengan opasitas variabel.
YCbCrA menawarkan beberapa keunggulan dibandingkan ruang warna dan format gambar lainnya. Pemisahan informasi luma dan kroma memungkinkan kompresi yang lebih efisien, karena sistem visual manusia lebih sensitif terhadap variasi kecerahan daripada variasi warna. Subsampling komponen kroma semakin mengurangi jumlah data yang akan dikompresi tanpa berdampak signifikan pada kualitas persepsi.
Selain itu, kompatibilitas YCbCrA dengan standar kompresi populer seperti JPEG dan MPEG membuatnya banyak didukung di berbagai platform dan perangkat. Kemampuannya untuk menggabungkan saluran alfa untuk transparansi juga membuatnya cocok untuk aplikasi yang memerlukan pengomposisian atau pencampuran gambar.
Namun, YCbCrA bukannya tanpa batasan. Konversi dari RGB ke YCbCrA dan sebaliknya dapat menyebabkan beberapa distorsi warna, terutama jika komponen kroma dikompresi secara berlebihan. Subsampling komponen kroma juga dapat menyebabkan pendarahan warna atau artefak di area dengan transisi warna yang tajam.
Terlepas dari keterbatasan ini, YCbCrA tetap menjadi pilihan populer untuk kompresi gambar dan video karena efisiensinya dan dukungannya yang luas. Ini memberikan keseimbangan antara kinerja kompresi dan kualitas visual, membuatnya cocok untuk berbagai aplikasi, dari kamera digital dan streaming video hingga grafis dan game.
Seiring kemajuan teknologi, teknik dan format kompresi baru mungkin muncul untuk mengatasi keterbatasan YCbCrA dan memberikan efisiensi kompresi dan kualitas visual yang lebih baik. Namun, prinsip dasar pemisahan informasi luma dan kroma, subsampling, dan pengkodean transformasi kemungkinan akan tetap relevan dalam standar kompresi gambar dan video di masa mendatang.
Sebagai kesimpulan, YCbCrA adalah ruang warna dan format gambar yang menawarkan kompresi efisien dengan memisahkan informasi luma dan kroma dan memungkinkan subsampling kroma. Penyertaan saluran alfa untuk transparansi membuatnya serbaguna untuk berbagai aplikasi. Meskipun memiliki beberapa keterbatasan, kompatibilitas YCbCrA dengan standar kompresi populer dan keseimbangan antara kinerja kompresi dan kualitas visual menjadikannya pilihan yang banyak digunakan di bidang kompresi gambar dan video.
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.