Możesz przekonwertować tekst z obrazu na format edytowalny za pomocą optycznego rozpoznawania znaków (OCR). Obrazy takie jak JPG, PNG, TIFF, BMP, GIF itp. są używane wszędzie w Internecie i może być konieczne rozpoznawać tekst z obrazu online. Możesz łatwo użyć linku URL do tego obrazu, aby wykonać na nim OCR, zamiast zapisywać lub pobierać plik. Poniższe nagłówki omawiają dalsze szczegóły:
- Java OCR API – instalacja
- Rozpoznaj tekst, wykonując OCR na obrazie z adresu URL za pomocą Java
- Rozpoznaj tekst z przekrzywionego lub pochylonego obrazu za pomocą OCR przy użyciu języka Java
Java OCR API – instalacja
Aspose.OCR for Java API może służyć do wykonywania operacji optycznego rozpoznawania znaków na obrazach. Może rozpoznawać tekst i konwertować obraz na edytowalny tekst. Pobierz plik JAR API z sekcji Downloads lub określ następujące konfiguracje Mavena w pliku pom.xml swojego projektu:
Magazyn:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
Zależność:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-ocr</artifactId>
<version>20.5</version>
</dependency>
Rozpoznaj tekst, wykonując OCR na obrazie z adresu URL za pomocą Java
Możesz wykonać optyczne rozpoznawanie znaków na obrazie z adresu URL, wykonując następujące czynności:
- Utwórz instancję API z klasą AsposeOCR.
- Określ identyfikator URI obrazu.
- Ustaw opcje rozpoznawania za pomocą klasy RecognitionSettings.
- Pobierz obiekt wynikowy.
- Wydrukuj wynik.
Poniższy kod wyjaśnia, jak rozpoznawać tekst przez programowe rozpoznawanie OCR na obrazie z adresu URL przy użyciu języka Java:
//Utwórz instancję interfejsu API
AsposeOCR api = new AsposeOCR();
// Określ identyfikator URI obrazu
String uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";
// Ustaw opcje rozpoznawania
RecognitionSettings settings = new RecognitionSettings();
settings.setAutoSkew(false);
ArrayList<Rectangle> rectangles = new ArrayList<Rectangle>();
rectangles.add(new Rectangle(90,186,775,95));
settings.setRecognitionAreas(rectangles);
// Pobierz obiekt wynikowy
RecognitionResult result = null;
try {
result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
e.printStackTrace();
}
// Wydrukuj wynik
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
System.out.println(text);
}
Rozpoznaj tekst z przekrzywionego lub pochylonego obrazu za pomocą OCR przy użyciu języka Java
Czasami obraz może być przechylony lub przekrzywiony z jakiegoś powodu. Na przykład obraz utworzony przez aparat lub skaner może być nieco przekrzywiony, wtedy można uzyskać kąt pochylenia obrazu wejściowego. Możesz poprawić dokładność rozpoznawania tekstu, znając i korygując kąt pochylenia. Musisz wykonać następujące kroki:
- Utwórz instancję API przy użyciu obiektu AsposeOCR.
- Ustaw opcje rozpoznawania.
- Oblicz i ustaw kąt skosu.
- Pobierz wynik za pomocą obiektu RecognitionResult i wydrukuj go.
Poniższy kod pokazuje, jak programowo rozpoznawać tekst z przekrzywionego obrazu za pomocą OCR w Javie:
//Utwórz instancję interfejsu API
AsposeOCR api = new AsposeOCR();
String uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";
BufferedImage image = null;
try{
java.net.URL url =new java.net.URL(uri);
// przeczytaj adres URL
image = ImageIO.read(url);
}catch(IOException e){
e.printStackTrace();
}
// ustaw opcje rozpoznawania
RecognitionSettings settings = new RecognitionSettings();
double angle = 0;
// Uzyskaj kąt skosu
try {
angle = api.CalcSkewImage(image);
System.out.println("Skew text is:" + angle + " degrees.");
} catch (IOException e1) {
e1.printStackTrace();
}
settings.setSkew(angle);
ArrayList<Rectangle> rectangles = new ArrayList<Rectangle>();
rectangles.add(new Rectangle(90,186,775,95));
settings.setRecognitionAreas(rectangles);
// pobierz obiekt wynikowy
RecognitionResult result = null;
try {
result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
e.printStackTrace();
}
// wydrukować wynik
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
System.out.println(text);
}
Uzyskaj bezpłatną licencję API
Możesz poprosić o Bezpłatną licencję tymczasową, aby w pełni wykorzystać możliwości interfejsu API.
Wniosek
Podsumowując, nauczyłeś się rozpoznawać tekst, wykonując operacje OCR na obrazie z dowolnego adresu URL. Ponadto zbadałeś, jak poprawić kąt pochylenia obrazu, aby poprawić dokładność i wydajność interfejsu API. Możesz zapoznać się z kilkoma innymi funkcjami interfejsu API, odwiedzając Dokumentację lub skontaktuj się z nami za pośrednictwem Bezpłatne forum pomocy technicznej w przypadku jakichkolwiek pytań.