zjh
2025-06-10 246d78931aa779d0ea2ae6a262cd23494476e80b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
 
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
 
public class ImageTextExtractor {
 
    public static String extractTextFromImage(String imagePath) throws IOException {
        File imageFile = new File(imagePath);
        ITesseract instance = new Tesseract();  // JNA Interface Mapping
        try {
            instance.setDatapath("D:\\develop\\OCR\\tessdata"); // set tessdata path
            instance.setLanguage("chi_sim"); // set recognition language
//            instance.setLanguage("eng"); // set recognition language
            instance.setTessVariable("user_defined_dpi","300");
            BufferedImage image = ImageIO.read(imageFile);
            String result = instance.doOCR(image);
            return result;
        } catch (TesseractException e) {
            e.printStackTrace();
            return null;
        }
    }
 
    public static void main(String[] args) throws IOException {
        String imagePath = "C:\\Users\\w\\Pictures\\Camera Roll\\a.png";
        String extractedText = extractTextFromImage(imagePath);
        System.out.println(extractedText);
        System.out.println("============================================================");
//        String imagePath1 = "C:\\Users\\w\\Pictures\\Saved Pictures\\b.png";
//        String extractedText1 = extractTextFromImage(imagePath1);
//        System.out.println(extractedText1);
    }
}