Skip to content

Java library for identifying Japanese characters from images

License

Notifications You must be signed in to change notification settings

sakarika/kanjitomo-ocr

Repository files navigation

kanjitomo-ocr

Introduction

KanjiTomo OCR is a Java library for identifying Japanese characters from images. The algorithm used in this library is custom made, originally used with KanjiTomo program: https://www.kanjitomo.net/ Description of the algorithm is here.

This library is intented to be used with interactive programs where user can point to individual words with a mouse. Batch-processing whole pages is not supported.

Installation

  • Include KanjiTomoOCR.jar to your project
  • Add "--illegal-access=deny" JVM parameter, this is not strictly required but prevents unnecessary warnings on startup
  • "-Xmx1200m" and "-server" JVM parameters are also recommended for performance reasons

Usage

  • Create KanjiTomo class instance
  • Load data structures with loadData method. This needs to be done only at startup.
  • Set the target image with setTargetImage method. This can be whole page or screenshot around target word. Screenshots around mouse cursor can be taken with Java's Robot class.
  • Start OCR with runOCR method. Point argument determines the first character to be scanned in target image's coordinates and should correspond to mouse cursor location.
  • Results are returned as OCRResults object. bestMatchingCharacters field contains a list of identified characters and words list contains results of a dictionary search from these characters.

Example

KanjiTomo tomo = new KanjiTomo();
tomo.loadData();
BufferedImage image = ImageIO.read(new File("file.png"));
tomo.setTargetImage(image);
OCRResults results = tomo.runOCR(new Point(80,40));
System.out.println(results);

License

KanjiTomo is free to use for non-commercial purposes. License file is here

Credits

KanjiTomo has been created by Sakari Kääriäinen. You can contact me at kanjitomo(at)gmail.com

Acknowledgements

EDICT, ENAMDICT and KANJIDIC dictionaries are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.
https://www.edrdg.org/jmdict/edict.html

imgscalr library by Riyad Kalla
https://github.com/rkalla/imgscalr

Unsharp Mask code by Romain Guy
http://www.java2s.com/Code/Java/Advanced-Graphics/UnsharpMaskDemo.htm

Kryo library by EsotericSoftware
https://github.com/EsotericSoftware/kryo

About

Java library for identifying Japanese characters from images

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages