OCR di Java – OCR Optical Character Recognition merupakan fitur yang digunakan oleh banyak aplikasi scanner, salah satu library yang banyak digunakan yaitu tesseract, mengingat membuat aplikasi OCR merupakan hal yang sangat sulit terutama bila digunakan dalam kondisi real dilapangan. Ada banyak noise seperti arah cahaya, deskewing, blur dan yang lainnya.
Tesseract
Ini bukan benda yang didalam komik marvel tapi sebuah library yang di develop oleh HP pada tahun 1996 dan sekarang sudah di maintance oleh google dan sudah banyak berkembang saat ini. Tesseract sendiri ditulis menggunakan bahasa C/C++; Rata-rata sih library jaman dulu seringnya ditulis menggunakan bahasa C/C++ seperti OpenCV. Tapi tidak usah kuatir, ada banyak developer yang baik hati membuat wrapper.
OCR di Java
Membuat OCR yang robust dalam segala medan seperti mampu mengenal jenis, ukuran/size font merupakan tantangan tersendiri. Tidak hanya mengandalkan iamge processing namun juga butuh ilmu statistik yang sangat baik. Untuk hal tersebut bila kalian sedang dalam mengerjakan project melibatkan OCR, saya sarankan kalian menggunakan http://tess4j.sourceforge.net/ A Java JNA wrapper for Tesseract OCR API.
OCR di Java langsung saja download projectnya https://sourceforge.net/projects/tess4j pihak developernya membuat project berbasis netbeans jadi bagi kalian yang suka menggunakan Netbeans langsung bisa mencobanya koq, lebih baiknya lagi adalah library tersebut juga dilengkapi dengan detect deskewing. Didalam project tersebut sudah dilengkapi dengan demonya
public class TesseractExample { public static void main(String[] args) { File imageFile = new File("D:/trial tesseract.bmp"); Tesseract instance = Tesseract.getInstance(); // JNA Interface Mapping // Tesseract1 instance = new Tesseract1(); // JNA Direct Mapping try { String result = instance.doOCR(imageFile); System.out.println(result); } catch (Exception e) { System.err.println(e.getMessage()); } } }
Demo berbasis GUI
Berikut aplikasi yang saya buat berbasis GUI OCR di Java agar bisa demo lebih bagus, saya coba dengan beberapa deskewing dan font yang berbeda
Hasilnya cukup baik sekali, jadi saya akan menggunakan library ini didalam project java OCR. Demikian pembahasan mengenai OCR di Java