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.
Scalable Vector Graphics (SVG) adalah bahasa markup yang banyak digunakan untuk mendeskripsikan grafik dua dimensi dalam XML. Tidak seperti format grafik raster seperti JPEG, PNG, atau GIF, yang menyimpan gambar sebagai kumpulan piksel individual, SVG bekerja dengan mendefinisikan bentuk, garis, dan warna melalui rumus matematika. Perbedaan mendasar ini memungkinkan file SVG diskalakan ke ukuran apa pun tanpa kehilangan kualitas, menjadikannya ideal untuk desain web responsif, ilustrasi kompleks, dan logo yang perlu mempertahankan ketajaman di berbagai perangkat dan resolusi.
Grafik SVG terdiri dari bentuk vektor seperti lingkaran, persegi panjang, poligon, dan jalur yang dijelaskan oleh titik-titik dalam ruang 2D, bersama dengan goresan, isian, dan properti visual lainnya yang didefinisikan menggunakan bahasa markup SVG. Setiap elemen dan atribut dalam file SVG secara langsung berhubungan dengan bagian dari model rendering SVG, memungkinkan kontrol yang sangat rinci atas tampilan grafik. File SVG dapat dibuat dan diedit dengan editor teks apa pun, karena merupakan file teks biasa, dan juga dapat dibuat dan dimanipulasi secara terprogram menggunakan berbagai pustaka perangkat lunak.
Salah satu fitur utama SVG adalah antarmuka DOM-nya. Gambar SVG dapat disematkan langsung ke dalam dokumen HTML, dan karena menjadi bagian dari Document Object Model (DOM), gambar tersebut dapat berinteraksi seperti elemen HTML. Integrasi ini memungkinkan perubahan dinamis pada properti gambar SVG melalui JavaScript dan CSS, memungkinkan animasi, interaktivitas, dan pembaruan langsung pada grafik. Misalnya, warna, ukuran, atau posisi elemen SVG dapat diubah sebagai respons terhadap interaksi pengguna, seperti gerakan atau klik mouse, atau perubahan data yang direpresentasikan oleh grafik.
SVG mendukung beragam efek grafis, termasuk gradien, pola, jalur kliping, dan topeng, yang menyediakan banyak opsi untuk membuat presentasi visual yang kompleks. SVG juga menyertakan efek filter, seperti pengaburan, manipulasi warna, dan bayangan, yang didefinisikan dengan cara yang mirip dengan filter CSS tetapi dirancang khusus untuk grafik vektor. Efek ini memungkinkan pengembang dan desainer untuk menerapkan peningkatan visual yang canggih langsung dalam markup SVG, sehingga memungkinkan untuk mencapai ilustrasi detail dan hasil akhir bertekstur tanpa menggunakan gambar raster.
Interaktivitas dan animasi adalah salah satu penggunaan SVG yang paling menarik. Dengan elemen <animate>, <set>, dan <animateTransform>, SVG menyediakan sintaks deklaratif untuk menganimasikan atribut dan properti grafik dari waktu ke waktu. Selain itu, integrasi SVG dengan JavaScript memperluas kemampuan animasinya, memungkinkan animasi yang lebih kompleks dan interaktif yang bereaksi terhadap input pengguna atau peristiwa dinamis lainnya. Kombinasi kemampuan ini memungkinkan pembuatan aplikasi web yang menarik, visualisasi data, dan infografis interaktif yang dapat memanfaatkan kekuatan penuh teknologi web.
Aksesibilitas adalah keuntungan signifikan lainnya dari SVG. Teks dalam gambar SVG dapat dipilih dan dicari, berbeda dengan gambar raster di mana teks diratakan. Fitur ini tidak hanya meningkatkan pengalaman pengguna dengan memungkinkan pemilihan teks tetapi juga meningkatkan aksesibilitas dokumen, karena pembaca layar dapat menafsirkan dan membacakan teks yang terdapat dalam grafik SVG. Selain itu, SVG mendukung pengelompokan elemen semantik dan tag deskriptif, yang membantu menyampaikan struktur dan tujuan grafik ke teknologi bantu.
Optimalisasi dan kompresi sangat penting untuk kinerja web, dan file SVG menawarkan beberapa keuntungan di area ini. Karena berbasis teks, grafik SVG dapat dikompresi secara signifikan menggunakan GZIP, yang dapat sangat mengurangi ukuran file untuk waktu pemuatan yang lebih cepat. Selain itu, karena SVG berbasis vektor, sering kali membutuhkan penyimpanan yang lebih sedikit daripada gambar raster beresolusi tinggi, terutama untuk grafik atau ikon sederhana. Namun, verbositas XML dan potensi grafik yang terlalu kompleks atau tidak efisien dapat menyebabkan file SVG yang lebih besar dari yang diperlukan. Oleh karena itu, alat seperti SVGO (SVG Optimizer) biasanya digunakan untuk membersihkan dan mengoptimalkan file SVG, menghapus data dan pemformatan yang tidak perlu untuk membuat file sekompak mungkin.
SVG juga memainkan peran penting dalam desain web responsif. Mengingat skalabilitasnya, grafik SVG dapat dengan mudah beradaptasi dengan ukuran layar, resolusi, dan orientasi yang berbeda tanpa kehilangan kualitas atau masalah pikselasi. Desainer dapat mengontrol responsivitas gambar SVG melalui atribut dan CSS, memastikan bahwa grafik terlihat tajam dan jelas di semua perangkat, dari monitor desktop hingga ponsel cerdas. Skalabilitas yang inheren ini menjadikan SVG pilihan yang sangat baik untuk logo, ikon, dan grafik lainnya yang perlu mempertahankan integritas visual di berbagai konteks tampilan.
Meskipun memiliki banyak keuntungan, SVG bukannya tanpa tantangan dan keterbatasan. Misalnya, sementara SVG unggul dalam merepresentasikan elemen grafis seperti bentuk, garis, dan teks, SVG tidak cocok untuk gambar kompleks dengan ribuan warna dan gradien, seperti foto. Dalam kasus ini, format raster seperti JPEG atau PNG lebih sesuai. Selain itu, kinerja SVG dapat menurun saat menangani grafik yang sangat kompleks atau berisi banyak elemen, karena masing-masing harus dirender dan berpotensi dianimasikan atau berinteraksi.
Selain itu, kompatibilitas lintas-browser secara historis menjadi tantangan bagi SVG. Meskipun browser web modern telah meningkatkan dukungan mereka untuk SVG, inkonsistensi masih dapat terjadi dalam cara browser yang berbeda menafsirkan dan menampilkan konten SVG. Pengembang mungkin perlu menerapkan solusi atau pengganti untuk memastikan grafik mereka ditampilkan dengan benar di semua platform. Fitur aksesibilitas, meskipun kuat, memerlukan implementasi yang cermat untuk mendapatkan manfaat penuh dari kemampuan SVG, termasuk pelabelan dan penataan grafik yang tepat untuk teknologi bantu.
Integrasi SVG dengan standar web lainnya membuka berbagai kemungkinan bagi desainer dan pengembang web. SVG dapat ditata dengan CSS, memberi desainer kemampuan untuk menerapkan properti gaya yang sudah dikenal pada grafik vektor. SVG dapat dimanipulasi melalui JavaScript, memungkinkan perubahan dan interaksi yang dinamis. Selain itu, karena SVG berbasis XML, SVG dapat digunakan bersama dengan teknologi XML dan format data lainnya, seperti umpan RSS atau database XML. Integrasi ini menjadikan SVG alat yang ampuh untuk visualisasi data, memungkinkan pembuatan grafik dinamis berbasis data yang diperbarui secara real time.
Melihat ke masa depan, peran SVG dalam pengembangan web kemungkinan akan terus berkembang. Kemajuan dalam teknologi web dan meningkatnya permintaan akan grafik berkualitas tinggi, interaktif, dan responsif akan mendorong adopsi dan inovasi lebih lanjut dalam penggunaan SVG. Fitur dan kemampuan baru, seperti sintaks animasi yang ditingkatkan, fitur aksesibilitas yang lebih baik, dan optimalisasi kinerja yang ditingkatkan, kemungkinan akan dikembangkan, menjadikan SVG elemen yang lebih penting dari desain web modern.
Sebagai kesimpulan, SVG menawarkan serangkaian fitur yang kaya untuk membuat dan memanipulasi grafik vektor yang dapat diskalakan di web. Kemampuannya untuk diskalakan tanpa kehilangan kualitas, dikombinasikan dengan dukungan untuk interaktivitas, animasi, dan aksesibilitas, menjadikannya alat yang serbaguna bagi desainer dan pengembang. Meskipun ada beberapa tantangan, seperti kompatibilitas lintas-browser dan pertimbangan kinerja, manfaat SVG dalam hal skalabilitas, responsivitas, dan integrasi dengan teknologi web menjadikannya aset yang sangat berharga untuk menciptakan pengalaman online yang dinamis dan menarik secara visual.
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.