JavaのOCR(光学文字認識)からサンプルコードまたはAPI名を探しています。これを使用して、画像ファイルから存在するすべてのテキストを抽出できます。以下のコードを使用しています。
public class OCRTest {
static String STR = "";
public static void main(String[] args) {
OCR l = new OCR(0.70f);
l.loadFontsDirectory(OCRTest.class, new File("fonts"));
l.loadFont(OCRTest.class, new File("fonts", "font_1"));
ImageBinaryGrey i = new ImageBinaryGrey(Capture.load(OCRTest.class, "full.png"));
STR = l.recognize(i, 1285, 654, 1343, 677, "font_1");
System.out.println(STR);
}
}
Tess4j または TesseractのJavaCPPプリセット を試すことができます。私は前者よりも簡単であるとして、後で好みます。 pomに依存関係を追加します `
<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>tesseract-platform</artifactId>
<version>3.04.01-1.3</version>
</dependency>
`コーディングが簡単
import org.bytedeco.javacpp.*;
import static org.bytedeco.javacpp.lept.*;
import static org.bytedeco.javacpp.tesseract.*;
public class BasicExample {
public static void main(String[] args) {
BytePointer outText;
TessBaseAPI api = new TessBaseAPI();
// Initialize tesseract-ocr with English, without specifying tessdata path
if (api.Init(null, "eng") != 0) {
System.err.println("Could not initialize tesseract.");
System.exit(1);
}
// Open input image with leptonica library
PIX image = pixRead(args.length > 0 ? args[0] : "/usr/src/tesseract/testing/phototest.tif");
api.SetImage(image);
// Get OCR result
outText = api.GetUTF8Text();
System.out.println("OCR output:\n" + outText.getString());
// Destroy used object and release memory
api.End();
outText.deallocate();
pixDestroy(image);
}
}
Tess4jは、特定のVC++再配布可能パッケージをインストールする必要があるため、少し複雑です。
Sourceforgeでjavaocrを試すことができます: http://javaocr.sourceforge.net/
Encogを使用するアプレットの素晴らしい例もあります: http://www.heatonresearch.com/articles/42/page1.html
そうは言っても、OCRには多くのパワーが必要です。したがって、使用頻度が高い場合は、Cで記述されたOCRライブラリを確認し、Javaと統合する必要があります。
OCRは難しいです。そのため、自分自身で冒険する前に、必ずニーズを満たしてください。
Tesseractとopencv(たとえば、統合のためのjavacvを使用)が一般的な選択肢です。 ABBYY FineReader Engine や ABBYY Cloud OCR SDK などの商用ソリューションもあります。
OCR用のオープンソースOCRエンジンは、Googleから入手できます。 CMDを使用して処理できます。 Webアプリケーションでは、Javaを使用してCMDを簡単に処理できます。
をご覧ください https://www.youtube.com/watch?v=Mjg4yyuqr5E CMDを使用してOCRを処理するための詳細な手順を取得します。