OCR in Java (Zeichenerkennung aus Bildern)

Dinge die zu tun sind

Holen Sie sich mit OSS tess4j Text aus einem Bild

Maven Kopieren Sie es aus mvnrepository und fügen Sie es in POM.xml ein

<dependency>
    <groupId>net.sourceforge.tess4j</groupId>
    <artifactId>tess4j</artifactId>
    <version>4.3.1</version>
</dependency>

tess4j-4.3.1.jar ist DL キャプチャ.PNG

Wenn Sie Maven nicht verwenden können, Von hier

Japanische Erkennungsdatei

Holen Sie sich die japanische Erkennungsdatei (jpn.traineddata) aus dem GitHub Repository.

Quelle

OcrTrial.java


import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;

public class OcrTrial {
	public static void main(String[] args) throws IOException, TesseractException {
		//Bild laden
		File file = new File("C:\\work\\INPUT.JPG");
		BufferedImage img = ImageIO.read(file);

		ITesseract tesseract = new Tesseract();
		tesseract.setDatapath("C:\\work"); //Sprachdatei (jpn.trainierte Daten)))
		tesseract.setLanguage("jpn"); //Geben Sie "Japanisch" als Analysesprache an

		//Analyse
		String str = tesseract.doOCR(img);

		//Ergebnis
		System.out.println(str);
	}
}

Bilddatei auf EINGABE gesetzt

INPUT.JPG

Ausgabeergebnis

キャプチャ.JPG

Zusammenfassung

Das ist der Fehler 〇 (Piktogramm) × (Pivot-Gramm)

Wenn das Bild eindeutig als Zeichen identifiziert werden kann, scheint die Erkennungsrate hoch zu sein.

nächstes Mal

Recommended Posts

OCR in Java (Zeichenerkennung aus Bildern)
Korrigieren Sie den Zeichencode in Java und lesen Sie von der URL
Errate den Zeichencode in Java
[Java] Entfernen Sie Leerzeichen in Zeichenfolgen
Lernen Sie Deep Learning von Grund auf in Java.
Rufen Sie Java-Methoden aus JavaScript auf, das in Java ausgeführt wird
Schlüssel vom Wert in Java Map umkehren
Abrufen des Verlaufs vom Zabbix-Server in Java
Rufen Sie die visuelle Erkennung im Watson Java SDK auf
GetInstance () aus einer @ Singleton-Klasse in Groovy aus Java
Partisierung in Java
Java-Methodenaufruf von RPG (Methodenaufruf in eigener Klasse)
Änderungen in Java 11
Janken in Java
So erhalten Sie eine Klasse von Element in Java
Textextraktion in Java aus PDF mit pdfbox-2.0.8
Erfassen und speichern Sie die Selen-Installation in Java
Holen Sie sich Unixtime (Sekunden) von ZonedDateTime in Scala / Java
[Deep Learning von Grund auf neu] in Java 3. Neuronales Netzwerk
Java-Zeichencode
Umfangsrate in Java
Generieren Sie OffsetDateTime aus Clock und LocalDateTime in Java
FizzBuzz in Java
[Java] KFunction von Method / Constructor in Java abrufen [Kotlin]
Versuchen Sie, synchronisierte Methoden aus mehreren Threads in Java aufzurufen
Löschen Sie alle aus dem Java SDK in Azure CosmosDB
[Java] So löschen Sie ein bestimmtes Zeichen aus einer Zeichenfolge
Subtrahieren Sie Enum-Konstanten von Zeichenfolgen und Werten in Java zurück
Ändern Sie die Speicherqualität von JPEG-Bildern in Java
Rufen Sie ein in Swift geschriebenes Programm von Processing (Java) auf.
Informationen zur Konvertierung von Zeichenfolgen in Java in voller Breite und halber Breite
Lesen Sie JSON in Java
Interpreter-Implementierung durch Java
Rufen Sie Java von JRuby aus auf
Janken App in Java
Einschränkungsprogrammierung in Java
Setzen Sie Java8 in Centos7
Änderungen von Java 8 zu Java 11
Summe von Java_1 bis 100
NVL-artiger Typ in Java
Verbinden Sie Arrays in Java
"Hallo Welt" in Java
Aufrufbare Schnittstelle in Java
Kommentare in der Java-Quelle
Eval Java-Quelle von Java
Azure funktioniert in Java
Formatieren Sie XML in Java
Einfache HTML-Spezialchars in Java
Boyer-Moore-Implementierung in Java
Hallo Welt in Java
Greifen Sie über Java auf API.AI zu
Verwenden Sie OpenCV mit Java
WebApi-Memorandum mit Java
Typbestimmung in Java
Befehle in Java ausführen (Ping)
Verschiedene Threads in Java
Von Java zu Ruby !!
Implementierung der Heap-Sortierung (in Java)
Zabbix API in Java