Obraz na tekst Java

Niezależnie od tego, czy chodzi o rozpoznawanie tekstu ze zeskanowanych dokumentów, czy wyodrębnianie danych z obrazów, możliwość konwertowania obrazów na tekst otwiera nowe możliwości. W tym poście na blogu nauczymy się konwertować obraz na tekst w języku Java, badając wykorzystanie optycznego rozpoznawania znaków (OCR) do rozpoznawania i wyodrębniania tekstu z obrazów.

Co to jest OCR?

Optyczne rozpoznawanie znaków (OCR) to technologia przekształcająca różne typy dokumentów, takie jak zeskanowane dokumenty papierowe, pliki PDF lub obrazy, w dane, które można edytować i przeszukiwać. W naszym przypadku skupimy się na wykorzystaniu OCR do rozpoznawania tekstu z obrazów w Javie.

Dlaczego konwersja obrazu na tekst?

Konwersja obrazów na tekst może usprawnić procesy wprowadzania danych, umożliwić wyszukiwanie tekstowe w obrazach i ułatwić integrację danych obrazów z różnymi aplikacjami. Niezależnie od tego, czy masz do czynienia ze zeskanowanymi dokumentami, zdjęciami czy zrzutami ekranu, możliwość odczytania tekstu z obrazów może zmienić zasady gry.

Konwertuj obraz na tekst za pomocą OCR w Javie

Aby przekonwertować obraz na tekst za pomocą OCR w Javie, wykonaj poniższe czynności:

  • Zainstaluj Conholdate.Total for Java w swoim systemie.
  • Utwórz instancję API OCR z klasą AsposeOCR.
  • Określ ustawienia za pomocą klasy RecognitionSettings.
  • Ustaw filtry przetwarzania za pomocą obiektu klasy PreprocessingFilter.
  • Przygotuj obraz z instancją klasy OcrInput.
  • Rozpoznawaj obrazy za pomocą metody Recognize.

Poniższy fragment kodu pokazuje, jak przekonwertować obraz na tekst w Javie:

// Utwórz instancję API OCR
com.aspose.ocr.AsposeOCR api = new com.aspose.ocr.AsposeOCR();

// Określ ustawienia rozpoznawania
com.aspose.ocr.RecognitionSettings settings = new com.aspose.ocr.RecognitionSettings();
settings.setDetectAreasMode(com.aspose.ocr.DetectAreasMode.PHOTO);
settings.setUpscaleSmallFont(true);

// Ustaw filtry przetwarzania
com.aspose.ocr.PreprocessingFilter filters = new com.aspose.ocr.PreprocessingFilter();
filters.add(com.aspose.ocr.PreprocessingFilter.AutoDenoising());

// Przygotuj obraz
com.aspose.ocr.OcrInput images = new com.aspose.ocr.OcrInput(com.aspose.ocr.InputType.SingleImage, filters);
images.add("source.png");

// Rozpoznawanie obrazów
ArrayList<com.aspose.ocr.RecognitionResult> results = api.Recognize(images, settings);
results.forEach((result) ->{
	System.out.println(result.recognitionText);
});

Konwertuj obraz na tekst, przetwarzając określony region za pomocą języka Java

W niektórych przypadkach konieczne jest rozpoznanie tekstu z określonego obszaru obrazu. W związku z tym można ustawić jedną lub wiele współrzędnych prostokątnych w celu rozpoznawania tekstu za pomocą OCR w Javie. Poniższe kroki opisują proces konwersji obrazu JPG lub PNG na tekst przy użyciu języka Java:

  • Skonfiguruj Conholdate.Total for Java po swojej stronie.
  • Przygotuj listę prostokątów zawierających teksty, korzystając z klasy ArrayList.
  • Przygotuj obraz wejściowy za pomocą klasy OcrInput.
  • Utwórz instancję API z klasą AsposeOCR.
  • Rozpoznaj tekst i uzyskaj wynik za pomocą klasy RecognitionResult.

Poniższy przykładowy kod wyjaśnia, jak przekonwertować obraz na tekst z rozpoznaniem określonych regionów przy użyciu języka Java:

// przygotuj prostokąty z tekstami
ArrayList rectArray = new ArrayList();
rectArray.add(new java.awt.Rectangle(138, 352, 2033, 537));
rectArray.add(new java.awt.Rectangle(147, 890, 2033, 1157));

// Skonfiguruj ustawienia rozpoznawania
com.aspose.ocr.RecognitionSettings recognitionSettings = new com.aspose.ocr.RecognitionSettings();
recognitionSettings.setRecognitionAreas(rectArray);

// Przygotuj obraz
com.aspose.ocr.OcrInput oi = new com.aspose.ocr.OcrInput(com.aspose.ocr.InputType.SingleImage);
oi.add("source.png");

// utwórz instancję API
com.aspose.ocr.AsposeOCR api = new com.aspose.ocr.AsposeOCR();

// Rozpoznawanie obrazów
ArrayList<com.aspose.ocr.RecognitionResult> results = api.Recognize(oi, recognitionSettings);
results.forEach((result) ->{
	System.out.println(result.recognitionText);
});

Bezpłatna licencja ewaluacyjna

Możesz otrzymać bezpłatną licencję tymczasową na konwersję obrazów na tekst za pomocą OCR przy użyciu języka Java bez żadnych ograniczeń dotyczących oceny.

Podsumowanie

W tym poście na blogu omawialiśmy konwersję obrazów na tekst w Javie za pomocą OCR. Możesz bezproblemowo zintegrować konwersję obrazu na tekst ze swoimi aplikacjami. Niezależnie od tego, czy pracujesz z obrazami w formacie JPG, PNG czy innymi, możliwość odczytania tekstu z obrazów otwiera świat możliwości przetwarzania i analizy danych. Jeżeli jednak chcesz dostosować kod do swoich wymagań lub omówić swoje pytania to śmiało pisz do nas na forum.

Zobacz też