您可以使用光学字符识别 (OCR) 将图像中的文本转换为可编辑的格式。 JPG、PNG、TIFF、BMP、GIF 等图像在互联网上随处可见,您可能需要从在线图像中识别文本。您可以轻松地使用指向该图像的 URL 链接对其执行 OCR,而不是保存或下载文件。以下标题进一步讨论了细节:
Java OCR API – 安装
Aspose.OCR for Java API 可用于对图像进行光学字符识别操作。它可以识别文本并将图像转换为可编辑的文本。请从 Downloads 部分下载 API 的 JAR 文件或在项目的 pom.xml 文件中指定以下 Maven 配置:
存储库:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
依赖:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-ocr</artifactId>
<version>20.5</version>
</dependency>
通过使用 Java 对来自 URL 的图像执行 OCR 来识别文本
您可以通过以下步骤对来自 URL 的图像执行光学字符识别:
- 使用 AsposeOCR 类创建 API 实例。
- 指定图像 URI。
- 使用 RecognitionSettings 类设置识别选项。
- 获取结果对象。
- 打印结果。
以下代码说明了如何通过使用 Java 以编程方式对来自 URL 的图像执行 OCR 来识别文本:
//创建 api 实例
AsposeOCR api = new AsposeOCR();
// 指定图像 URI
String uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";
// 设置识别选项
RecognitionSettings settings = new RecognitionSettings();
settings.setAutoSkew(false);
ArrayList<Rectangle> rectangles = new ArrayList<Rectangle>();
rectangles.add(new Rectangle(90,186,775,95));
settings.setRecognitionAreas(rectangles);
// 获取结果对象
RecognitionResult result = null;
try {
result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
e.printStackTrace();
}
// 打印结果
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
System.out.println(text);
}
使用 Java 使用 OCR 从倾斜或倾斜图像中识别文本
有时,由于某种原因,图像可能会倾斜或歪斜。例如,由相机或扫描仪创建的图像可能有点倾斜,然后您可以获得输入图像的倾斜角度。您可以通过了解和纠正倾斜角度来提高文本识别的准确性。您需要执行以下步骤:
- 使用 AsposeOCR 对象创建 API 实例。
- 设置识别选项。
- 计算并设置倾斜角。
- 使用 RecognitionResult 对象获取结果并打印。
下面的代码显示了如何在 Java 中以编程方式使用 OCR 识别倾斜图像中的文本:
//创建 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);
// 阅读网址
image = ImageIO.read(url);
}catch(IOException e){
e.printStackTrace();
}
// 设置识别选项
RecognitionSettings settings = new RecognitionSettings();
double angle = 0;
// 获取倾斜角度
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);
// 获取结果对象
RecognitionResult result = null;
try {
result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
e.printStackTrace();
}
// 打印结果
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
System.out.println(text);
}
获取免费 API 许可证
您可以申请 免费临时许可证 以充分评估 API。
结论
总之,您已经学会了如何通过对来自任何 URL 地址的图像执行 OCR 操作来识别文本。此外,您还探索了如何校正图像的倾斜角度以提高 API 的准确性和效率。您可以通过访问 文档 查看 API 的其他几个功能,或者如果有任何疑问,请随时通过 免费支持论坛 与我们联系。