ASPOSE.OCR 获取指定区域的文字内容

语言:java
版本:22.12.0
需要提取出某指定区域内的文字内容
例如:test.png (43.2 KB)
识别出红色框中的文本内容

@wsws2188

我们已在内部问题跟踪系统中打开以下新票证,并将根据 Free Support Policies 中提到的条款提供修复。

问题 ID:OCRJAVA-332

如果您需要优先支持,以及直接联系我们的付费支持管理团队,您可以获取 Paid Support Services

@wsws2188

要识别这条线,您需要指定特定的矩形
您可以自行设置矩形坐标或使用 DetectRectangles 方法

License.setLicense(LicFile);
String file = "D:\\test.png";

AsposeOCR api = new AsposeOCR();

RecognitionSettings set = new RecognitionSettings();        
OcrInput input  = new  OcrInput(InputType.SingleImage); 
input.add(file);
// get rectangles coordinates
RectangleOutput outPage = api.DetectRectangles(input, AreasType.WORDS, true).get(0);// it is one page

// recognize only rectangles you need
ArrayList<Rectangle> rectToRecognize = new ArrayList<>();
rectToRecognize.add(outPage.Rectangles.get(13));
rectToRecognize.add(outPage.Rectangles.get(14));
set.setRecognitionAreas(rectToRecognize);
RecognitionResult results = api.Recognize(input, set).get(0);// it is one page
System.out.println(results.recognitionText);

// set language Chinese
rectToRecognize.clear();
rectToRecognize.add(outPage.Rectangles.get(15));
set.setRecognitionAreas(rectToRecognize);
set.setLanguage(Language.Chi);
results = api.Recognize(input, set).get(0);// it is one page
System.out.println(results.recognitionText); 

这段代码的输出 Aspose.OCR for Java 22.12.0

发行说明

允许测试代码时程序报错,这个要怎么解决 111.jpg (368.8 KB)

@wsws2188

您的项目中似乎没有安装依赖项。请将其安装在您的项目中或在 pom.xml 中包含以下依赖项:

<dependency>
 <groupId>com.microsoft.onnxruntime</groupId>
 <artifactId>onnxruntime</artifactId>
 <version>1.10.0</version>
</dependency>