Ob es darum geht, Text aus gescannten Dokumenten zu erkennen oder Daten aus Bildern zu extrahieren – die Fähigkeit, Bilder in Text umzuwandeln, hat neue Möglichkeiten eröffnet. In diesem Blogbeitrag lernen wir, wie man ein Bild in Java in Text umwandelt, und erkunden die Verwendung der optischen Zeichenerkennung (OCR) zum Erkennen und Extrahieren von Text aus Bildern.
Was ist OCR?
Optische Zeichenerkennung (OCR) ist eine Technologie, die verschiedene Dokumenttypen, wie gescannte Papierdokumente, PDFs oder Bilder, in bearbeitbare und durchsuchbare Daten umwandelt. In unserem Fall konzentrieren wir uns auf die Verwendung von OCR zur Erkennung von Text aus Bildern in Java.
Warum Bild zu Text-Konvertierung?
Durch die Konvertierung von Bildern in Text können Dateneingabeprozesse optimiert, textbasierte Suchvorgänge in Bildern ermöglicht und die Integration von Bilddaten in verschiedene Anwendungen erleichtert werden. Egal, ob Sie mit gescannten Dokumenten, Fotos oder Screenshots arbeiten, die Möglichkeit, Text aus Bildern zu lesen, kann bahnbrechend sein.
Konvertieren Sie Bilder mit OCR in Java in Text
Um ein Bild mit OCR in Java in Text umzuwandeln, müssen Sie die folgenden Schritte ausführen:
- Installieren Sie Conholdate.Total für Java auf Ihrem System.
- Erstellen Sie eine Instanz der OCR-API mit der Klasse AsposeOCR.
- Geben Sie die Einstellungen mit der Klasse RecognitionSettings an.
- Legen Sie Verarbeitungsfilter mithilfe des Klassenobjekts „PreprocessingFilter“ fest.
- Bereiten Sie das Bild mit der Instanz der Klasse OcrInput vor.
- Erkennen Sie Bilder mit der Recognize-Methode.
Der folgende Codeausschnitt zeigt, wie man in Java ein Bild in Text umwandelt:
// Instanz der OCR-API erstellen
com.aspose.ocr.AsposeOCR api = new com.aspose.ocr.AsposeOCR();
// Festlegen der Erkennungseinstellungen
com.aspose.ocr.RecognitionSettings settings = new com.aspose.ocr.RecognitionSettings();
settings.setDetectAreasMode(com.aspose.ocr.DetectAreasMode.PHOTO);
settings.setUpscaleSmallFont(true);
// Verarbeitungsfilter festlegen
com.aspose.ocr.PreprocessingFilter filters = new com.aspose.ocr.PreprocessingFilter();
filters.add(com.aspose.ocr.PreprocessingFilter.AutoDenoising());
// Bild vorbereiten
com.aspose.ocr.OcrInput images = new com.aspose.ocr.OcrInput(com.aspose.ocr.InputType.SingleImage, filters);
images.add("source.png");
// Bilder erkennen
ArrayList<com.aspose.ocr.RecognitionResult> results = api.Recognize(images, settings);
results.forEach((result) ->{
System.out.println(result.recognitionText);
});
Konvertieren Sie Bilder in Text, indem Sie bestimmte Bereiche mit Java verarbeiten
In bestimmten Fällen müssen Sie Text aus einem bestimmten Bereich des Bildes erkennen. Dementsprechend können Sie eine oder mehrere rechteckige Koordinaten festlegen, um Text mithilfe der OCR in Java zu erkennen. Die folgenden Schritte erläutern den Vorgang zum Konvertieren von JPG oder PNG bildern in Text mithilfe von Java:
- Richten Sie Conholdate.Total für Java auf Ihrer Seite ein.
- Bereiten Sie mit der Klasse ArrayList die Liste der Rechtecke mit Texten vor.
- Bereiten Sie das Eingabebild mit der Klasse OcrInput vor.
- Erstellen Sie eine API-Instanz mit der AsposeOCR Klasse.
- Erkennen Sie Text und erhalten Sie die Ausgabe mit der Klasse RecognitionResult.
Der folgende Beispielcode erklärt, wie man mit Java ein Bild in Text umwandelt und dabei bestimmte Bereiche erkennt:
// Rechtecke mit Texten vorbereiten
ArrayList rectArray = new ArrayList();
rectArray.add(new java.awt.Rectangle(138, 352, 2033, 537));
rectArray.add(new java.awt.Rectangle(147, 890, 2033, 1157));
// Einstellungen für die Erkennung festlegen
com.aspose.ocr.RecognitionSettings recognitionSettings = new com.aspose.ocr.RecognitionSettings();
recognitionSettings.setRecognitionAreas(rectArray);
// Bild vorbereiten
com.aspose.ocr.OcrInput oi = new com.aspose.ocr.OcrInput(com.aspose.ocr.InputType.SingleImage);
oi.add("source.png");
// API-Instanz erstellen
com.aspose.ocr.AsposeOCR api = new com.aspose.ocr.AsposeOCR();
// Bilder erkennen
ArrayList<com.aspose.ocr.RecognitionResult> results = api.Recognize(oi, recognitionSettings);
results.forEach((result) ->{
System.out.println(result.recognitionText);
});
Kostenlose Evaluierungslizenz
Sie können eine kostenlose temporäre Lizenz erhalten, um Bilder mit OCR unter Verwendung von Java in Text umzuwandeln, ohne dass es zu Evaluierungsbeschränkungen kommt.
Einpacken
In diesem Blogbeitrag haben wir die Konvertierung von Bildern in Text in Java mithilfe von OCR untersucht. Sie können die Bild zu Text-Konvertierung nahtlos in Ihre Anwendungen integrieren. Egal, ob Sie mit JPG, PNG oder anderen Bildformaten arbeiten, die Fähigkeit, Text aus Bildern zu lesen, eröffnet eine Welt voller Möglichkeiten für die Datenverarbeitung und -analyse. Wenn Sie den Code jedoch an Ihre Anforderungen anpassen oder Ihre Fragen diskutieren möchten, können Sie uns gerne im Forum schreiben.