OCR di Java

By | January 2, 2022
1,009 Views

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());
        }
    }
}

 

See also  Decompose Citra dalam bit-planes

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