实践一下使用aspose.ocr来识别发票

aspose.ocr
placeholder image
admin 发布于:2024-12-10 14:27:41
阅读:loading

OCR识别我一直认为是门好东西,最近几天aspose.ocr组件升级了24.11.1的版本,经过尝试发现这个版本较之于前面的版本对中文的支持不可谓不好,实属非常棒,所以在使用它编写了对车牌号的识别后,又趁热打铁来实践一下aspose.ocr的发票识别,识别的结果仍然是非常好。

本篇文章对于aspose.ocr图片识别发票的示例实践,笃定你对aspose.ocr已经有了一定的了解,或者也看到过本站此系列的其他相关文章,所以直接上示例素材、示例代码、示例结果,详细如下。

1.发票识别

image.png

(第1张)

image.png

(第2张)

image.png

(第3张)

fapiao.jpg

(第4张,有打码)

(1)总共找了4张发票素材,大概4种风格的,分别是停车场缴费发票、公交卡充值发票、出租车打车发票、网约车打车发票;

(2)上图中红色文本是扫描出的结果;

2.参考代码

public void test() throws Exception {
    System.out.println("License.isValid() = " + License.isValid());

    //Resources.FetchAll();
    final List<String> list = Resources.ListLocal();
    System.out.println("list = " + list);

    AsposeOCR ocr = new AsposeOCR();

    OcrInput input = new OcrInput(InputType.SingleImage);
    input.add(URLDecoder.decode(getClass().getResource("/invoice/invoice111.jpg").getPath() , StandardCharsets.UTF_8.name()));
    input.add(URLDecoder.decode(getClass().getResource("/invoice/invoice222.jpg").getPath() , StandardCharsets.UTF_8.name()));
    input.add(URLDecoder.decode(getClass().getResource("/invoice/invoice333.jpg").getPath() , StandardCharsets.UTF_8.name()));
    input.add(URLDecoder.decode(getClass().getResource("/invoice/invoice444.jpg").getPath() , StandardCharsets.UTF_8.name()));

    InvoiceRecognitionSettings settings = new InvoiceRecognitionSettings();
    settings.setLanguage(Language.Chinese);
    List<RecognitionResult> results = ocr.RecognizeInvoice(input, settings);
    System.out.println("results.size() = " + results.size());
    for (int i = 0; i < results.size(); i++) {
        System.out.println("第" + (i + 1) + "张图片,识别结果:" + results.get(i).recognitionText);
    }
}

3.控制台输出

控制台输出的内容较多,本次就不给出结果了,而且有个疑问,原本是4张发票素材图片,识别出的结果results集合对象共计8条数据。

4.素材下载

包含3个发票素材的图片《发票素材》附件,如果你也掌握了其它相关ocr识别的实现,不妨试下这些图片的识别结果。


 点赞


 发表评论

当前回复:作者

 评论列表


留言区